Version 54 (modified by Louiqa Raschid, 10 years ago) ( diff )


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.

You can install a virtual machine -- under construction.

You can also check out our demo

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

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


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): Note how these are added to the parent resource as a 'Component':

This model should be added to the SitRep class (I don't think we need a separate class here):

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: (Can add KV like Files)

Tabs: (Need to add an rheader like this to SitReps)

Ideally XSLT would be provided to import the Tags: [Example of a KV in an XSLT file] [File which needs modifying]

I have provided an initial UI for the aggregation: 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:


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

Can Login with either of these accounts:

Timeplot Blueprint is here:

Budget timeplot options are configured here:

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.


Join the WebEx session

We'll go over some basics by screen sharing. Join this session:

Attend our Virtual Training September 30

We are holding a virtual training for new Sahana Eden software developers on September 30 at 7:30 PM EDT. This is timed and designed for participants at the Open Source Day.

For those not able to attend this session, 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.


Note: See TracWiki for help on using the wiki.