Sahana Vesuvius - Tasks for Google Code-in 2013

Communication guidelines

  • Students are encouraged to join and post questions to the Sahana Agasti mailing list . Please follow community etiquette when posting to the mailing list.
  • Mentors will be available on IRC channel #sahana-agasti. If your mentor/s are not available on IRC, please post any questions you have to the mailing list.

For most tasks, you'll need to carry out the following steps:

Vesuvius installation instructions

NOTE: Some tasks are related to specific branches of Vesuvius, and will mention if this is the case. To complete these tasks, you will have to check out one of the following branches:

The tasks are outlined on the basis of the category each task falls into.

Mentors

Mentor IRC Nickname
Ramindu Deshapriya rami/ramindu
Louiqa Raschid louiqa
Glenn Pearson glennp
Greg Miernicki triune
Dilantha Silva dilantha
Mayank Jain mayank
Akila Perera akila
Yasitha Pandithawatta yasitha

Category : Code

1. Creating/updating Help Page for Resource Page Module

Difficulty : Medium

Knowledge Required : HTML

Description : This task is related to the 'Resource Pages' branch of Vesuvius. The Help page associated with this module is still partially complete and needs an update.

2. Moving the 'Manage Templates' button to the Administrator - module options

Difficulty : Hard

Knowledge Required : PHP

Description : This task is related to the 'Resource Pages' branch of Vesuvius. When you log in as an administrator and go inside the Administrator module some options like Resource Pages , User Roles etc. are shown. We need to add one more option there Manage Templates. Currently this option is accessible by going inside the Resource Pages section. I feel this Template option should be outside.

3. Vesuvius diagnostic tool

Difficulty : Medium

Knowledge Required : PHP, HTML

Description : Check whether required external modules are installed (for eg. PHP CURL). This code can reside in the index.php file.

4. Email vertification for user registration

Difficulty : Medium

Knowledge Required : PHP, HTML

Description : Should be an optional feature that can be enabled. Users are required to enter a verification code sent via email to activated user accounts.

5. Site maintenance mode

Difficulty : Hard

Knowledge Required : PHP, Javascript, HTML

Description : Display a simple maintenance HTML page. Admin should be able to enable or disable this mode

6. Add context strings to Dynamic Portable App module UI Strings

Difficulty : Medium

Knowledge Required : PHP

Description : The Dynamic Portable App (dpa) module is new. It requires contexts and _t() functions to be added to UI strings so that the translation framework can identify them. It is also required to verify where each string is used in the Vesuvius UI before context is added.

Important Links:

7. Add context to UI strings in Vesuvius/Kilauea merge branch

Difficulty : Medium

Knowledge Required : PHP

Description : This task is related to the Vesuvius/Kilauea merge branch of Vesuvius. New modules were brought in as part of the Vesuvius/Kilauea merge. These modules require contexts and _t() functions to be added to UI strings so that the translation framework can identify them. It is also required to verify where each string is used in the Vesuvius UI before context is added.

Important Links:

8. Add writable check to folder where Translation Log is written

Difficulty : Medium

Knowledge Required : PHP

Description : index.php writes a translation log file to the /res folder. Write a check to see if this folder/file is writable and exit gracefully if it is not.

9. Correct the log message in HA module

Difficulty : Easy

Knowledge Required : PHP

Description : When you go to the Hospital Administration section you see a list of Hospitals. When you star editing a hospital you will be shown an option 'Remove this Hospital' which deletes the Hospital. But the log message corresponding to delete option appears twice. You need to remove the extra one.

10. Removing extra Close option in HA module

Difficulty : Easy

Knowledge Required : PHP

Description : When you go to the Hospital Administration section you see a list of Hospitals. When you star editing a hospital you will be shown options which cancels the edit and discards the changes made. But there are two such options. You need to remove the extra one.

Difficulty : Easy

Knowledge Required : PHP

Description : When you go to the Web Services' PLUS+ section you will see two links. One of these links does not exist now. Remove that link.

12. Displaying the name of event the user is in currently in Session information

Difficulty : Hard

Knowledge Required : PHP, MySQL

Description : When you log in as an administrator a session information is shown. In that table you also need to display the name of the event a user is currently in. You will need to extract the name of the event using it's short name.

Category : Documentation/Training

1. Vesuvius User Guide - Interactive Notification Wall

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : Go to http://vesuvius.rdeshapriya.com and login via username: gcistudent and password: Vesuvius2013. Go to the Search module via the menu. See how it functions and write up a User Guide for it.

2. Vesuvius User Guide - Report A Person

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : Go to http://vesuvius.rdeshapriya.com and login via username: gcistudent and password: Vesuvius2013.. Go to the Report A Person module via the menu. See how it functions and write up a User Guide for it.

