Changes between Version 126 and Version 127 of Contribute/Code


Ignore:
Timestamp:
09/30/13 10:08:03 (8 years ago)
Author:
Michael Howden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Contribute/Code

    v126 v127  
    22= Contribute: Code  =
    33These tasks are suitable for coders of various levels. Sahana Eden using Python, !JavaScript and HTML.
    4 == Easy ==
     4
     5== Projects ==
     6If you want to get more involved with Sahana Eden, make a longer term commitment and make some really valuable contributions, have a look at a BluePrint or [wiki:Projects/Advanced Code Projects List] for some ideas of what you can work on. These would be suitable for GSoC projects.
     7
     8== Easy Tasks ==
    59''Tasks for beginning coders, or if new to Python or web services''
    610
     
    8993'''Reevaluate  : ''' If the XSL transformation is developed, then the mapping can be tested with the sample RM and SITREP files [[BR]]
    9094
    91 == Intermediate ==
     95== Intermediate  Tasks ==
    9296
    9397=== Feature Enhancements ===
     
    138142'''Reevaluate: ''' Use an API to add and strip the EDXL-DE to any EDXL data standard. Use the same set of XML files to run through this process [[BR]]
    139143
    140 == Advanced ==
    141 
    142 === Tasks ===
     144== Advanced Tasks ===
    143145These are smaller tasks that could be completed over a few days:
    144146* Better handling of image and file uploading and representations
     
    160162 * Implement an inline login form that appear inline the top right of the menu and doesn't require loading a new page (like for https://twitter.com) eg. http://mifsud.me/adding-dropdown-login-form-bootstraps-navbar/
    161163
    162 === Projects ===
    163 These are more extensive projects that would require a longer term commitment over several months. These would be suitable for GSoC projects.
    164 
    165 Also, have a look at a BluePrint or [wiki:Projects/Advanced Projects List] to see some more advanced code contributions which are needed.
    166 
    167 ==== Dashboards ====
    168 Mentors: Michael Howden, Fran Boon
    169 * Reusable Dashboard template
    170 * User Customizable
    171 * Dynamically load Dashboard components
    172 * See:
    173  * http://eden.sahanafoundation.org/wiki/BluePrint/UserInterface#ModuleIndexPages
    174  * http://eden.sahanafoundation.org/wiki/BluePrint/UserInterface/Dashboard
    175  * https://docs.google.com/document/d/1EKt6lSs1d2kuyCfCM8hQZdeL2zfCJ2JKvPU-dm81TUQ/edit?usp=sharing
    176  * https://github.com/flavour/eden/blob/master/modules/s3/s3profile.py (Current implementation used in DRMP template)
    177 
    178 ==== Sahana Sunflower ====
    179 Mentors: Michael Howden, Fran Boon
    180 
    181 Continue the work from the [wiki:Event/2012/Sahanathon Sahanathon] to use Sahana as a Community Management Tool to:
    182 * Track volunteers
    183 * Manage tasks (potentially including bugs/feature requests)
    184 * Record Sahana Projects & Deployments
    185 More details here:
    186 * BluePrint/Sunflower
    187 * http://eden.sahanafoundation.org/wiki/Event/2012/Sahanathon This would involve:
    188 * Writing up Deployment Page for Sahana Sunflower
    189  * Create http://eden.sahanafoundation.org/wiki/Deployments/Sunflower
    190   * eg. http://eden.sahanafoundation.org/wiki/Deployments/Sandy/Occupy
    191  * Using Sahana as a Project Management / Bug Ticketing tool
    192 * Manage Improvements to PM Tool / Sunflower
    193  * Get outstanding tasks from existing Sunflower site
    194  * Review Permissions
    195  * Settings to have new tasks automatically assigned to specific people (based on people for project / activity?)
    196  * Different types of tasks
    197  * Filter lists for different users
    198   * Users can only see
    199  * Make it simpler to log bugs
    200   * http://eden.sahanafoundation.org/ticket/1307
    201   * Less fields
    202   * No login required - but allow user to specify who’s login it in a field
    203   * Add a default link to log a bug in Sunflower - which copies the current URL to the “Source” field
    204   * Log a bug when an error is encountered
    205   * If not already logged for this bug
    206  * Ability to “vote” on tasks
    207 
    208 ==== Deployment Tools ====
    209 Mentors: Fran Boon, ...
    210 * Fabric scripts to be able to deploy Eden
    211 - can extend https://github.com/lifeeth/spawn-eden
    212 - select physical servers &/or Amazon EC2 account (walk-through creating keys/certs, region(s))
    213 - select server roles distribution
    214 - select Database (MySQL or PostgreSQL/PostGIS)
    215 - select Webserver (Apache/mod_WSGI or Cherokee/uWSGI)
    216 - select Template
    217 - install all necessary/chosen components on the selected servers
    218 - add optional co-apps, such as GeoServer &/or OptaPlanner
    219 - optionally run Load Tests & then cleanup
    220 * add simple UI (e.g. web2py or Tk app)
    221 - this could then develop into a WebSetup app
    222 
    223 ==== Out-Of-The-Box Sahana Deployment ====
    224 Mentors: Michael Howden, ...
    225 * Modules to Enable / Configure
    226  * Volunteer Management
    227  * Staff Management
    228  * Project Management
    229  * CMS (User Updates)
    230  * Request Management
    231 * Automate Test Scripts
    232 * UI
    233  * Re-design Homepage
    234  * Design Menu Hierarchy to match User Stories
    235  * Design Module Index Pages / Dashboards
    236  * Design/implement new theme (Using Bootstrap/JqueryUI?)
    237 
    238 ==== Mobile Interface ====
    239 Mentors: Michael Howden, Graeme Foster, Fran Boon
    240 * Implement a responsive HTML interface for mobile devices.
    241  * Style standard CRUD + Search + Report
    242  * Possible options include Bootstrap, jQuery Mobile & Sencha
    243 * Represent Menus in a meaningful way for Mobile Devices
    244 
    245 ==== Translation Support ====
    246 Mentors: Fran Boon
    247 * A translation module was developed for GSoC last year which is already in active use however it still suffers from many limitations:
    248  * BluePrint/Internationalisation#s3translate
    249 * Provide a set of admin scripts (perhaps run by git commit hook?) to update Pootle with any changed strings as a merge.
    250 
    251 ==== Workflow Support ====
    252 Mentors: Graeme Foster
    253 * UI design to indicate steps in a workflow
    254 * Functionality to split the completely of large forms up into smaller steps (possibly using JS?)
    255 * Workflow Engine (probably beyond the scope  of GSoC - actually I think this should be the primary scope of the project GF)
    256 
    257 ==== Search ====
    258 Mentors: Pat Tressel, Dominic König
    259 * Full Text Search
    260  * e.g. using Apache Lucene
    261  * Search uploaded documents (must follow authorization rules!)
    262 * Global Search
    263  * Over multiple resources (must follow authorization rules!)
    264  * Search box in the top right corner
    265 
    266 ==== Export Graphs ====
    267 Export Graphs as Images. Options:
    268 * using Flot: https://code.google.com/p/flot/issues/detail?id=142
    269 * parallel matplotlib method (extend modules/s3chart.py)
    270 * server-side webkit browser to take a screenshot (!ClimateDataPortal used this solution)
    271 
    272 ==== Optimization ====
    273 Mentors: Dominic König
    274 * Performance enhancements to handle 10,000's of records
    275  * Server-side clustering of map features with different report-style aggregate representations
    276  * Optimize Report generation (probably beyond GSoC)
    277   * Data Warehouse? (Flattened tables structure, NoSQL)
    278   * Stored Procedures?
    279 
    280 ==== Rostering ====
    281 Mentors: Dominic König
    282 * Staff/Volunteer Roster GUI
    283  * a prototype was done for GSoC 2012 which can be used as a point of reference - what was good about it? What was bad?
    284 * Development of/Integration with a wCSP engine for automatic rostering
    285 
    286 ==== Automatic Test Framework  ====
    287 Mentors: Michael Howden, Dominic König
    288 * Set up CI Server
    289 * Automatically create Dummy Data
    290 * Extend Role Tests
    291 * Run Selenium Tests & Smoke tests in multiple templates with multiple user accounts
    292 * Clearer Error Messages
    293 * Simplify Selenium Tests and make them easier to read and more robust.
    294 * Adapt tests to meet needs of evolving CI Server (SysAdmin/ContinuousIntegration)
    295 * Load Tests
    296 * Selenium Test show web2py error messages
    297 
    298 See: [wiki:QA QA]
    299 
    300 ==== Social Media ====
    301 Mentors: Fran Boon, Michael Howden, Connie White
    302 * See: BluePrint/SocialMedia#Projects
    303 
    304164----
    305165[wiki:Contribute]