Vesuvius Project Ideas - Google Summer of Code 2013

Disaster-Specific Resource Pages

Mentor-Provided Section

Background, Spring, 2013

Original Introduction from the Ideas Page

Disaster-Specific Resource Pages

Platform Vesuvius
Mentors Ramindu Deshapriya, Glenn Pearson
Preferred communication IRC, G+, Email
Brief description/Usage scenario For an instance of Vesuvius that is deployed to support multiple disasters over time: Develop an infrastructure to allow instances of resource pages to be customizable for specific disasters, in association with multiple languages.
Skills needed PHP, MySQL
Blueprints GSoC 2013 - Disaster-Specific Resource Pages
Acceptance conditions
Other resources
Comments Louiqa: Perhaps combine with the previous one? Chamindra: Possibly also the ability to migrate selectable resource data (e.g. hospital locations, staff) between the different disasters

Other Comments

(more to come)

Student-Provided Section


Being a Disaster-Management System, it is important for the Sahana system to be user friendly . For this reason editors/administrators create pages which gives ideas about the various aspects of the Vesuvius project. This project aims at improving the `rez module` of Vesuvius which deals with these pages.The two basic categories of Pages that is involved in this project are as follows.

  • Resource Pages

These are help pages that assists a user in using the functionality provided by Vesuvius. For instance , there can be a Resource Page on How do I report a missing or found person? which gives a step by step account of how to file a report for a missing or found person. Similarly there can be another page describing how one can search for a missing person using Vesuvius’ Search A Person module.

  • System Pages

These are pages which have administrative use only and are generally hidden from general public view. They are pages which convey information about the system or can contain message to be displayed to user. For instance one page can be about ‘Password Reset’ which can contain message like “Your password has been successfully reset and the new password emailed to you.”

The Resource pages makes a lot more sense if they are associated with events. For instance, pages about Flood Recovery should be mapped with Flood events specifically, rather than shown with each and every event. Also there was absence of categorization of events (Floods,Quake). This was restricting the utilization of resource pages. Events belonging to same category will have common/similar resource pages. So rather than creating them afresh for each one of the event, it could be simply copied or shared between the events. But for this functionality the events must be linked together. So this project aims at creating an approach through which disaster specific pages can be created. That is, in this project we are aiming at designing a way by which resource pages can be mapped to disaster event.


The main stakeholders of this project are :

  • People with permission to Create/Modify Resource and System Page(Editors)

Editors can create new pages with focus on a single event itself, since each Page will be specific to a single event. They would also be able to edit pre-existing pages and using them to create another page. Thus increasing user ease.

  • End Users

Since the Event-based resource pages will only be loaded when the user is within that particular disaster event , the users would be presented specific and precise information only. Rather than showing all resource pages, it is always better to show only relevant pages.

Deliverables(Originally Proposed)

A new developed resource module which will have the following functionalities:

  • Event- Specific handling of Resource and System Pages.
  • Editable Resource and System Pages.
  • The module would be compatible with the existing translation module.
  • Child-Event pages can be inherited from that of Parent’s pages.

Codes and Merger Plans


Codes can be seen at: Github

Merger Plan

There were four major changes done to the original codebase during this project.

  • Changes made to rez module
  • Changes made to em module
  • Changes made to the database
  • Changes made to CSS and JS components

The exact changes made to the code and the database can be seen here: Changes

Description of the Project

General Perspective

The main requirement of this project was to be able to create disaster specific resource pages. The following steps were taken to achieve this.

  • Finding out similar events. This includes similarity based on Disaster Category (Flood,Tsunami) and similarity based on Parent-Child Hierarchical Relationship.
  • Concept of Templates was introduced for creating pages for events belonging to specific Disaster Category (Flood for instance).
  • Contents of pages belonging to other similar events can also be used for creating new pages for an event.
  • Creating Interface for Creating/Editing/Translating Resource pages , System Pages and Templates.

User Perspective

The end-user for this Project is an Editor. In the current system the Administrator is himself/herself the Editor. The following are the actions he/she can perform :

  • Assign Categories to an Event
  • Manage Templates
  • Manage Resource Pages
  • Manage System Pages
Developer Perspective

Future Work

Although this project is mostly complete and can be used now itself, few things can help in increasing user-ease.

  • Use of Multiple Templates for creating a Page

Currently only a Single Template can be used for creating a Page. It would be great if multiple templates can be used for creating a Page.

  • Exporting/Importing Templates

Templates created at one local Sahana instance can be used at other instances if this option is available.

  • Using Parent-Child Hierarchical relationship in creating Pages

Currently the module is only using Category based relationships for suggesting Templates. Categories of Child-Events can also be used when creating Pages for a Parent Event

  • Displaying Event-Specific and Disaster-Category-Specific Pages

Currently Pages belonging to Default Category and to that particular event is only shown. Some other way needs to be devised to show pages belonging to same category events also.

  • Displaying the name of Current event

Apart from the shortname mentioned in the URL, no other way is there to inform the user about the event in which he is. There needs to be a place where this information can be displayed. The above mentioned tasks will be carried out once the evaluations are over.

Documents and Other Resources

This wiki is being updated currently. Will be updated before Sep 25th

QR Code
QR Code agasti:vesuvius:gsoc2013:resourcepages (generated for current page)