3. Vesuvius User Guide - Event Management

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : Go to http://vesuvius.rdeshapriya.com and login via username: gcistudent and password: Vesuvius2013.. Go to the Event Manager module via the menu. See how it functions and write up a User Guide for it.

4. Vesuvius User Guide - Hospital Administration

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : Go to http://vesuvius.rdeshapriya.com and login via username: gcistudent and password: Vesuvius2013.. Go to the Hospital Administration module via the menu. See how it functions and write up a User Guide for it.

5. Vesuvius User Guide - Administration ACL

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : Go to http://vesuvius.rdeshapriya.com and login via username: gcistudent and password: Vesuvius2013.. Go to the Administration module via the menu. See how it functions and write up a User Guide for it.

6. Vesuvius User Guide - Resource Pages

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : This task is related to the Resource Pages branch of Vesuvius. Follow the Vesuvius Installation Instructions at the top of this page, but use the Resource Pages branch link provided. Go to the Resource Pages module via the menu. See how it functions and write up a User Guide for it.

7. Building up an Ontological List of Disaster Categories

Difficulty : Easy

Knowledge Required : Basic knowledge about disaster types.

Description : This task is related to the 'Resource Pages' branch of Vesuvius. Creating a list of Disaster Categories (Flood,Hurricane etc.) and grouping them together based on their origin and characteristics. For instance, Hurricane and Flood are related , Tsunami and Floods are related , Earthquake and Landslides are related etc.

8. Create a user guide for Portable App

Difficulty : Easy

Knowledge Required : No specific knowledge required.

Description : The Portable App is an instance of Vesuvius that can be cloned and quick-deployed on Windows systems. Go to http://vesuvius.ravihansa3000.com and login with the credentials username: gcistudent and password: Vesuvius2013. Download an instance of the Portable App via the Dynamic Portable App module. You will need to install the Portable App and create a user guide on how to deploy and use a Portable App.

9. Create a user guide for Dynamic Portable App Module

Difficulty : Medium

Knowledge Required : No specific knowledge required.

Description : The Portable App Module is a module in Vesuvius which can clone an instance of a particular deployment as a Portable App which can be deployed and used separately on Windows Systems. Go to http://vesuvius.ravihansa3000.com and login with the credentials username: gcistudent and password: Vesuvius2013. Then you will proceed to writing up a user guide on how to clone an instance of Vesuvius from the portable app module.

10. Create a user guide for Vesuvius/Kilauea merge branch modules

Difficulty : Medium

Knowledge Required : No specific knowledge required.

Description : This task is realated to the Vesuvius-Kilauea Merge branch. Follow the Vesuvius Installation Instructions at the top of this page. Go to the Clients module via the menu. See how it functions and write up a User Guide for it.

11. Create a developer guide on creating modules in Vesuvius - basic structure

Difficulty : Medium

Knowledge Required : PHP

Description : Create a developer guide on creating a module's skeleton structure for Vesuvius. This involves the creation of the conf.inc, main.inc files and their primary methods as well as addition to .htaccess.

12. Create a developer guide on creating modules in Vesuvius - XAJAX

Difficulty : Hard

Knowledge Required : PHP, JavaScript

Description : Create a developer guide on handling XAJAX for a module.

13. Installation guide PDF for Sahana Vesuvius

Difficulty : Medium

Knowledge Required : No specific knowledge required

Description : Create an installation guide for Sahana Vesuvius on the Windows, Linux and Mac OS platforms.

14. Creating/updating Help Page for HA module

Difficulty : Medium

Knowledge Required : HTML

Description : This task is related to the Hospital Administration branch of Vesuvius. You need to update this module's HTML based help page. You need an understanding of the working of this module for that.

Difficulty : Medium

Knowledge Required : HTML

Description : In this task you are required to create Prepare,Response and Recovery pages (HTML or Text) specific to each of the following disaster categories : Earth Quake,Flood,Hurricane,Tsunami,Radiation,Flu,Tornado,Wildfire,Landslide,Drought

Category : Outreach/Research

1. Annotate Face Images in Revised ImageStats

Multiple instances of this task will be available.

Difficulty : Easy

Knowledge Required : Minimal required skills.

Description : Using a specialized web tool (newly revised for this task), mark eye, nose, and mouth landmarks on a series of face photos. This is for face recognition research related to missing person finding [Vesuvius]. Please see the full description for more.

2. Create an infographic for Vesuvius Portable App module

Difficulty : Medium

Knowledge Required : Minimal design skills

Description : Using a tool of your choice, design an infographic outlining the process related to the Vesuvius Dynamic Portable App module. This needs to ouline the process from downloading a Portable App from a deployed instance of Vesuvius and installing it at different locations.

3. Create a presentation on Vesuvius People Locator

Difficulty : Medium

Knowledge Required : Skill in a slideshow software of your choice

Description : Using a slideshow tool of your choice (final format of the presentation needs to be in .odp, .ppt or .pptx), develop a presentation outlining the various case studies of Sahana Vesuvius's use as a People Locator.

