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:
- $Revision: 1.3 $
- $Date: 2008/03/10 18:12:55 $
Functional Requirements
Functional requirements for the Multiuser Bibliography application,
organized by task area.
- Access
-
-
Limited access is available anonymously; anonymous users can
go directly to the search / browse functions.
-
Full access to users with an active account is available
via a sign-in process.
-
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.
-
The user's signed-in state should persist until they sign out
or exit the browser, if the browser implementation and
configuration permit.
-
Users with administrator status also have access
to administration functions once they
sign in.
- Viewing Entries
-
-
All users can browse entries.
-
All users can search for entries.
-
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).
-
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.
-
The condensed format does not show the text of annotations,
but entries with annotations will include a note to that
effect, eg "(2 annotations)".
-
Each condensed-format entry will have a link to its
expanded-format view.
-
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.
-
Entries marked as "superseded" due to an edit are not
shown in browse and search modes.
- Adding Entries
-
-
Signed-in users can add entries.
-
New entries are added by supplying bibliographic data such
as author, title, etc, in a form, then submitting the form.
-
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.)
-
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.
-
The form will also have a catch-all field for any information
that does not fit the above categories.
-
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.
-
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.
-
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
-
-
Signed-in users can edit entries they created. Administrators
can edit any entry.
-
Editing is performed using the same form used for adding,
populated with the existing details of the entry.
-
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
-
-
Signed-in users can annotate (any) entries.
-
Annotations are free-format plain text attached to entries.
-
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.
-
Administrators will have access to functions to add and
remove users, and to change user passwords.
-
Administrators can edit any bibliography entry.
-
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.