wiki:Event/2011/GCI

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

--

Tasks for GCI

Table of Contents

  1. Code
    1. Fixing Bugs
      1. Hard
      2. Easy
    2. Merge Media Feed Project
    3. Enhancements
      1. Demo deployment settings.
      2. Add Social Media Share Buttons to Pages
      3. Projects/Basic#ScaleUploadedImages
      4. Build library(ies) to integrate Emergency Data Exchange Language …
      5. Add a "nice_name" for resources to the s3.crud_strings[tablename]
      6. Migrating data from models/zzz_1st_run.py to prepop
    4. 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. Prepare Inventory of Sahana Eden Videos
    2. Design New Trac Template
    3. Take Minutes during Sahana Community Call
    4. Videos
      1. What is Sahana Eden?
      2. How to start developing in Sahana Eden
      3. How to deploy Sahana Eden
    5. Give a presentation on Sahana Eden to a Group
    6. 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

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.

Merge Media Feed Project

Migrated (hard)

  1. Merge the Code from https://github.com/jscameron/Final-Project with Sahana Eden trunk (http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/files)
  2. Push to a branch on Launchpad
  3. Share with groups.google.com/group/sahana-eden list
  4. Action any requested changes to the code

Enhancements

Demo deployment settings.

We have an increasing demand for instances of Sahana Eden to be set up quickly to show case certain aspects of the software. These demo sites are basically out-of-the-box Sahana Eden with a set of deployment_settings (e.g. certain modules enabled and a specific main menu hierarchy), along with a fixed set of data to populate the demo so that all of the required features can be easily showcased.

Currently, there is a directory hierarchy private/prepopulate/demo which contains all of the prepopulate data and simple instructions on how to populate the database. What we want to add to this is a demo-specific 000_config.py file. This file will hold just the deployment_settings which are different to the one in templates (e.g. details of the modules that should be enabled, which includes their order on the main menu, and the prepopulate setting).

In 000_1st_run.py the template in the demo folder should be opened and the data merged into the 000_config.py file from deployment-templates.

One issue is that this code needs to know which prepopulate demo directory to look into to find the demo deployment settings, and these details are in the file we're looking for. So a new file will need to be created: models/0000_deploy.py, which will be excluded from bzr, and will set up the path to the demo deployment template. To help deployers, an example of what this file should look like should be added to 000_config.py. This could be as simple as just demo = "Requests" migrated

Add Social Media Share Buttons to Pages

Medium
Migrated
Add code which displays buttons to Share to Social Media (at least facebook & twitter) on every page.

  • This should be controllable from a deployment_setting
  • Please push the code to a branch on launchpad for review and submit a link to this branch

http://devgrow.com/loading-social-media-buttons-after-everything-else/

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

Prepare Inventory of Sahana Eden Videos

Prepare a wiki page Video with a summary of ALL Sahana Eden video. Search the following:

  • youtube & vimeo in Sahana Eden mailing list & wiki
  • sahana tags in YouTube and Vimeo

Design New Trac Template

For the Sahana Eden wiki based on: http://wiki.sahanafoundation.org/doku.php/foundation:branding Migrated

Issues that need resolving:

  • Code boxes overflow (e.g. wiki:UserGuidelinesGISData)
  • Some funny stuff happens when you change the width of the page:
    • The search box jumps above and below the dividing line
    • Some of the header menus overlap the icon
    • At a max width (>1500) the "Edit this Page", "Attach File"... jump up to the left of the page
  • The "last modified..." is overlap by the table of contents
  • Table of Contents should have a solid green background (like the outside of the page)
  • Add The Sahana Software Foundation logo and a link to www.sahanafoundation.org to the footer
  • Add links to the Sahana FB and twitter pages to the footer
  • Add link to the http://groups.google.com/group/sahana-eden Mailing list to the footer

Take Minutes during Sahana Community Call

