[[TOC]] = Advanced Coding Projects = ''Projects for more experienced coders.'' Some things to keep in mind when planning new modules or major features: * Consider what other FOSS tools exist, that could be installed alongside Eden. * Look at tools and libraries already in use in Eden, e.g. jQuery and ExtJS for UI work. Fuller list of Projects being scoped: BluePrints == [wiki:Projects/Advanced/MediaFeed Media Feed] == == [wiki:Projects/Advanced/Usability Usability] == == [wiki:Projects/Advanced/JobJar Job Jar] == == [wiki:Projects/Advanced/Optimisation Optimisation] == == [wiki:BluePrintWebSetup Web Setup] == == [wiki:Projects/Advanced/SaveSearch Subscription] == == [wiki:Projects/Advanced/Subscription SaveSearch] == == [wiki:Projects/Advanced/MigrateDRRProjectPortal Migrate DRR Project Portal] == == [wiki:BluePrint/Logistics Logistics] == == GIS/Mapping == These are a number of GIS/Mapping Tasks to be done: * complete [BluePrintMobileClient#Mapping support for Mobile devices] * complete move of Intertnal [wiki:BluePrintGISFeatureLayers Feature Layers to GeoJSON] * complete moving of JS code from being generated [http://eden.sahanafoundation.org/browser/modules/s3/s3gis.py#L1857 server-side] to [static http://eden.sahanafoundation.org/browser/static/scripts/S3/s3.gis.js] (for caching & easier maintenance) * integrated Legends in the West Panel (see !GeoExplorer or http://api.geoext.org/1.0/examples/legendpanel.html) * complete migration to !GeoExplorer * [wiki:BluePrintGISOSMLayers OpenStreetMap PoI Layers] * Color coded maps according to Geo-data (threats, needs, etc) * Placing variable sized markers on the map in proportion to data (number of people in camp, number of families needing food) * Tracking people ( John Smith was registered at Camp A, then collected food at Camp B, then volunteers at Site C), or Items (The shipment of Tarpaulins moved from site C to site D, where it was split, and then half of them have been distributed from site E) * Having a playable timeline slider (like [http://haiti.ushahidi.com/main]) * Photo Bulk Uploader * Add EXIF support to geolocate images * Provide opportunity to add Metadata for all files * Add support for GPX Track timestamp correlation * More: BluePrintGeographicInformationSystems === Wikipedia Locations === Allow Sahana to import Wikipedia locations easily: both Hierarchy & Lat/Lon info * Probably more about work in Wikipedia/Geohack to get these stored in a strctured way & an API to extract the data. * Similar need to: http://wiki.rhok.org/Population_Centers_in_Disaster == Fix Web2Py Cron on Win32 Service == Web2Py has a nice Cron utility, but this doesn't work currently on Win32 in Service mode: #438 == Framework == * Provide localisation of jquery.ui.datepicker * Means that user profile will need extending to support locales * Replace jquery.autocomplete.js with jquery.ui.autocomplete.js (1.8.2) * Replace jquery.cluetip.js with jquery.ui.tooltip.js (1.9 once released) * [wiki:BluePrintAuthorization#Functionrestriction Decorator to restrict access to a function based on multiple roles] * [wiki:BluePrintMany2Many Improve UI for Many<>Many] * e.g. Admin Users/Groups * e.g. GIS Layer Catalogue (esp !FeatureClasses/!FeatureGroups) * e.g. Messaging Users/Groups == Test Automation == * Write [DeveloperGuidelinesTesting#FunctionalTests Functional Tests] using Selenium * Figure out how to do unit tests against a web application. * Write unit and functional tests. == Tweet / SMS Parsing == Allow users to provide info via tweets or SMS messages * Parse formatted SMS messages or tweets (e.g. key value pairs). * Detect when message interpretation isn't certain and dispatch to a human reader (use existing "task" database, or Job Jar, below!). * Create database records from parsed messages. * BluePrintMessagingModule#Twitter * [wiki:NCSU#Projectsbeingworkedon NCSU Students] working on this * BluePrintMessagingModule#Micro-Syntax == Mobile Photo/Video Upload == * Design a widget (to be included in an Eden form) that can be used to select images or video, with any needed detection of the type of phone. == Run Eden on a smart phone == #Mobile * See BluePrintMobileClient. * Alternate Layout for web view: [wiki:BluePrintCSS#MobileView] * [wiki:NCSU#Projectsbeingworkedon NCSU Students] working on this * Android Application: MobileAndroid * [wiki:NCSU#Projectsbeingworkedon NCSU Students] working on this == Chat in Sahana == With other logged in users * Provide a chat board through which users can help each other or get help from the system administrator. * Perhaps have one chat for each organization or project. * Is there existing IRC or other chat software that could be incorporated? == Survey Application == The survey module was started during GSoC this summer. The author will be online on freenode #sahana-ghc under the nicknames '''''robbyoconnor''''' or '''''r0bby|android''''' during the Codeathon. * Change it so that it uses "components" to relate survey sections to the survey, and questions to the survey sections. * Please keep in mind that the survey tool should be able to support question data types (defined in the user guidelines) * Ideally, the look and feel of the surveys should be modeled after the Rapid Assessment Tool (rat) module. (See '''''models/rat.py''''' and '''''controllers/rat.py''''' to get an idea of what needs to happen.) * We are aiming to allow non-technical users to create surveys similar to what was done in the rat module. * Additional Resources: [UserGuidelinesSurveyTool User Guidelines] * If this project is undertaken, please update the wiki documentation to match. == OCR == Optical Character Recognition * Integrate an [wiki:BluePrintOCR OCR tool] developed for GSoC into Eden. == New Use Cases == Extensions to support: * Organizations such as [http://www.tenthousandvillages.com/ Ten Thousand Villages] assist craftspeople in disadvantaged countries organize to purchase supplies and market their crafts. What would such a crafts coop need to help run their business? What's missing from Eden to support this? * [http://www.maitri.org Maitri] provides support to victims of domestic violence. * They have a [http://www.maitri.org/res_usa.html page listing resources] but part of the page is organized topically and the rest by location. Consider how to store the resource data to allow displaying it either by topic or by location, and also make it searchable. * Look at the [http://www.maitri.org/secure/join.html volunteer page]. Compare with the existing (incomplete) volunteer module. What additional features might Maitri need to use the Eden volunteer module? == Image Library == * Provide a .represent for the view to display image thumbnail with option to zoom large (such as Fancyzoom) * Provide a beautiful image viewer to flip between images * http://blog.lieldulev.com/2010/05/21/parallel-image-preloading-in-js/ * Use Mapping API to display images on Map == Misc. Projects == To be elaborated on later: * User Statistics ---- BluePrints