Table of Contents
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:
- Resource Pages: https://code.launchpad.net/~mayankkrjain/vesuvius/vesuvius
- Kilauea Merge: https://code.launchpad.net/~kaushikaruk/vesuvius/vesuvius
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.
11. Removing the broken link in Web Services module
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.
15. Creating Pages related to Disasters.
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:
2. Modify LPF3 Theme - Change Person Locator logo to Vesuvius Logo
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.