You will need to attend the Sahana Community Call and take notes in the Google Doc. These calls will be on WebEx (teleconference software) and will take place on:

  • Sunday Dec 11th 1600 UTC
  • Tuesday Dec 13th 0300 UTC
  • Sunday Jan 8th 1600 UTC
  • Tuesday Jan 10th 0300 UTC

Migrated

Videos

Please follow the instructions on: http://eden.sahanafoundation.org/wiki/ScreencastHowto

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.

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.

There is a discussion in the IRC log that may be helpful if you want to do this task. See http://logs.sahanafoundation.org/sahana-eden/2012-01-15.txt starting at about 08:12:16. A few notes:

  • This requires installing your own copy of Sahana Eden, since the version running at demo.eden.sahanafoundation.org has security set to the lowest level. When you have Eden installed and have copied the configuration file deployment-templates/models/000_config.py to models/000_config.py, edit your copy of models/000_config.py. Search for and un-comment the line that says "deployment_settings.security.policy = 6". That will set the security level to a high level.
  • How security works is described here: http://eden.sahanafoundation.org/wiki/S3AAA
  • Create at least two users. The first user you register will be an "administrator". The second user will not have any special privileges. Some modules may have specialized roles so you may need extra users with those roles. Your administrator user can set roles for other users.
  • Appropriate modules to work on are those with multiple tables (and thus multiple forms) and where some data is restricted to particular "roles". Some suggested modules are: hms, hsm, org, asset, supply.
  • You'll need to both read the code, to see what roles have permission to do various operations, and try out the various form operations: reading, creating, and editing records.
  • We're mainly concerned with roles that are defined in Eden. (Each site that installs Eden can add their own roles, in addition to the roles defined in Eden.)
    • The major cases to look at are:
      • Non-logged-in users
      • Logged-in users without special privileges
      • Administrators
    • Some modules may have additional cases. For instance, hms has roles:
      • Hospital Admin
      • Hospital Staff
  • For each form in the module, find out what each type of user is allowed to do, i.e. can they...
    • Read a record
    • Create a record
    • Edit a record
    • Delete a record
    • For creating and editing, are there any fields that they can't touch?

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 (medium) 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. (Ignore the req.csv file.)

A good way to get descriptions of the columns in the csv files is to look at the forms for the same type of data online at:
http://demo.eden.sahanafoundation.org
Register for an account and log in. Then you can look at the forms to create these same types of data. Each form has help info for its fields -- look for the ? beside the field and hover the mouse there. Some fields have a list of allowed values in a pulldown menu. (One caution: the demo server is for people to try out, so people may add data that appears in some pulldown menus. Just because a menu has a list doesn't mean these are the only values you can use. If it looks like what's in a pulldown menu isn't a complete and standardized list of values, or if there's a way to add values, then you can choose your own values.)

For the organization sector and type, you can use the ones shown here:
http://demo.eden.sahanafoundation.org/eden/org/organisation/create
The sectors are official UN sectors, and are very broad. Firefighting and police would be listed as "Protection", and any medical agency as "Health", for instance. Some agencies may provide more than one type of service, e.g. the Red Cross might manage shelters and provide food and medical assistance. List the main purpose of the agency.

There is no official list of skills, since the names differ per agency. But you can select names of skills that are appropriate to disaster response, and the agency to which an invented person belongs. The skills for a person go in the Skills column in person.csv. If you give a person more than one skill, put quotes around the list of skills and separate them with commas -- the quotes will prevent the commas from being interpreted as separate columns. To have 80 skills for 40 people, assign approximately two per person.

Offices and Warehouses are both stored together in a table of offices -- the only difference is in the Type column. Warehouses have type Warehouse. To see the types for offices, go to
http://demo.eden.sahanafoundation.org/org/office/create
and to see that the form for warehouses is the same except for type, look at
http://demo.eden.sahanafoundation.org/eden/inv/warehouse/create

