SiteStewards
Contents
Site Stewards
We want to build a system where a user can volunteer to oversee/manage operation of a particular physical piece of infrastructure, such as a particular sensor or receiver.
Terminology
Throughout this document I'll use "steward" to include all users who have permission to do steward tasks; presumably this includes all site administrators.
Requirements
[work in progress]
- Ability to give users "Steward" access to specific objects, while still having them be unable to access other sensitive data.
- Ideally a Steward would only be able to edit the objects they're in charge of (for security reasons but also to limit accidental modifications).
- Note that this is in theory similar to limiting a user to only being able to edit their own personal info as opposed to other people's
Possible Requirements
- : Can a user be a Steward of multiple objects? (e.g. Goose & Gander receiver, Goose & Gander Gage)
- : Can more than one user be a Steward of a single gage? Are all admins implicitly considered "stewards" of all gages?
Explicit Non-Requirements
Building Blocks
Checklists
We will identify sets of tasks that stewards will perform. This information will be available from within the system through "checklists" that are visible to all stewards of particular objects.
All stewards of an object can perform checklist tasks, and can mark them as "in progress" and "completed" (and these actions can be undone). All stewards can see the current status of all tasks. The admin tools for gages and receivers will show the current status of any outstanding checklists.
Checklist tasks can generally be performed in any order. If it is absolutely necessary that some tasks have to be done in a particular order, we can implement a "dependency" model.
Notifications
We will build a system where administrators can send out periodic reminder notifications to stewards for off-season maintenance tasks. We will also be able to send "a flood is coming" notifications when we have identified upcoming events. These will all be triggered manually for the time being.
- Where/how do we trigger these? Does the system remember when notifications are sent? Where is that information visible?