Requirements for the Pulse Sequence database

From NMR Wiki

Jump to: navigation, search

These are draft requirements for the pulse sequence database

Start date: June 8 2011.


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


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)


  • 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)
Personal tools