4. Suggest a feature for the experimental Vesuvius Installer

Difficulty : Medium

Knowledge Required : PHP/MySQL/JavaScript

Description : An experimental installer for Vesuvius exists at the 'Installer' branch here. Suggest an enhancement for the installer under this branch at the Github issue tracker. Note: You will have to use git clone https://github.com/ramdesh/vesuvius.git -b installer to check out the branch.

Category : Quality Assurance

Notes on bug reporting tasks:

You can report bugs on the Vesuvius Bug Tracker. A bug could be identified as meeting one of the following scenarios:

  • 500 Internal Server Error
  • Missing link
  • Text/Images not being displayed
  • Vesuvius does not function as per intuited functionality. (doesn't work properly)

1. Report 2 bugs in Vesuvius

Difficulty : Easy

Knowledge Required : A basic idea of how Vesuvius works

Description : Report 2 previously-unreported bugs in Vesuvius related to one or more of the following modules:

  • Hospital Management
  • Search
  • Report a Person
  • People I'm Tracking
  • Arrivals
  • Administration
  • Event Manager
  • Dynamic Portable App

2. Report 2 bugs in Vesuvius - Kilauea Merge Branch

Difficulty : Easy

Knowledge Required : A basic idea of how Vesuvius works

Description : Report 2 previously-unreported bugs in the Kilauea Merge branch.

3. Report 2 bugs in Vesuvius - Resource Pages Branch

Difficulty : Easy

Knowledge Required : A basic idea of how Vesuvius works

Description : Report 2 previously-unreported bugs in the Resource Pages branch.

4. Fix a bug in Vesuvius

Difficulty : Medium

Knowledge Required : PHP/JavaScript/MySQL

Description : Fix a confirmed bug in Vesuvius reported at the Vesuvius bug tracker. Bug fixes must be provided as a Bazaar patch.

5. Fix a bug in Vesuvius - Kilauea Merge Branch

Difficulty : Medium

Knowledge Required : PHP/JavaScript/MySQL

Description : Fix a confirmed bug in Vesuvius reported at the Vesuvius bug tracker related to the Kilauea Merge branch. Bug fixes must be provided as a Bazaar patch.

6. Fix a bug in Vesuvius - Resource Pages Branch

Difficulty : Medium

Knowledge Required : PHP/JavaScript/MySQL

Description : Fix a confirmed bug in Vesuvius reported at the Vesuvius bug tracker related to the Resource Pages branch. Bug fixes must be provided as a Bazaar patch.

7. Report 2 bugs in the experimental Vesuvius Installer

Difficulty : Medium

Knowledge Required : None

Description : An experimental installer for Vesuvius exists at the 'Installer' branch here. Find and report two bugs for this branch at the Github issue tracker. Note: You will have to use git clone https://github.com/ramdesh/vesuvius.git -b installer to check out the branch.

8. Fix a bug in the experimental Vesuvius Installer

Difficulty : Medium

Knowledge Required : PHP/MySQL/JavaScript

Description : An experimental installer for Vesuvius exists at the 'Installer' branch here. Fix a bug tagged under this branch at the Github issue tracker. Note: You will have to use git clone https://github.com/ramdesh/vesuvius.git -b installer to check out the branch.

Category : User Interface

1. Change Sahana logo in Vesuvius

Difficulty : Easy

Required skills : HTML, CSS

Description : The current logo on Sahana Vesuvius needs to be changed to the official Sahana Logo:

The location of the logo that needs to be changed is highlighted here:

Difficulty : Medium

Required skills : HTML, CSS, Some PHP knowledge

Description : Change the logo on the top left corner (pl.png) to .

3. Modify LPF3 Theme - Change Heading text

Difficulty : Medium

Required skills : HTML, CSS, Some PHP knowledge

Description : Go to /www/theme/lpf3/header.php and change 'US National Library of Medicine' to 'Sahana Software Foundation'.

4. Modify LPF3 Theme - Change sub-heading text

Difficulty : Medium

Required skills : HTML, CSS, Some PHP knowledge

Description : Go to /www/theme/lpf3/header.php and change 'Lister Hill National Center for Biomedical Communications' to a link to http://sahanafoundation.org.

5. Modify LPF3 Theme - Change title text

Difficulty : Medium

Required skills : HTML, CSS, Some PHP knowledge

Description : Go to /www/theme/lpf3/info.php and change the title variable's value to 'Sahana Vesuvius'.

6. Modify LPF3 Theme - Change favicon

Difficulty : Medium

Required skills : HTML, CSS, Some PHP knowledge

Description : Change the Vesuvius favicon to an image of favicon size generated from . Use an online favicon generator to accomplish this.


QR Code
QR Code agasti:vesuvius:gci2013 (generated for current page)