wiki:Event/2011/GCI

Version 100 (modified by Pat Tressel, 13 years ago) ( diff )

--

Table of Contents

  1. Code
    1. Fixing Bugs
      1. Hard
      2. Easy
    2. Enhancements
      1. Projects/Basic#ScaleUploadedImages
      2. Build library(ies) to integrate Emergency Data Exchange Language …
      3. Add a "nice_name" for resources to the s3.crud_strings[tablename]
      4. Migrating data from models/zzz_1st_run.py to prepop
    3. Packaging
      1. Easy (Fran): [InstallationGuidelines/Windows/User Windows Installer …
      2. Easy (Fran): [InstallationGuidelines/Windows/Developer/Installer …
  2. Documentation
    1. Test Developers Installation Documentation for Windows
    2. Test Developers Installation Documentation for Mac
    3. Test Developers Installation Documentation for Linux
    4. Test Customization Documentation
    5. Test Building a New Module Documentation
    6. Add Screen Shots to Building a New Module Documentation
    7. Prepare data model relationship entity diagram for each module in …
  3. Outreach
    1. Design Trac template to align with: …
    2. Videos
      1. What is Sahana Eden?
      2. How to start developing in Sahana Eden
      3. How to deploy Sahana Eden
    3. Give a presentation on Sahana Eden to a Group
    4. Extend an IRC Bot to automatically greet new people who join the …
  4. Quality Assurance
    1. Report 2 Bugs in Sahana Eden
    2. Destructive testing of a Sahana Eden module
    3. Develop a test cases for a Sahana Eden module
    4. Test a Sahana Eden module for correct access authorization
    5. Create a Selenium IDE script for a Sahana Eden application
  5. Research
    1. Create A Disaster Scenario
    2. Map elements between EDXL-SITREP and EDXL-RM
    3. Write blueprint to add transliteration to text entry controls
    4. Provide UTF8 names for Locations exported from GADM in Vietnam
  6. Training
    1. Construct FAQ
    2. Produce Video screen casts from book chapters
  7. Translation
    1. Translating key phrases
    2. Review code for quality of localized strings
  8. User Interface & Usability
    1. Provide feedback on Workflows in Sahana Eden
    2. Design a better homepage for Sahana Eden (wireframes)
    3. Design a (better) GUI for the CAP broker
    4. Write a blueprint for a GUI (web) tool to build and test XSL files

Tasks for GCI

Mentors: Tasks should be migrated to "Tasks to Upload" sheet on the mentor roster & task list spreadsheet.

Info for mentors: http://code.google.com/p/google-code-in/wiki/GCIAdminMentorInformation

Code

Fixing Bugs

Migrated

Hard

http://eden.sahanafoundation.org/report/1 Pick a bug report from http://eden.sahanafoundation.org/report/1, try to reproduce the issue in a local instance, fix the problem and submit a patch to the ticket on Trac, then notify the Sahana-Eden mailing list about your patch for verification.

Easy

http://eden.sahanafoundation.org/report/18 Pick a bug report from http://eden.sahanafoundation.org/report/18, try to reproduce the issue in a local instance, fix the problem and submit a patch to the ticket on Trac, then notify the Sahana-Eden mailing list about your patch for verification.

Enhancements

Projects/Basic#ScaleUploadedImages

Fran. Medium
Migrated

Build library(ies) to integrate Emergency Data Exchange Language Distribution Element

Migrated
Difficulty : HARD proposed by: | Nuwan
Specific : | EDXL-DE is the final wrapper (envelope) of all | EDXL data package. We may be delivering a EDXL Resource Management (RM) information and Situational Reporting (SITREP) information to the managers of several emergency organizations. The DE will contain who, when, and where those RM and SITREP data parcels would be delivered. Every EDXL message (data package) must carry this information. Otherwise, it cannot use available distribution methods and would need to rely on its own protocol; that's not very user friendly.
Measurable: It is purely a coding task that involves playing with XML and developing a class, possibly within or using the ??? 3R ??? framework It is basically a set of procedures for packing and unpacking EDXL-DE wrapped data.
Attainable: run through the steps
Step 1 :: select one of the existing EDXL-based applications in Eden, I recommend the EDXL-RM
Step 2 :: discuss each of the attributes/elements; then determine how EDXL-DE would be added to EDXL-RM as a pop-up GUI.
Step 3 :: create some example XML files to get a feel for the inputs and outputs
Step 4 :: write code to add to take the inputs EDXL-RM and EDXL-DE to package the data for delivery
Step 5 :: test the code, fix bugs, and generalize the functions
Step 6 :: Apply to EDXL-HAVE and EDXL-SITREP to generalize the library
Relevant : Applies to Sahana Interoperability policy. Present developments to investigate are: HAVE, RM, and SITREP http://www.oasis-open.org/standards#edxl
Time-bound: If steps 1 - 4 are completed that can be a full accomplishment; additional work is a bonus
Evaluate : Produce XML files with the EDXL-DE element appended to the EDXL-RM, SITREP, or HAVE
Reevaluate: Use an API to add and strip the EDXL-DE to any EDXL data standard. Use the same set of XML files to run through this process

Add a "nice_name" for resources to the s3.crud_strings[tablename]

http://eden.sahanafoundation.org/ticket/1013 Migrated

Migrating data from models/zzz_1st_run.py to prepop

Not migrated

Packaging

Easy (Fran): Windows Installer for End-Users

Migrated
http://eden.sahanafoundation.org/ticket/1014

Easy (Fran): Windows Installer for Developers

Migrated
http://eden.sahanafoundation.org/ticket/1015

Documentation

Test Developers Installation Documentation for Windows

Follow the documentation on http://eden.sahanafoundation.org/wiki/InstallationGuidelines to install a developer's instance of Sahana Eden on your Windows OS. Once you have completed send an email to the groups.google.com/group/sahana-eden list stating:

  1. Summary of the exact steps you tool
  2. Screenshots of Sahana Eden installed on your OS
  3. How long it took you?
  4. What was the most difficult part?
  5. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  6. Any other questions you may have about Sahana Eden

Migrated

Test Developers Installation Documentation for Mac

Follow the documentation on http://eden.sahanafoundation.org/wiki/InstallationGuidelines to install a developer's instance of Sahana Eden on your Mac OS. Once you have completed send an email to the groups.google.com/group/sahana-eden list stating:

  1. Summary of the exact steps you tool
  2. Screenshots of Sahana Eden installed on your OS
  3. How long it took you?
  4. What was the most difficult part?
  5. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  6. Any other questions you may have about Sahana Eden

Migrated

Test Developers Installation Documentation for Linux

Follow the documentation on http://eden.sahanafoundation.org/wiki/InstallationGuidelines to install a developer's instance of Sahana Eden on your Linux OS. Once you have completed send an email to the groups.google.com/group/sahana-eden list stating:

  1. Summary of the exact steps you tool
  2. Screenshots of Sahana Eden installed on your OS
  3. How long it took you?
  4. What was the most difficult part?
  5. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  6. Any other questions you may have about Sahana Eden

Migrated

Test Customization Documentation

Follow the documentation on http://en.flossmanuals.net/sahana-eden/customisation/ to customize your local instance of Sahana Eden. Once you have completed send an email to the groups.google.com/group/sahana-eden list with:

  1. Screen Shots of your customized module
  2. How long it took you?
  3. What was the most difficult part?
  4. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  5. Any other questions you may have about Sahana Eden

Migrated

Test Building a New Module Documentation

Follow the documentation on http://en.flossmanuals.net/sahana-eden/building-a-new-application/ to customize your local instance of Sahana Eden. Once you have completed send an email to the groups.google.com/group/sahana-eden list with:

  1. Screen Shots of your new module
  2. How long it took you?
  3. What was the most difficult part?
  4. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  5. Any other questions you may have about Sahana Eden

Migrated

Add Screen Shots to Building a New Module Documentation

Follow the documentation on http://en.flossmanuals.net/sahana-eden/building-a-new-application/ to customize your local instance of Sahana Eden. Once you have completed send an email to the groups.google.com/group/sahana-eden list with:

  1. Screen Shots of your new module. You will need to take the relevant sections of these screen shots and add them into the Book as examples
  2. How long it took you?
  3. What was the most difficult part?
  4. 5 ways the documentation be improved - these need to be as specific as possible - does content need to be added? Clarified? Simplified? Is there a need for pictures (of what?)?. You will be encouraged to edit the documentation on the Wiki to make these improvements yourself.
  5. Any other questions you may have about Sahana Eden

Migrated

Prepare data model relationship entity diagram for each module in Sahana Eden

Can use MySQL workbench to reverse-engineer the Eden database into an ERR diagram, then tidy up to show the actually important information for developers (e.g. hide meta-fields, auth references and similar, annotate the foreign keys for links, move objects so they don't overlap too much), for an example see http://pub.nursix.org/eden/err_model.png. Migrated

Outreach

Design Trac template to align with: wiki.sahanafoundation.org/doku.php/foundation:branding

Not migrated

Videos

What is Sahana Eden?

Produce a screencast introduction / overview for Sahana Eden. The screen cast should be focused at potential Sahana Eden users and promote the value of using Sahana Eden. 5-10 min.
http://eden.sahanafoundation.org/wiki/ScreencastHowto Migrated

How to start developing in Sahana Eden

(Developer Focused - high level overview)

http://eden.sahanafoundation.org/ticket/1033 http://en.flossmanuals.net/sahana-eden/installation Migrated

How to deploy Sahana Eden

(Deployer Focused - high level overview) http://eden.sahanafoundation.org/ticket/1032 http://en.flossmanuals.net/sahana-eden/installing-a-developer-environment Migrated

Give a presentation on Sahana Eden to a Group

Hard. Give a presentation about Sahana Eden Open Source Disaster Management Software to a group of people.

  1. Prepare your presentation (notes/PowerPoint/demo) and share with the Sahana Eden MailingList
  2. Deliver your presentation. If possible record this on video.
  3. Report back to the Sahana Eden MailingList
    • Who attended?
    • What were the most interested in?
    • What questions did they ask?
    • How would you improve you presentation next time?

Migrated

Extend an IRC Bot to automatically greet new people who join the sahana-eden channel

Migrated
Note this is for the purpose of outreach, but is a coding task.
We don't want to miss new people who show up on our IRC channels! But sometimes we're just not watching the chat. So we want a bot that will:

  • Send a greeting to new nicks when they appear on a channel. For this, it will need to record which nicks it has already greeted.
  • Ping a specified set of nicks when a new nick appears. (These would be nicks of people who can help with questions, e.g. for a project channel like #sahana-eden, ping the Eden PMC.)
  • We suggest starting with Sean Palmer's IRC bot, phenny, or logger, loggy. Afterward, you can offer your code back to Sean Palmer.
  • As an added benefit, perhaps the same bot can log the channel (currently we use loggy for this).

Quality Assurance

Report 2 Bugs in Sahana Eden

Following http://eden.sahanafoundation.org/wiki/BugReportingGuidelines Migrated

Destructive testing of a Sahana Eden module

Test the forms and screens of a Sahana Eden module for appropriate/consistent response to user errors (e.g. invalid or malformed input, accidental navigation actions, invalid URL, etc...). Document all the steps that you've taken and report any bugs you've found in the process. Migrated

Develop a test cases for a Sahana Eden module

Write up the steps to perform the user tasks in the module, automate the tests using Selenium IDE, provide test data where useful. Migrated

Test a Sahana Eden module for correct access authorization

Find out and document the common business rules for access authorization to the module, test the module for the consistent implementation of these rules and document the results Migrated

Create a Selenium IDE script for a Sahana Eden application

Using Selenium IDE create test scripts for a module see: http://eden.sahanafoundation.org/ticket/1035 (hard) Migrated

Research

Create A Disaster Scenario

The task is to describe how your local emergency response organisations and citizens plan to act in a disaster, and to collect real or at least realistic data which can be used to demonstrate some of the capabilities of Sahana Eden, if it were being used by those agencies. The task requires research on disaster preparedness and response capabilities in your location.

There are two goals for this task: One is to prepare data that can be used to run a disaster simulation. But the other is for you to become familiar with the emergency response agencies and procedures in your area.

The first step is to identify the main organisations that provide emergency response in your area. For example, these might be:

  • Local government emergency management agency
  • Local office of the national government emergency management agency
  • Non-governmental agencies, such as the Red Cross / Red Crescent
  • Fire department
  • Citizen preparedness groups and citizen emergency response groups

Try to identify about four agencies. What does each agency do in an emergency? Do the agencies coordinate activities with each other? How do they communicate with the public? What should citizens be watching for, so they can be sure not to miss emergency messages?

Next choose a type of emergency to describe. Is there a type of emergency that is common in your area? or a type that people are concerned about? Look for information about what to expect in such an emergency -- what the agencies will do, and what citizens are supposed to do.

For a simulation using Eden, data is needed that represents the organisations, their offices, staff, equipment, and supplies. With this, participants can role-play activities performed during the emergency, such as assigning staff, requisitioning equipment, and distributing supplies. You will need to collect some real data, and invent other data as needed, and save them in a format that can be imported directly into Sahana Eden through the pre-populate functionality. This is done by creating a number of CVS files that conform carefully to the format described in each file. Template CSV files are attached to this page (see Attachments below).

The real data would include the names, locations, and contact information for the organisations. Invented data would be locations of offices and warehouses, names and skills of staff, and what equipment and supplies they have available.

Note: When adding invented personal information it is essential that the names and contact information do not match any real person. All email addresses can be from the example.com domain, thus the email address for an invented person named Joe Bloggs might be joe.bloggs1234@example.com, phone numbers should be in a legal format for the locale, but should not be real phone numbers.

Within Eden all email addresses must be unique. To avoid any clash with existing data or data generated by other participants, you can include your melange id immediately before the @, thus for an id of 2154, Joe Blogg's email would become joe.bloggs2154@example.com.

To complete the task you will need to meet the following minimum specifications:

Each scenario must contain a (short) description. This must be no more than about 1000 words (about 2 pages of text) describing the following:

  • The location (country, province, town,...) and setting (what is the area like? are there local geological or other features that contribute to disasters?).
  • The type of disaster the organistions are preparing for.
  • What does each organisation do in a disaster?
  • What are citizens expected to do?
  • Are there any known problems with existing disaster response capabilities?

If there are instructions online for what citizens should do to prepare for emergencies, or in the event of an emergency, include those.

Collect (or invent) these amounts of data for each type of resource:

Type of resource Number of entries File
Organisation 4 org/organisation.csv
Office 8 org/office.csv
Warehouse 4 org/office.csv
Staff 40 hrm/person.csv
Staff skills 80 hrm/person.csv
Assets 20 asset/asset.csv
Stock 80 inv/inv_item.csv

To enter the data in spreadsheets, download the attached archive file "research disaster scenario.zip". That has appropriate CSV files with appropriate columns for the data to collect. Package the filled CSV files in a zip file like the original download.

(Note to students: If you have Eden installed -- which is recommended -- you can try uploading your data through the "pre-populate" function. Ask on IRC about this. Note to mentors: The recommended means of testing the data for this task is to attempt to import the data in a pre-populate folder.)

Map elements between EDXL-SITREP and EDXL-RM

Migrated
Difficulty : Nuwan:EASY, Pat:HARD Proposed by: | Nuwan
Specific : There are several elements within the | EDXL-SITREP data standard that are identical to that of | EDXL-RM. The objective is to create a descriptive table of those elements that a programmer can use to develop a set of procedures to strip the RM data from SITREP to manage records in the relational database
Measurable : Requires diligently investigating each and every data element then comparing them with the two data standards SITREP and RM. Requires knowledge of data types and XML. If not, this exercise will help the student learn about XML and data standards
Attainable :
Step 1 :: Go through EDXL-RM and EDXL-SITREP documentations
Step 2 :: create example files to get an understanding of the data and structure
Step 3 :: develop the table with RM and SITREP elements with a description
Step 4 :: develop a simple XSL file to strip the RM data from SITREP
Relevant : Applies to Sahana interoperability policy. Given that Eden does support resource and incident management, it is important to derive the response resources and resource requirements from situational reports. This function would help automate some of those data extraction functions. That requires integrating the SITREP and RM components with underlying Eden schema
Time-bound : The exercise of understanding the data standards and mapping the elements should not take more than one week. developing a XSL to test the mapping may take another week, depending on the level of expertise with XML. (NB this is far too large a task for GCI. -- Pat)
Evaluate : The mapping table is the determining output. However, the example RM and SITREP files are also required.
Reevaluate : If the XSL transformation is developed, then the mapping can be tested with the sample RM and SITREP files

Write blueprint to add transliteration to text entry controls

Migrated
Difficulty : Nuwan: MEDIUM, Pat: HARD
Proposed by: | Nuwan
Specific : For local language text entry one can use a native language keyboard with native unicode character set or use transliteration to allow entering the native word phonetically. for example with | Google Transliteration Beta or other plug-in like [ http://www.ucsc.cmb.ac.lk/ltrl/services/feconverter/t1.html | USCS's Real-Time Unicode Converter]
Measurable : Users in Sri Lanka, for example, prefer Sinhala or Tamil languages. Making the option for them to turn on transliteration in Sahana to enter critical information in the local language is an important usability aspect.
Attainable :
Step 1 :: research the available Python/web2py transliteration engines
Step 2 :: trial/experiment with each one to determine the best
Step 3 :: develop a set of recommendations for embedding a generic transliteration engine in Eden
Step 4 :: discuss the recommendations with Sahana community
Step 5 :: document the specifications for developing the agreed on transliteration functionality
Relevant : In community-based disaster management literacy skills including English is poor. Important to develop flexible usable software for inclusiveness
Time-bound : No more than a few days to research the Internet. Another several days to discuss and finalize on the design specifications. Evaluate : The recommended design would be discussed by the community to evaluate its workability.
Reevaluate : Validate the final specifications document.

Provide UTF8 names for Locations exported from GADM in Vietnam

'Migrated
Mentor: Fran

  • Original Source for Boundaries: GADM
    • L1 names cleaned-up: VNM_L1.csv
    • L2, L3 & L4 names which need cleaning: VNM_adm4.7z (Focus on L2 1st, then L3, then finally L4 if you can)
  • Potential Source for UTF-8 Names: Wikipedia

Training

Construct FAQ

Not migrated

  • 2 x Construct FAQ (From personal experience, mailing list, IRC)

Produce Video screen casts from book chapters

'Migrated

Translation

Translating key phrases

'Migrated
Each task consists of a language file (a spreadsheet) of about 100 phrases, see the attachments at the bottom of this page, masterLanguageFile1.csv, masterLanguageFile2.csv and masterLanguageFile3.csv. This file needs to be translated to the target language, with the translation in the target column.

Each phrase is related to data displayed on screens on the default home page, the registration page the login and out process and the personnel profile.

Depending upon the target language some of these phrases have already been translated but you don't need to worry about what has and what has not been translated.

Do not use an automatic translation service, when these phrases are being translated the meaning also needs to be retained. If you are unsure of the meaning, contact a mentor via IRC for assistance, and continue with other phrases, until you get a reply.

Some phrases contain a special sequence as follows: %(some_name)s this sequence must be retained within the translated string. The sequence always starts with a %( combination and ends with a ) followed by a singe letter, normally a s. As already stated this sequence must be retained exactly as written but the order within the phrase may change, depending upon the sentence structure of the target language. Again, if you are unsure contact a mentor via IRC for assistance.

To complete a task you should make an effort to translate all phrases but occasionally it is not possible to translate some phrases. A task will be accepted so long as more than 90% have been translated and a reasonable explanation, of why the untranslated phrases were left, is provided. The final say on this is will be left up to the mentor.

Review code for quality of localized strings

'Migrated
Check for:

  • Avoid concatenation of localized strings - use %(variable_name)s instead
  • Avoid non keyboard characters (Excel doesn't handle these when it is used to manage translations)
  • The use of consistent language, eg. Don't use different strings that say/mean the same thing

You will be asked to review all the localised strings in model/controller (when you apply for this task ask on IRC what the actual code will be - this is to enable us to priotise the work done). You will then need to review the source code and identify any strings that have not been properly localised.

User Interface & Usability

Provide feedback on Workflows in Sahana Eden

Not migrated

Design a better homepage for Sahana Eden (wireframes)

Not migrated

Design a (better) GUI for the CAP broker

Migrated

Difficulty : Nuwan:MEDIUM, Pat:HARD Proposed by: | Nuwan

This is for Common Alerting Protocol (CAP) with capabilities for multi-language alerting and multi-media delivery. Use Agasti CAP Broker as a starting point. (This needs clarification. Eden does not have a CAP broker that I know of. And the current Agasti CAP support is in Krakatoa, not Mayon, so needs to be ported there too. So before there can be a GUI, there would need to be a port or implementation of a CAP broker, no? --Pat)

Specific : Build a | wireframe with functionality for the | Common Alerting Protocol messaging broker. It should follow a publisher subscriber model. Some specifications are in the | CAP Software Requirement Specifications
Measurable : CAP messaging broker is becoming a much sort after tool by many organizations. It is an ITU recommendation. Such tool can be easily adopted by governments and emergency coordination agencies for managing their alerting and situational awareness.
Attainable :
Step 1 :: Study the Sahana Agasti CAP Broker
Step 2 :: document the requirements
Step 3 :: develop the wireframe to provide the required functionality
Step 4 :: run the wireframe through a set of test scenarios, to be documented as stories
Relevant : Part of the Sahana interoperability policy.
Time-bound : Given that the Sahana Agasti CAP broker has much of the functionality it should not take too long to develop the wireframe.
Evaluate : Requirements will be discussed with the Sahana community and a prototype wireframe will be presented.
Reevaluate : Once the wireframe is built on the concluded requirements that will be put to test through the scenario based testing.

Write a blueprint for a GUI (web) tool to build and test XSL files

Migrated
Difficulty : Nuwan:MEDIUM, Pat:HARD
Proposed by: | Nuwan
Although this is classified as a documentation task, familiarity with coding, and especially with XSL transformations, will be helpful.

Specific : Given that Sahana is getting heavy on XML there should be a tool to develop text, html, etc. outputs based one's own XSL transformation file. The user should be presented with the option to select the XML file; i.e. tags and schema, then include/exclude those tags with inserts of fixed text. The user should be able to preview the output. The built XSL file can then be stored to be used for a particular function. In this case it would be producing CAP message based user specific outputs for email, web, rss, twitter, google, etc.
Measurable : This would allow super users to develop implementation specific CAP content delivery outputs.
Attainable :
Step 1 :: research existing available solutions to get a feel for the type of functionality needed
Step 2 :: document and discuss the set of requirements with Sahana community
Step 3 :: develop the wireframe and test it with test scenarios
Step 4 :: document the set of specifications
Relevant : The Irrigation department may want the CAP messages to be formed in one way in an email compared with that of the Health department. A rapid XSL development tool will put the burden of building and maintaining those finals in the hands of the users and implementers and not engineers.
Time-bound :
Evaluate : design requirements and settling on them.
Reevaluate : wireframe with the test scenarios

Attachments (35)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.