Version 76 (modified by devin, 11 years ago) ( diff )


BluePrint: Occupy Sandy Phase 2 Development

Initially, the Sahana system was used by Occupy Sandy Comms and Dispatch folks at 520 Clinton and Jacobi to track requests coming from sites and fulfill those requests by sending items and people. Occupy Sandy has now transitioned (gracefully!) from those spaces to a network of coordinated spaces and projects.

The network needs help managing it’s data! This project’s intention is to help:

  • Assess the new set of needs faced by people providing Sandy Relief
  • Design and implement a system that meets people’s needs
  • Train folks to use the system and empower them to spread good systems to others

If you want to help smash bugs go here.

If you find this interesting, you might also like to read pages on Occupy Sandy and Super Storm Sandy.

Update 3

The third Sahana update focuses on improving general usability for managing inventory and assets.


  • The "Add New Item" from Stock Count page doesn't work
  • We can't save a "Receive Shipment" because it says "enter data and time"
  • Personal Data is "not redirecting properly"
  • Server times out - if more speed = more money we can pay
  • We want to delete "Child's Building" but can't. Only some users can see it. We do NOT want to delete "Childs Building".

Update 2

The second major update to the Sandy Relief System includes:

  • more user friendly top level navigation menus (see below)
  • updated project module fields (see below)
  • updated warehouse/facility integration.

This update is currently deployed at

Please play with this deployment and log bugs by sending them to and they will added below and/or into the bug tracker.

Use Cases

Respond and Rebuild

R+R provides muck-outs and mold remediation services to people in the Rockaways.

What they do:

  • assess houses to see what work they need done, organize volunteers to do that work, and follow up with residents to make sure everything
  • worked out okay.
  • manage resources for the OS community, including tools and vehicles.
  • purchase supplies for their own work and the work of others.
  • do canvassing

What they need:

  • assessments: track their assessments through various workflows
  • resources: log their resources and create ways for the community to access them.
  • requests: make and fulfill requests from the network
  • canvassing: manage canvassing information through various workflows

Mapping the Network

MtN collects information about the projects people in the OS network are engaging in and help connect projects doing similar work with each other.

What they do:

  • develop relationships at all the active OS sites
  • get information from active OS sites about what is taking place there
  • collect and organize information about the sites and discrete projects in the OS network
  • create beautiful, intuitive representations of this information

What they need:

  • a directory of people and locations active in OS
  • a way to record information about sites and the projects - site-specific and non-site-specific.
  • an organizational schema that enables them to match projects doing similar work or who could effectively share resource together.
  • different types of maps!

Childs Building (Warehouse)

The Childs Building is a warehouse in Coney Island being run by “Coney Rises” an Occupy Sandy affinity group similar to R+R composed of many folks from the 520 and Jacobi logistics operations.

What they do:

  • Receive shipments and distribute goods to the OS network
  • Manage OS network assets, such as vehicles and heavy equipment

What they need:

  • Inventory (warehouse) management
  • Asset managment

Occupy Sandy SI

OSSI has the largest and most organized hub in the OS network. They’ve begun a serious canvassing operation and want to organize their data.

What they do:

  • Manage a large tool library and inventory
  • Send out canvassers

What they need:

  • Manage inventory
  • Manage assets
  • Manage canvassing data and work assessments
  • Communicate with the network

General Usability Improvements

Status: Needs an Owner


Key Question: Stock Counts are the primary way people maintain an inventory in Sahana, but this is not always ideal. Would it be possible to give facilities the option to manage their stock on a rolling basis in which they can edit item quantities directly from their stock screens and a log is kept of all the changes?

Key Features

  • When sending a shipment, after it auto-corrects an item, the system used to show how many items the user still had in stock, but no longer does that. It would be nice for it to continue to do that.
  • Send Shipment > Add New Item, the pull down menu only shows the item name. It should show both the item name and the pack.
  • Give users the ability to edit stock from the Facility > Warehouse > Stock page, maybe they could toggle "Stock Adjustment On" to reveal editable table of items.
  • Change information displayed at Facility > Warehouse > Stock table to: Item - Category - Pack - Pack Quantity - Unit Quantity - <action> - Bin - Expiration - Owner - Supplier - Status - Updated. Ideally this could be displayed less like a table and more like this.
  • During Stock Counts, Sahana gives autocompleted recommendations when adding an item. Those recommendations only have the Item's Name. It would be better if they also had the item's Catalog. For example, "Water" would be displayed as "Water (Sandy)"
  • Include Pack unit information whenever packs are displayed. For example, "4 boxes" would display as "4 boxes (36 x piece)"
  • Give users the ability to delete items and item categories, but make it less likely they will accidently do so by creating a "Safety Button". To active delete functionality( reveal delete buttons), the user must click the "safety" button. The safety button would be off by default.
  • On the "Adjust Item Quantity" page, all the "reasons" for the adjustment are options for why there are less items, not why there are more. Please add the following reasons: "delivery", "found"

Reporting Features:

Additional Features

  • Add a search bar to the sidebar menu, maybe with a drop down to specify what types of items to search.
  • Color code permission features so you can see what options other people can't see
  • Give users the ability to see what permissions they have been granted - maybe in their user profile?
  • Floating sidebar menu?

Item Labels and Descriptive Fields

The following items have been defined in this spreadsheet:

  • Asset
  • Asset Log
  • Contacts

