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