[[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/Timeline Timeline] == == [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/MatrixReport Matrix Report] == == [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] * integrated Legends in the West Panel (see !GeoExplorer or http://api.geoext.org/1.0/examples/legendpanel.html) * [wiki:BluePrintGISOSMLayers OpenStreetMap PoI Layers] * 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.cluetip.js with jquery.ui.tooltip.js (1.9 once released) == 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. * Could integrate other Chat tools * Simple option is to provide a preconfigured IRC client, but this may not be good for scalability * Scalable option would to provide an XMPP client (e.g. to [http://www.process-one.net/en/ejabberd/ ejabberd] server) * http://stackoverflow.com/questions/1081634/which-is-the-most-mature-python-xmpp-library-for-a-gchat-client * http://twistedmatrix.com/trac/wiki/TwistedWords * http://wokkel.ik.nu * https://github.com/Jajcus/pyxmpp2 * http://xmpppy.sourceforge.net (unmaintained) == 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 == Facebook Integration == * Pull a feed from Sahana to a Facebook book page * Add a "Like" button to Sahana Pages (+ social media toolbar) * Login with Facebook ID * http://web2py.com/book/default/chapter/08#Other-Login-Methods-and-Login-Forms == Flash Drive Version == Extend and configure the flash drive version to support: * Different sets of Prepop Data * Multiple user access configuration * Sync with online instance (auto-set up) == Misc. Projects == To be elaborated on later: * User Statistics == Prepopulate == * Migrate initialization data from zzz_1st_run.py to prepopulate ---- BluePrints