(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

STUDENTS: Please remember to update the table: Files in progress and completed as soon as you are assigned the task and when you have completed

Migrated
Each task consists of translating 1 or 2 (depending on the difficulty of the task) language file (a spreadsheet ~150 phrases), see the attachments at the bottom of this page, masterLanguageFile1.csv, masterLanguageFile2.csv and masterLanguageFile3.csv (and more). This file needs to be translated to the target language, with the translation in the target column.

Each phrase in the three "master" files is related to data displayed on screens on the default home page, the registration page, the login and out process, and the personnel profile. There are additional strings for more specialized pages, but we would like students to try the "master" sets first.

If there are phrases which you don't understand, for example incomplete sentences, please identify these separately from your translation when you submit your task. This may indicate poor internationalization of the phrases in the code which our team will need to improve. These strings can still count towards your total.

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 for the three "master" files. For the remaining files, please check the table below to see which files are already being translated, so we can avoid duplication. When you select files to work on, add them to this table (if you have a Trac account) or ask a mentor to do that, and also list the files in your Melange task.

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.

Do not use an automatic translation service.

Some phrases contain a special sequence as follows: %x or %(some_name)x where x is some single letter (most commonly an s). These are going to be replaced by data that is specific to the user or to what they're working on, e.g. %(name) might be replaced by the user's name. These sequences must be retained within the translated string exactly as written, but the order within the phrase may change, depending on the word order 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.

Please note that you should submit files encoded as UTF-8 & be sure that the CSV opens correctly in OpenOffice or LibreOffice. (Excel has had problems with loading and exporting these files correctly.) Windows users can use Notepad++ to check/convert encodings.

PLEASE STATE WHICH LANGUAGE YOU WISH TO TRANSLATE INTO WHEN YOU CLAIM THIS TASK.

When all three main files have been translated for the language of your choice, you can then select one of the many appendix files.

STUDENTS: Please remember to update the table: Files in progress and completed as soon as you are assigned the task and when you have completed

Files in progress and completed:

Language Who Files Link to Melange
Bulgarian guru kumar Incomplete http://www.google-melange.com/gci/task/view/google/gci2011/7121342
Bulgarian Mihail Yanev .rar archive 1,2 & 3 http://www.google-melange.com/gci/task/view/google/gci2011/7134499
Bulgarian Magyyy 1 http://www.google-melange.com/gci/task/view/google/gci2011/7242252
Bulgarian Desi MasterFileAppendium28 & 13 http://www.google-melange.com/gci/task/view/google/gci2011/7232300
Bulgarian Valery Poliakov MasterFileAppendium1 http://www.google-melange.com/gci/task/view/google/gci2011/7229257
Bulgarian Magyyy MasterFileAppendium1 http://www.google-melange.com/gci/task/view/google/gci2011/7242252
Bulgarian Magyyy MasterFileAppendium2 http://www.google-melange.com/gci/task/view/google/gci2011/7237310
Bulgarian Mihail Yanev MasterFileAppendium2 http://www.google-melange.com/gci/task/view/google/gci2011/7237301
Bulgarian Magyyy MasterFileAppendium4 http://www.google-melange.com/gci/task/view/google/gci2011/7238253
Bulgarian Mihail Yanev MasterFileAppendium 5 & 6 http://www.google-melange.com/gci/task/view/google/gci2011/7238252
Bulgarian Magyyy MasterFileAppendium7 http://www.google-melange.com/gci/task/view/google/gci2011/7237309
Bulgarian Desi MasterFileAppendium28 & MasterFileAppendium13 http://www.google-melange.com/gci/task/view/google/gci2011/7232300
Bulgarian Magyyy MasterFileAppendium9 http://www.google-melange.com/gci/task/view/google/gci2011/7237305
Bulgarian Magyyy MasterFileAppendium22 http://www.google-melange.com/gci/task/view/google/gci2011/7239249
Bulgarian Magyyy MasterFileAppendium23 http://www.google-melange.com/gci/task/view/google/gci2011/7237308
Bulgarian Magyyy MasterFileAppendium10 http://www.google-melange.com/gci/task/view/google/gci2011/7238254
Bulgarian Magyyy MasterFileAppendium17 & 20 http://www.google-melange.com/gci/task/view/google/gci2011/7229259
Bulgarian Plamen MasterFileAppendium24 http://google-melange.appspot.com/gci/task/view/google/gci2011/7247250
Bulgarian Plamen in progress MasterFileAppendium12 & MasterFileAppendium18 http://google-melange.appspot.com/gci/task/view/google/gci2011/7230268
Bulgarian Magyyy MasterFileAppendium8 & 25 http://www.google-melange.com/gci/task/view/google/gci2011/7242253
Bulgarian Magyyy MasterFileAppendium11 & 14 http://www.google-melange.com/gci/task/view/google/gci2011/7231248
Bulgarian Penchev MasterFileAppendium17 & 18 http://www.google-melange.com/gci/task/view/google/gci2011/7228298
Bulgarian Magyyy MasterFileAppendium19 & 21 http://www.google-melange.com/gci/task/view/google/gci2011/7232304
Bulgarian Penchev MasterFileAppendium15 & 16 http://google-melange.appspot.com/gci/task/view/google/gci2011/7231247
Bulgarian Alex MasterFileAppendium8 http://www.google-melange.com/gci/task/view/google/gci2011/7239248
French Deep_Sky28 masterLanguageFile1& 3 http://www.google-melange.com/gci/task/view/google/gci2011/7234260
French Deep_Sky28 In progress - masterLanguageFile2 & MasterFileAppendium1 http://www.google-melange.com/gci/task/view/google/gci2011/7235241
French laurion MasterFileAppendium2 & 3 -- completed http://www.google-melange.com/gci/task/view/google/gci2011/7235242
French laurion MasterFileAppendium4 & 9 -- completed http://www.google-melange.com/gci/task/view/google/gci2011/7234261
French laurion MasterFileAppendium6 & 7 -- completed https://www.google-melange.com/gci/task/view/google/gci2011/7244248
French laurion MasterFileAppendium8 & 10 -- completed http://www.google-melange.com/gci/task/view/google/gci2011/7232302
French adrian47 MasterFileAppendium27 & 28
French dragoshoxMasterFileAppendium15 & MasterFileAppendium16
French laurionMasterFileAppendium11 & 14 -- completed https://www.google-melange.com/gci/task/view/google/gci2011/7243249
French laurionMasterFileAppendium 22 & 23 -- completed https://www.google-melange.com/gci/task/view/google/gci2011/7245255
French laurionMasterFileAppendium 24 & 25 -- in progress http://www.google-melange.com/gci/task/view/google/gci2011/7246242
German Nostraa Completed - Master Languages files 1 & 2http://www.google-melange.com/gci/task/view/google/gci2011/7231249
German Nostraa Completed - Master Language 3 & Appendium 1 http://www.google-melange.com/gci/task/view/google/gci2011/7234259
Greek Giannis Konstantinidis Completed masterLanguageFile1.csv & masterLanguageFile2.csv http://www.google-melange.com/gci/task/view/google/gci2011/7239252
Greek Giannis Konstantinidis Completed masterLanguageFile3.csv & MasterFileAppendium1.csv http://www.google-melange.com/gci/task/view/google/gci2011/7230265
Greek Giannis Konstantinidis Completed MasterFileAppendium2.csv & MasterFileAppendium3.csv http://www.google-melange.com/gci/task/view/google/gci2011/7233294
Greek Giannis Konstantinidis Completed MasterFileAppendium4.csv & MasterFileAppendium5.csv http://www.google-melange.com/gci/task/view/google/gci2011/7233298
Hindi aki 1,2,3&MasterFileAppendium28WIP MasterFileAppendium27 &MasterFileAppendium26 http://www.google-melange.com/gci/task/view/google/gci2011/7239253 http://www.google-melange.com/gci/task/view/google/gci2011/7246243 http://www.google-melange.com/gci/task/view/google/gci2011/7232301
Hindi Snowy 2 & 3 & ? http://www.google-melange.com/gci/task/view/google/gci2011/7234263
Hindi Abhishek Hindi Translations all complete
Polish programer1234 1, 2, & 3 http://www.google-melange.com/gci/task/view/google/gci2011/7121342
Polish Eternity MasterFileAppendium1 http://www.google-melange.com/gci/task/view/google/gci2011/7228297
Polish Eternity MasterFileAppendium2 http://www.google-melange.com/gci/task/view/google/gci2011/7237307
Polish Eternity MasterFileAppendium3 http://www.google-melange.com/gci/task/view/google/gci2011/7237306
Polish Eternity MasterFileAppendium4 http://www.google-melange.com/gci/task/view/google/gci2011/7232303
Polish Eternity MasterFileAppendium5 http://www.google-melange.com/gci/task/view/google/gci2011/7232303
Polish Eternity masterLanguageFile2 http://www.google-melange.com/gci/task/view/google/gci2011/7228297
Polish programer1234 MasterAppendium23.csv http://www.google-melange.com/gci/task/view/google/gci2011/7230266
Punjabi Angad Incomplete - follow-up needed(?) http://www.google-melange.com/gci/task/view/google/gci2011/7134498
Punjabi Abhishek In progress
Romanian noob64887 MasterFileAppendium23 & MasterFileAppendium24http://www.google-melange.com/gci/task/view/google/gci2011/7233297
Romanian laurion MasterFileAppendium7.csv, MasterFileAppendium20 -- done
Romanian Tudorica Andrei 2 http://www.google-melange.com/gci/task/view/google/gci2011/7121342
Romanian Deep_Sky28 masterLanguageFile1 http://www.google-melange.com/gci/task/view/google/gci2011/7247256
Romanian Deep_Sky28 masterLanguageFile3 & MasterFileAppendium1 http://www.google-melange.com/gci/task/view/google/gci2011/7239251
Romanian Deep_Sky28 MasterFileAppendium2 & 3 http://www.google-melange.com/gci/task/view/google/gci2011/7247255
Romanian Deep_Sky28 MasterFileAppendium8 & 12 http://www.google-melange.com/gci/task/view/google/gci2011/7233296
Romanian Deep_Sky28 MasterFileAppendium17 & 18 http://www.google-melange.com/gci/task/view/google/gci2011/7242254
Romanian Deep_Sky28 MasterFileAppendium19 & 28 http://www.google-melange.com/gci/task/view/google/gci2011/7228302
Romanian Deep_Sky28 MasterFileAppendium25 & 26 http://www.google-melange.com/gci/task/view/google/gci2011/7240248
Romanian laurion MasterFileAppendium6 & 14 -- completed https://www.google-melange.com/gci/task/view/google/gci2011/7233299
Romanian AlexMetalhead MasterFileAppendium11 http://www.google-melange.com/gci/task/view/google/gci2011/7237303
Romanian AlexMetalhead MasterFileAppendium13 http://www.google-melange.com/gci/task/view/google/gci2011/7238249
Romanian laurion MasterFileAppendium19 & 21 http://www.google-melange.com/gci/task/view/google/gci2011/7235239
Romanian laurion MasterFileAppendium4 & MasterFileAppendium5 -- done http://www.google-melange.com/gci/task/view/google/gci2011/7239254
Romanian laurion MasterFileAppendium9 & MasterFileAppendium10 -- done http://www.google-melange.com/gci/task/view/google/gci2011/7228301
Romanian laurion MasterFileAppendium15 & MasterFileAppendium16 -- completed http://www.google-melange.com/gci/task/view/google/gci2011/7234262
Romanian nina MasterFileAppendium21 & 22 https://www.google-melange.com/gci/task/view/google/gci2011/7233299
Romanian Stirbu CiprianMasterFileAppendium21 & 22 - Completed http://www.google-melange.com/gci/task/view/google/gci2011/7228303
Romanian Stirbu CiprianMasterFileAppendium27 & 19 - Completed http://www.google-melange.com/gci/task/view/google/gci2011/7233300
Romanian Stirbu CiprianMasterFileAppendium23 & 24 http://www.google-melange.com/gci/task/view/google/gci2011/7230269
Romanian Stefana (REMOVED) MasterFileAppendium1 & 2 - In Progress http://www.google-melange.com/gci/task/view/google/gci2011/7237302
Romanian Diana (REMOVED) MasterFileAppendium23 & 24 - in progress http://www.google-melange.com/gci/task/view/google/gci2011/7233297
Russian Stefani StoyanovaMasterFileAppendium1 & MasterFileAppendium21 http://www.google-melange.com/gci/task/view/google/gci2011/7228299
Serbian guru kumar Incomplete - follow-up needed(?) http://www.google-melange.com/gci/task/view/google/gci2011/7121342
Slovak Marek Matejka 1, 2 & 3 http://www.google-melange.com/gci/task/view/google/gci2011/7134498
Tamil Sriram In progress http://www.google-melange.com/gci/task/view/google/gci2011/7247250
Turkish Mtmecax Incomplete - follow-up needed(?) http://www.google-melange.com/gci/task/view/google/gci2011/7121342

Note to mentors:

  • You can check the format of submitted csv files by importing them into OpenOffice or LibreOffice. Set the separator to comma and the quoting to double quotes.
  • Check that each line splits into two columns.
  • To check that the file is UTF-8 encoded, you can open it in to Notepad++ or gedit, or read it with Python codec. In a Python shell:
      import codecs
      f = codecs.open("submitted_file.csv", "r", "utf-8")
      i = f.read()
    
    That will throw an exception if the file is not UTF-8.
  • If there are rows without a translation, ask the student what the problem was with those rows.
  • 90% successful translations is acceptable.
  • Try to find someone who speaks the language to do a spot-check on quality.

Review code for quality of localized strings

Migrated
All strings which appear in the user interface, such as in menus and forms and help info, should be "internationalized" -- marked to make them available to be translated into different languages. This is done by putting the strings inside of T( ), e.g. T("This string will be written into language files to be translated"). The strings in T( ) are keys that are used to look up translated strings. By convention, the key strings are in US English.

For GCI, you will need to review all the internationalized strings in the model and controller files for a single module, eg:

  • controllers\gis.py, models\gis.py, and views/gis/*.html
  • controllers\hrm.py, models\hrm.py, and views/hrm/*.html
  • controllers\default.py and views/default/*.html

Check for:

  • Incomplete or cut-off sentences in the translation strings
  • Avoid concatenation of localized strings with variables - use %s or %(key)s instead. That is, instead of:
    T("My name is ") + name
    use this:
    T("My name is %s") % name
    And instead of:
    T("The item ") + item + T(" is not available in ") + location.name
    use this:
    T("The item %(item)s is not available in %(place)s.") % {"item": item, "place": location.name}
    This is better because the word order is not the same in all languages -- in the second form, the translator can move where the variables are inserted.
  • Look for fields without a label - e.g. Field("fieldname") as these cannot be localised.
  • Look at strings that have not been wrapped in T( ) to see if they ought to be. But be cautious: Not all strings need to be localized, and some definitely should not be:
    • Strings that are used as keys in dicts, e.g. {"this_is_a_key": 5}, should not be localized.
    • A string that is intended to be in one specific language should not be localized (e.g. the language names in the language menu in deployment-templates/models/000_config.py).
  • Consider improving consistency of wording / terminology - don't use different strings that mean the same thing, e.g. if there is T("My name is") in one place, avoid using T("I am called") somewhere else.

You will need to download a working branch of Sahana Eden code for this task and push the changes you make to your own branch on Launchpad.

Please focus on modules which are enabled by default.

Modules done:

Student Module Status
Konstantin Stoyanov errors Done
Abhishek vol, assessment , Survey Done
vlin inventory, req Done
Deep_Sky28 climate In Progress
Abhishek Gis , Pr Module Done
Abhishek Building Done

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.