Version 73 (modified by 10 years ago) ( diff ) | ,
---|
Table of Contents
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 at OSD, it is never too early to get started.
Please visit our developer’s page! See the installation instructions -- navigate to the appropriate OS, and choose the option for setting up a developer’s environment.
A simple option that works on any OS is to use a virtual machine. This is what we'll recommend if you're installing during the event.
You can also check out our demo http://demo.eden.sahanafoundation.org/. Please register/log in to see all normal-user features.
WebEx Help
Remote help from the Sahana community TWO WebEx SESSIONS during OSD.
Two Sahana expert developers from Europe will be available either on Webex or the IRC channel (see next), at least until it gets too late there:
- Fran Boone (aka flavour)
- Dominic Konig (aka nursix)
Need Help?
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: Working with Common Alerting Protocol (CAP)
Links to the details
Doc 1 - CAP Intro:
https://docs.google.com/document/d/1kB2d64CP97bP9gfXfTI8l7hxDu2mid7yLJhDOD0JFck/edit?usp=sharing
Doc 2 - CAP in Sahana
https://docs.google.com/document/d/1kB2d64CP97bP9gfXfTI8l7hxDu2mid7yLJhDOD0JFck/edit?usp=sharing
Docs 3 & 4 - CAP Tasks
Doc 3 - Main Task - Message Chunking for Twitter & SMS - DESIGN/BLUEPRINT & Prototyping
https://docs.google.com/document/d/1dstPJSn6KJDJOAXm07Je0KuYcFyg8elL-4nsZb2jKBY/edit?usp=sharing
Doc 4 - Other CAP Tasks - UI Coding, Data Gathering towards a US CAP Profile
https://docs.google.com/document/d/1p3RIoq6h-UvhXCKOHSO9cKCTNCZrR5Bi9dwhMaa88Ks/edit?usp=sharing
GHC 2014 Project: Improvements to Eden Pivot-Tables and Charts and Migration to D3 UI
Skills Needed
This set of OSD tasks involve web development, to export charts and their data in popular download formats. For the client-side charts, familiarity with javascript and jQuery is important. Other helpful but not required areas are D3 / calls to JSON web services.
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
https://docs.google.com/document/d/1_yTlmn4eeMnLFZZ57R8jbejo3ISIcipBZgHZord_dQ4/edit
MORE PROJECTS
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
Budget
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.
MORE STUFF
Virtual Training
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.
Alternative Projects
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.