wiki:BluePrint/OccupyProjects

Version 86 (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.

Bugs

  • "Add Organizaiton" doesn't work (no fields show up) for users of any type
  • 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".

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

Update 3

As the disaster relief effort matures, our needs for Sahana change.

Currently we need the system to:

  • help relief hubs manage inventory, make that inventory information accessible to case managers,
  • help Occupy Sandy promote and track projects
  • help LTROs make membership directories

This requires us to focus the next Sahana update on:

  • improving usability and information access for anonymous users
  • tweaking projects a bit more so it can be used by Occupy Sandy to promote and track projects that it funds
  • general usability improvements for managing inventory and assets for use by relief hubs
  • modifying the organization directory for use by the Sandy Long Term Recovery Organizations

It also requires the user/admins to reorganize data in the system to advance these use cases. To do this we must:

  • create an archive of the existing sandyrelief system so it can be reviewed by others
  • clear out existing "organizations" and replace them with LTRO membership, starting with the Staten Island LTRO member directory.
  • clear out existing users and start fresh with new user groups:
    • anonymous
    • project users (manage their own project pages)
    • organization users (manage their own organization pages) [low priority]
    • logistics users (manage their own facility, manage all requests)
    • project admins (manage all projects)
    • organization admins (manage all organizations) [low priority]
    • logistics admins (manage all facilities, manage all requests)
    • case managers (view logistics info and make requests)
  • write a new home/front page with content for:
    • anonymous
    • project users
    • organization users
    • logistics and case managers users

Anonymous Users

Anonymous users (and user that comes to the site without signing in) should be able to view the following sections of Sahana:

  • Home
  • Projects
  • Organizations
  • Locations

Anonymous home should have:

  • Log In
  • About this Portal (text box)
  • View Projects
  • View Locations
  • View Organizations

Anonymous Users creating projects:

  • Give Anonymous Users the ability to create projects Currently this would be possible right now if it weren't for "lead implementer" not allowing people to make a selection or "add an organization". If this is due to Anonymous users not having the ability to see organizations, then that will be fixed by giving them that ability.
  • Anonymous users project should go into a "private" status until they are accepted by the "project spokes council" in which case they'd be made public.

Projects

Projects: http://sandyrelief.sahanafoundation.org/eden/project/project Change headings to

  • Project Name
  • Project Blurb
  • Status (Past, Present, Future)
  • Lead Implementer
  • Total Funded
  • Website

Project Details: http://sandyrelief.sahanafoundation.org/eden/project/project/1/read

Under Basic Details

  • Drop "categories" from profile/display

Under Organizations

  • Add "Date Created" to display table
  • Add "Proposal" field where a link to the proposal or budget can be added.

Under Activities

  • new order: Project Title (not blurb and title), Activity Title (instead of name), Short Description (make field larger text box), Date
  • Can this generate a proper RSS feed?

Under Media NOTE: projects can use this tab to upload budgets and see their status.

  • Can this tab be viewed only by project admins?
  • Can we add "status" to Media and give project admin users the ability to: (1) add comments to the media, (2) change media status (pending, accepted, rejected, modified)

Under Staff

  • Change tab name from "Staff" to "Members"
  • Make this tab only view-able to Project Admins

NOTE: if we can't make Media and Staff tabs restricted while having the "Projects" section available, implement the changes anyway, but it's likely we won't use those tabs in the official "project process".

Eliminate the Volunteers tab

Inventory and Assets

Staten Island Use Case

Staten Island LTRO would like to give disaster case managers the ability to request goods from relief hubs that are managing inventories in Staten Island.

This means allowing "case managers" to view the inventory at participating locations.

Questions:

  • Can case managers see all inventory? All assets?
  • Can we segment what they can see on a per facility basis?
  • Can we segment what they see on an item-by-item basis?

Case Manager User Type

  • Check inventory
  • Request Items
  • Request Items for Specific Residents

Logistics Admin User Type

  • Log inventory
  • Fulfill Item Requests

Victim

  • Basic info
  • Priority
  • Disabled
  • Family w/ children (2-18)
  • Number of Children
  • Additional Info (notes)

General Usability

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: https://docs.google.com/spreadsheet/ccc?key=0AvGeaSVQPEYUdDZmbm9aWlFINGtnN3ZBcVJnYzlhb2c&usp=sharing

  • 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.

Organization Directory

Organizations

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

Organizations: http://sandyrelieftest.sahanafoundation.org/eden/org/organisation/search

  • Name
  • Network
  • Contact
  • Address
  • Phone
  • Email
  • Services (check boxes)
    • SI LTRO Services: Muck Out, Rebuilding, Mold Remediation, Legal Services, Health/Safety Training, Referral Services, Disaster Case Management, Housing Re-Location, Rental Assistance, Food, Clothing, Furniture, Mental Health, Spiritual Care, Mortgage Assistance, Financial Assistance, Free Tax Assistance, Volunteer Housing, Volunteer Coordination, Volunteer Showers, Volunteers, Supplies, HUB, POD, Elected Official, Government Service Org, Immigrant Services, Senior Citizen Services Disaster Preparedness
  • Organization Type (check boxes)
    • Network
    • Government
    • Nonprofit
    • Project
    • Funder

Additional Lower Priority Changes

View All

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

Groups

  • 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

Organizations

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

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 sandyrelieftest.sahanafoundation.org

Please play with this deployment and log bugs by sending them to sahana@lists.occupy.net 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

Inventory

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: https://docs.google.com/spreadsheet/ccc?key=0AvGeaSVQPEYUdDZmbm9aWlFINGtnN3ZBcVJnYzlhb2c&usp=sharing

  • 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.

Contacts

View All

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

Groups

  • 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

Organizations

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

CMS

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

Projects

Status: Active - Aaron needs assistance

Description

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.

Use-Cases

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.