Skip to content

TechRequirements

Keith Sheppard edited this page Sep 13, 2010 · 20 revisions

Technical Requirements for Drake Genetics (Draft)

Authors: Dave Walton and Keith Sheppard

Overview

This document describes the technical requirements for the first phase of the CGD Drake Genetics software project.

Account Management

It is important to design the account management such that no direct technical support is required for a classroom to start using the DrakeGenetics web app. This is also intended to be a highly reusable component so an effort should be made to keep the software as modular as possible.

Accounts

Any person with network access to the DrakeGenetics web application will be able to create a user account. Users will be uniquely identified by their email address which will be used to confirm the user's identity. All users will be able to:

  • reset thier password via thier email address
  • associate a name with thier account
  • create a Laboratory

There will typcially be a one-to-one correspondance between classrooms using our application and Laboratories, though this relationship will not be enforced. Almost all communication between user accounts will occur within the context of a common Laboratory. The only exception to this being Laboratory invitations which clearly must be sent to users outside of the Laboratory.

Roles and Permissions

When a Laboratory is created it will be initiallized with the following roles:

  • Scientist (ie Student)
  • Advisor (ie Teacher)

The user Account which created the Laboratory will be automatically assigned to the Advisor Role. Each item in the following activity list is followed by the role(s) which are authorized to perform that activity. All Advisor and Scientist permissions exist only in the context of the Laboratory where those roles are held:

  • Laboratory creation: any user
  • Laboratory account invitation/removal: Advisor
  • Role assignment: Advisor
  • Generate progress and usage reports: Advisor
  • Read from notebook: Advisor, Scientist
  • Write to own Laboratory notebook: Advisor, Scientist
  • Read others' Laboratory notebook: Advisor, Scientist
  • Comment on Laboratory notebook: Advisor, Scientist
  • Perform Lab Experiments (TODO refer to a requirements section explaining which experiments are available): Scientist
  • View Lab Experiment Results: Advisor, Scientist
  • TODO: which permissions are missing

There will be no capability to create new roles or modify role permissions though this is something that we may consider adding in a future version.

Notebooks

Each member of a Laboratory will have thier own Laboratory notebook.

Notebook Required Functionality

Notebooks will be similar to blogs. Users with sufficient permissions will be able to read and comment on existing entries, as well as create new entries. Each entry will display an associated author and timestamp. Users must also have a convenient way to enter links which can be "permalinks" to experiment results, links to other notebook entries or external URLs.

Notebook Optional Functionality (Dependent on available time and resources)

  • Rich text/HTML editor
  • RSS feeds for notebook entries and comments
  • Have a view that shows entries for all Laboratory members or just entries for a specific Laboratory member
Clone this wiki locally