The first row defines the field labels. Green colored fields should be implements, yellow fields can be kept and red fields should be deleted or hidden from view.


View All

  • Hide “Department” and add “Groups”
  • Eliminate “Contract End Date”


  • Replace the word “Team” with “Group” throughout the system.
  • Enable us to click on a contact’s name in “Group View” > “View Member” and have that take us to that person’s contact profile.

Staff Member

  • “Teams” tab on member profile currently displays a table with “Person, Team Leader, Description” when it should display “Team Name, Team Leader?, Description” and allow the user to “Open” the team view.
  • Implement Staff profile changes as indicated in “Sahana for Sandy - Templates” spreadsheet


  • Drop/combine some of the tabs to reduce clutter, leaving the following tabs for organizations:
    • Basic Details
    • Contacts
    • Facilities
    • Projects
    • Assets


  • Output an RSS feed for post series that has title, content, etc
  • Display post comments on post view page


Status: Active - Aaron needs assistance


The Occupy projects team is currently using a Google Form to capture information about projects, but it would be better to use Eden for this. This means providing a public view to project data, so that potential volunteers can learn about project activities and get in touch with coordinators. Eden should also capture some additional information about projects and enable project leaders to register certain needs (like volunteers or technical help) to the people responsible for those things.


A project team member would register for the Sahana site as a "Project User" role, which would allow them to register their project in the system. Once registered, Project Admin users can approve or reject them. Approved projects have their basic details publicly accessible via table and map views, but the rest of their information would only be accessible to project owners and project admins. An additional tab on project profiles only viewable to project owners and admins would be a threaded comments section where those two groups could publish notes and communicate with each other.

Project users have the ability to make requests for supplies, people (skils) and services from the network. Project Admins maintain a directory of "services" (new request type: services) that can be requested by projects. Services consist of a Title, Description and General Contact Email and can be associated with a Person Entity: individual, group/team, organization. When a project requests a service, the general contact is sent an email notification (via saved search and notification functionality). These requests would be viewable by filtering services for type: services.

New project data fields

This is how it seems the fields in the Google form map to existing database objects:

  • Project name: project name
  • Project blurb: short activity description
  • Project description: project description
  • Organization: lead implementor
  • Location: activity location
  • Services needed: tasks, assigned to service leads (tech, volunteers, grants, budget)
  • Private contact information: reference to project lead
  • Public contact info: who people should get in touch with if they're interested in helping (could just go in description)

These are fields that don't seem to have an analog in Eden's models and would be added:

  • Project (Activity?) category: new model with entries like distribution, food, etc.
    • An example of how to attach a category to project and/or activity objects can be seen here (activity type is inserted into the project_location form). The same could be done here using this link table.
  • Media link: url to Youtube site, etc.
    • Could just rename the "Attachments" tab for your site [but does this allow "attachment" of URLs?]
  • Project partners: individuals and org references
    • Use project_organisation table settings.project. multiple_organisations = True

Michael points out that many "missing" fields can be turned on via the deployment settings.

New views

Public All Projects View (Public): This is the main view for the public where they can see all "approved" projects via the following columns:

  • Project Name (link to project)
  • Activity Status
  • Description
  • Public Email
  • Categories

Admin All Projects View: view for admins should have the following columns:

  • Project Name (link to project)
  • Activity Status (Past, Present, Future)
  • Administrative Status (Pending, Accepted, Rejected) (implemented by just showing approved_by email address)
  • Project Categories
  • # of Pending Requests
  • Bottom-liner Contact
  • Support Contact

Project Map Stub View: for projects that are connected to location, add the following columns:

  • Project Name (links out to Project Page)
  • Project Blurb
  • Categories
  • Email Address
  • Location

Individual Project View: [possibly just the "/read" view for project with permissions tweaked?]

  • Basic Details (public) (bold = implemented)
    • Project Name
    • Project Blurb (max 100 characters)
    • Status (past, present, future)
    • Administrative Status (pending, accepted, rejected)
    • Project Description
    • Location (if any)
    • Categories
    • URLs (for Media Link, Fundraising Link, Website, Social Media)
    • Project Relationships (Associated entities)
    • How people can help.
    • General Contact
  • Comments (only view-able able to project admins and project owner)
    • Administrative Status (pending, approved, rejected)
    • Project Liaison
    • Last Check In (timestamp)
    • Threaded comments
  • Requests (viewable to everyone but public users)
  • Contacts (viewable to everyone but public users)
  • Attachments (viewable to everyone but public users)

Add Comments to Projects

Add threaded comments as a "comments" tab on project profiles only viewable to project owners and project admins.

Add "Services" Request Type

Services are defined as:

  • Title
  • Description
  • Contact: person entity associated with providing the service.

Services can be managed by users with the Project Admin user role - or better yet, entities can define the service they'd like to provide and then manage information about their services themselves.

Projects can request services. When they do so, the services contact receives an automated notification about the request via email (powered by the saved search & subscription functionality).

Give Projects Request Functionality

Give project owners the ability to request supplies, people and services by linking projects to requests. This can be done by creating a link table holding both project_id & req_id. It will require changing how the system makes facilities mandatory for project requests. Requests would then be added as a tab on project pages.

Status: Completed by aaronw; pull request sent

Implementing the following top level navigation menu structure would do wonders for usability:

Note: See TracWiki for help on using the wiki.