Multiuser Bibliography Functional and Content Requirements

This document outlines functional and content requirements for the Multiuser Bibliography application. Requirements are loosely structured for convenience, but this is not a formal specification; requirements should be understood as applying to all relevant parts of the application.

This document is subject to change. Version information:

Functional Requirements

Functional requirements for the Multiuser Bibliography application, organized by task area.

Access
  1. Limited access is available anonymously; anonymous users can go directly to the search / browse functions.
  2. Full access to users with an active account is available via a sign-in process.
  3. A link to the sign-in page should appear in a header on every page if the user is not signed in. If the user is signed in, a sign-out (logoff) link should appear in its place.
  4. The user's signed-in state should persist until they sign out or exit the browser, if the browser implementation and configuration permit.
  5. Users with administrator status also have access to administration functions once they sign in.
Viewing Entries
  1. All users can browse entries.
  2. All users can search for entries.
  3. When browsing, entries are shown in secondary-key order. A number of entries (to be determined) are shown on each page. Browse-forward and browse-backward links are shown (but will be inactive if no more entries are available in the selected direction).
  4. When browsing, entries are shown in a condensed format similar to a generalized MLA "Works Cited" format. (Exact details of this format are still to be determined.) Search results are also shown in condensed format.
  5. The condensed format does not show the text of annotations, but entries with annotations will include a note to that effect, eg "(2 annotations)".
  6. Each condensed-format entry will have a link to its expanded-format view.
  7. In the expanded-format view, an individual entry is displayed. All fields are shown with labels, in tabular format. Annotations are displayed below the entry. Metadata such as the name of the user who added the entry and when it was added are displayed. Expanded-format views will have a link to the condensed view of the same entry; following that link returns the user to browse mode, so they can browse starting at that entry.
  8. Entries marked as "superseded" due to an edit are not shown in browse and search modes.
Adding Entries
  1. Signed-in users can add entries.
  2. New entries are added by supplying bibliographic data such as author, title, etc, in a form, then submitting the form.
  3. No one field is required, since there is no one piece of bibliographic data common to all entries. (Some items do not specify authors, some are untitled, etc.) An addition is accepted if sufficient information is supplied to add it to the database. (Exact requirement to be determined when the database schema is finalized.)
  4. The form will include various fields to make it easy for users to add bibliographic details, such as "additional authors", "editors and translators", "additional publication information", etc.
  5. The form will also have a catch-all field for any information that does not fit the above categories.
  6. There will be a radio-button control to optionally specify the resource type, which can be used by the application to format titles, for example. It will include common types such as "book" and "article", an "other" catch-all, and "unspecified", which will be the default.
  7. Entries will have an auto-increment numerical ID as primary key, but they will also have a secondary key derived from the primary author, if supplied, or from the title. If no author or title is supplied, the secondary key may be derived from other data in the entry or may be defined in some other fashion.
  8. Input data should be sanitized to remove HTML markup. (This may not be implemented in the initial version, since only trusted users can enter data.)
Editing Entries
  1. Signed-in users can edit entries they created. Administrators can edit any entry.
  2. Editing is performed using the same form used for adding, populated with the existing details of the entry.
  3. To avoid accidental loss of data due to editing accidents, submitting an edit will cause the old record to be marked as superseded, and a new record created. (There is no provision in the initial version of the application for recovering data from superseded records - that will have to be done manually. But at least it can be done.)
Annotating Entries
  1. Signed-in users can annotate (any) entries.
  2. Annotations are free-format plain text attached to entries.
  3. Annotations should be sanitized to remove HTML markup. (This may not be implemented in the initial version.)
Administration
In the initial version of the application, administration functions may be performed manually, rather than through application interfaces.
  1. Administrators will have access to functions to add and remove users, and to change user passwords.
  2. Administrators can edit any bibliography entry.
  3. Administrators can remove annotations.

Content Requirements

Content requirements for the Multiuser Bibliography application, organized by application mode (which roughly corresponds to the page the user is viewing).

Basic Mode
This is the initial view (page) when the user first goes to the application (site). It should include:
  • Identifying information: application name, name of bibliography, etc.
  • A link to the sign-in page.
  • An entry field for "simple search", and a link to the "advanced search" page.
  • Links to browse: one link for each letter, with browsing starting at that letter.
  • A display of some recently-added, -edited, or -annotated entries (number of entries displayed to be determined).
Browse Mode
Requirements to be determined.
Search Mode
Requirements to be determined.
Add and Edit Modes
  • Most of this content is an HTML form, as described in the functional requirements above.
  • In addition to labels, form fields will show examples to help guide users who are entering less-familiar types of resources (such as websites).
  • The examples for the "primary author" field will show the author name in sorting form ("Doe, John", "Association for Computing Machinery"), as a hint to the user.

Chapter four of Garrett's The Elements of User Experience provided guiding principles for constructing these lists.