|Version 56 (modified by 9 years ago) ( diff ),|
Table of Contents
- Ready, set, go!
- GHC 2014 Project: Common Alerting Protocol (CAP) DESIGN/BLUEPRINT
- GHC 2014 Project: Common Alerting Protocol (CAP) UI CODING
- GHC 2014 Project: Improvements to Eden Pivot-Tables and Charts and …
- MORE PROJECTS
- MORE STUFF
Grace Hopper Celebration Open Source Day 2014
The Grace Hopper Open Source Day is intended to introduce participants to rapid development of FOSS applications in a collective coding setting.
Ready, set, go!
Install the Eden development environment
Facilitators: We encourage you to install a developer's environment on your computer prior to the event. Participants: While we will be able to help you install the software on October 8 OSD, it is never too early to get started.
Please visit our developer’s page for instructions on how to set up a developer’s environment. Develop
If you want to skip installing all the tools separately here is a binary that will work on Windows machines. http://eden.sahanafoundation.org/Eden-Python-Installer-Dev.exe
You can install a virtual machine -- under construction.
You can also check out our demo http://demo.eden.sahanafoundation.org/
Feel free to introduce yourself to the community before GHC Open Source Day.
The Eden IRC channel is #sahana-eden on freenode. If you don't already have an IRC client, the easiest way to connect is to use freenode's web chat client.
You can also join the Eden group https://groups.google.com/forum/#!forum/sahana-eden
If you have questions about setting up a Sahana Eden developer's environment or about working with the Sahana Software Foundation at the Grace Hopper Open Source Day or anything else related to the event, please feel free to contact louiqa [at] umiacs [dot] umd [dot] edu
GHC 2014 Project: Common Alerting Protocol (CAP) DESIGN/BLUEPRINT
Link to the details
GHC 2014 Project: Common Alerting Protocol (CAP) UI CODING
GHC 2014 Project: Improvements to Eden Pivot-Tables and Charts and Migration to D3 UI
Some of the (harder) server-side tasks require skills with Python. Familiarity with Web2Py and database queries will help.
Link to all the gory details
SituationReport (SitRep) Aggregation
We currently have a very basic SitRep module in Eden where we can write a RichText report &/or add a file attachment. There are cases where the SitReps for different Districts should be aggregated at the next higher level (e.g. Province or Division).
For the Rich-Text, I see this as creating a section for each District with a Section Header added and all the Heading levels taken down a notch: H1s -> H2s, etc
SitReps can also include hard numbers though, like #affected, #dead, #wounded, #missing, #displaced, # staff, #volunteers, # vehicles, #shelters, etc then obviously these should be totalled in the aggregated report.
So, we need a way to store these in the SitRep: I would suggest a KeyValue system: doc_sitrep_tag.
This would be like the ones for gis_location (amongst others): https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L1254 Note how these are added to the parent resource as a 'Component': https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L386
This model should be added to the SitRep class (I don't think we need a separate class here): https://github.com/flavour/eden/blob/master/modules/s3db/doc.py#L664
For UI, this could be a Tab, as it is for gis_location, or could be an Inline form. I think the Inline form is better, generally better UX & works better for when the sitrep is itself on a tab (e.g. of the Event or Org) Inline form: https://github.com/flavour/eden/blob/master/modules/s3db/doc.py#L715 (Can add KV like Files)
Tabs: https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L5427 (Need to add an rheader like this to SitReps)
Ideally XSLT would be provided to import the Tags: https://github.com/flavour/eden/blob/master/static/formats/s3csv/event/event.xsl [Example of a KV in an XSLT file] https://github.com/flavour/eden/blob/master/static/formats/s3csv/doc/sitrep.xsl [File which needs modifying]
I have provided an initial UI for the aggregation: https://github.com/flavour/eden/blob/master/private/templates/ARC/config.py#L841 i.e. there is a hook for a new 'consolidate' method which is called with the selected sitreps. The consolidate method needs writing. It would look something like this: https://github.com/flavour/eden/blob/master/modules/s3db/hrm.py#L3995
The ARC template has some pre-pop data to demonstrate the little we have so far. There is a Demo server (which is out of date, although no work has been done on the ARC template since): http://arcdemo.aidiq.com/eden/budget/budget/1/timeplot?component=allocation
Can Login with either of these accounts: https://github.com/flavour/eden/blob/master/private/templates/ARC/Demo/users.csv
Timeplot Blueprint is here: http://eden.sahanafoundation.org/wiki/BluePrint/TimePlot
Budget timeplot options are configured here: https://github.com/flavour/eden/blob/master/modules/s3db/budget.py#L1316
Add a feature to show when the budget is likely to be exceeded. Show the impact of tweaking the resources especially retiring resources early. Feature to drill-down into this budget & edit options.
Please see our training page for links to all training materials.
Get an account on Github
If you're in a hurry to get on with things, you can leave this til later, when you're ready to upload something to Github.
Otherwise, please visit: DeveloperGuidelines/Git
Sign a Contributor License Agreement
The Sahana Software Foundation requires a contributor license agreement from anyone contributing code to the Sahana codebases. This is a simple agreement that ensures our enduring right to redistribute any code you may have written without restriction. You may download and return a form prior to the event or complete a paper copy at the Open Source Day. You may still participate with Sahana even if you do not wish to sign a CLA, but we will not be able to merge any code patches you submit for integration with our project.
Sahana Eden has tasks for persons with a range of skills. Those with some working knowledge of the Python programming language will be able to easily get started working on Sahana Eden to contribute to bug fixes or feature enhancement. Those with advanced Python skills can consider customization or developing new modules. Database design and SQL skills are also useful.
For those wishing to work on Sahana Eden independently of the facilitated task of working on the Transport Module, we maintain lists of tasks for new contributors to work on. These may be found on our Eden wiki on our main projects page at Projects. There are listed projects in several categories, including:
The non-coding and basic coding projects are usually most appropriate for tackling during events like codeathons.