Version 44 (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 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/
The IRC channel
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.
- To post a message, type in the text box, type Enter.
- To get someone's attention, type their nick anywhere in your message. (Use sparingly -- this will ring bells / flash lights on their machine.)
Feel free to introduce yourself to the community now before GHC Open Source Day begins.
Need Help?
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 [at] sahanafoundation [dot] org.
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
https://docs.google.com/document/d/1_yTlmn4eeMnLFZZ57R8jbejo3ISIcipBZgHZord_dQ4/edit
MORE PROJECTS
Budget
The ARC template has some prepop data to demonstate 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.
SituationReport 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
MORE STUFF
Join the WebEx session
We'll go over some basics by screen sharing. Join this session: https://tacops.webex.com/tacops/j.php?ED=247916387&UID=481898277&PW=NOTIzMzM3NTlj&RT=MiM3
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.