Requirements for the Pulse Sequence database
From NMR Wiki
These are draft requirements for the pulse sequence database
Start date: June 8 2011.
Contents |
Functions required
- Admins and invited users can register a laboratory account.
- Lab account contains some metadata for the laboratory.
- Multiple PI's can be assigned to the laboratory.
- Store references to scientific publications (need some python library)
- References should be assignable to various objects (labs, pulse sequence component resources, maybe people, etc.)
- Admins and PI's allowed to create pulse sequence repositories (up to one for each instrument vendor type)
- Admins and PI's can assign/revoke commit access to repositories for any user
- Repositories should be shareable between selected labs, upon agreement of PI.
- Each pulse sequence package must have human readable short and unique ID string.
- Users must be able to upload files to the repo and make commits
- Repositories will not support branching
- If upon commit there is a merge error - such errors must be fixable from the command line
- Each repository will be managed by the git scm.
- Users of the web interface should have a simple method to upload files and be able to commit multiple files at once.
PSDB pages
/pulse-sequences/
Main page of the pulse sequence database.
- add database -> /pulse-sequences/add-database/
- list of databases -> /pulse-sequences/db-id/db-slug/
- "my databases" listed on top
- search (with option to select vendor and application tags) /pulse-sequences/search (GET type requests with query parameters)
/pulse-sequences/db-id/db-name-slug
- add contributor -> /pulse-sequences/add-contributor/ (POST with ajax & db-id as parameter)
- add repository -> /pulse-sequences/db-id/db-name-slug
- add pulse sequence -> /pulse-sequences/add/ (POST no ajax, with db-id as parameter)
- list pulse sequences
- search for pulse sequences within the database (with option to select specific repository within the collection)
Lab Applications
Pages Needed
- organization page /labs or /companies
- create organization page /labs/create
- individual organization page /labs/id -> /labs/id/slug
- edit organization page /labs/id/slug/edit
- user profile page (later, similar to organization layout)