Version 7 (modified by Michael Howden, 12 years ago) ( diff )


BluePrint: Public Portal

This BluePrint describes a project to used Sahana Eden as a platform for engaging member of the community, corporations and different organisations to collaborate together for disaster risk management. This will require customizing a number of workflows for Sahana Eden to be used for coordinating Volunteers, Projects and Requests. This will also require setting different permissions for different types of information and different users (based on what organisation they work for). This project would involved developing Sahana Eden to ensure that it could be easily configured during deployment to be used is this way.


Disaster risk management involves a large number of different organisations, from Government, UN, Military and NGOs. It is also important to engage members of the public. During a disaster members of the public need to be kept informed of key information, but also need to be told what they can do to help. "Spontaneous Volunteers" who come to help during an disaster present authorities with a unique challenge, as they need to be given direction to ensure that they don't become part of the problem.

Sahana Eden can provide a web based solution to these coordination problems.


This project would involve supporting a wide range of different workflows. The priority in this project should be to make use of existing Sahana Eden framework features, working to improve them and make them more flexible and useful. The development in this project should be done in a way so that it can be enabled/disabled through Deployment Settings

Public Portal Use Cases


  • When users register they should be able to select what organisation they belong. Then only someone with Admin rights for that organisation should be able to authorize that user
  • Users should also be able to register
  • Someone



  • Custom registration forms:
    • Public
    • Organisation
    • Companies
  • Setting authorizations & customizing workflows for:
    • Volunteer Registration
    • Organisation Registration
    • Member Registration (Application?)
    • Incident Reporting
    • Item, Task & Volunteer Requests
    • Task Assignment
    • Project
    • Social Media Integration
    • Sign Up for Alerts
    • Sign Up for Trainings
    • Register Donations ($$$ & Virtual)
  • Tracking of work
  • Verification of Data
  • Organisation Dashboards
  • Publish data


<Describe a possible design, repeat any design sections for alternative designs> <Include diagrams, screen mockups and wireframes where useful>


Much of this functionality is already available in Sahana Eden. This project needs to focus on ensuring that it is easily configurable, well tested and well documented.

  1. Identify Deployment Settings
  2. Develop Workflows
  3. Improve Usability of Workflows
  4. Develop Test Cases
  5. Document

The implementation involves taking advantage of the already built in web2py user roles and privileges. User groups can be created by the administrator at the time of the initial setup.

After that, once a user registers on a website he can be allocated a certain group on the basis of what he has requested, or a role that a member of higher role has assigned to him (assuming a total order exists between the roles, which is not a necessary assumption though) which will add an entry to the auth_membership.

After this, we can before any function have a wrapper to say that only people with roles 'A' and 'B' or with privileges 'X' or 'Y' can access the same function.

This works at granularity of two levels :

  1. Groups
  2. Privileges



Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.