= !BluePrint: Update Projects interface to meet Occupy's needs = [[TOC]] == Description == The Occupy projects team is currently using a [https://docs.google.com/document/d/14P57OQBQ71WF3Bjjm-WoEd0G4tr0J-TtUrF6DqU2ZuE/edit# 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 create a new project and associated activities. They would create tasks for services they need, assigned to the people who lead those services (tech, volunteers, funding, etc.). Activity/project info would be publicly accessible to people interested in volunteering on specific activities. Project team members could view information about all ongoing and planned projects. '''V2 - Devin and Aaron need to agree on an integration''' 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. == Requirements == === New project data fields === This is how it seems the fields in the [https://docs.google.com/a/sarapisfoundation.org/spreadsheet/viewform?formkey=dDZSSHJnTzlUNzdYc0p3SU9PdHMwNmc6MQ#gid=0 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. - Media link: url to Youtube site, etc. - Project partners: individuals and org references === New views === - A new (non-editable) view of individual projects and existing activities - A new public project list and individual project views '''V2 Devin and Aaron need to integrate''' Public All Projects View (Public): This is the main view for public “view all” project list and should have the following columns: * Open * Project Name * Activity Status * Description * Public Email * Categories Admin All Projects View: view for admins should have the following columns: * Open/Edit/Delete * Project Name * Activity Status (Past, Present, Future) * Support Status (NA, Applied, Accepted, Rejected) * 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: * Basic Details (public) ** Project Name ** Project Blurb (max 100 characters) ** Project Description ** Site Specific? (y/n) ** Location ** Categories ** Media Link ** Project Partners ** Fundraising Link ** How people can help. ** Website ** Social Media ** General Contact Email ** General Contact Phone * Comments (Project Owner and Admin only) * Requests * Contacts * Tasks * Attachments === Add Comments to Projects === Add threaded comments as a "notes" 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. === 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. == Design == (See requirements.) == Implementation ==