| 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 | | |