SRS > Use Case Suite > Use Cases

Release Information

Project: Fez
Internal Release Number: 1.2.0 Beta
Related Documents:

Default Aspects of All Use Cases

Direct Actors:
User: end-user in any role
System: The system being built
When actors are not listed, assume User is doing it.
Items beginning with "see" indicate that System has presented a new screen.
Stakeholders: Project Owners and other members
Prereq: User is logged in

UC-00-00: Install Fez

Summary: The Administrator install pre-requisite packages and copies the Fez file to the webserver. Initially, the php scripts will need write access to the Fez directories. A setup PHP script is run which writes some files to store inital settings such as the location of the databases and applications on which it depends.
Priority: Expected
Use Frequency: Once
Direct Actors:
Admin: Web-site administrator
Main Success Scenario:
  1. visit site configuration page
  2. see site configuration options
  3. enter inital Fez settings
  4. submit form
  5. see message advising of success
Alternative
Scenario Extensions:

If Fez can't write the configuration files or there is an invalid setting:

  1. see Error message explaining problem and suggesting solution
  2. return to step 2 of Main Success Scenario
Notes and Questions

 

UC-01-00: Create / Modify User

Summary: The Administrator usually doesn't have to add users to the system as they are authenticated through Active Directory. If a user is to have special privileges, they can be added to the Fez user list. They can then be put into certain priviledged groups used within Fez.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: User
Prereq:
Main Success Scenario:
  1. Visit the User Administration page
  2. See a user details form to add a new user followed by a list of existing users
  3. Enter the user details and select the Fez groups to which they will belong
  4. Submit the form
  5. See message stating success and the user details form with pre-entered details of the new user
Alternative Scenario Extensions:

If the user is already in Fez

  1. See a message stating that the user already exists
  2. See the user's details pre-entered in the user details form
  3. Enter the new values for the user
  4. Proceed from step 4 of Main Success Scenario
Notes and Questions  

UC-01-01: Create / Modify User Group

Summary: An Fez user group can be made to provide authorisation for a group of Fez users. The users may still be authenticated from AD.
Priority: Desired
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: User
Prereq:
Main Success Scenario:
  1. Visit the User Groups Administration page
  2. See a user group details form to add a new user group followed by a list of existing user groups
  3. Enter the user group details and select the users who belong in the group (from a list and/or using AD usernames)
  4. Submit the form
  5. See message stating success and the user group details form with pre-entered details of the new user group
Alternative Scenario Extensions:

If the user group is already in Fez

  1. See a message stating that the user group already exists
  2. See the user groups details pre-entered in the user details form
  3. Enter the new values for the user group or click new to start over
  4. Proceed from step 4 of Main Success Scenario
Notes and Questions  

UC-01-02: User self registration

Summary: Some users of Fez may want to have an Fez account so they can save searches they have made, comment on research and make annotations.
Priority: Desired
Use Frequency: Often
Direct Actors: User
Stakeholders: User
Prereq:
User must have an email address and pass a CAPTCHA (completely automated public Turing test to tell computers and humans apart) challenge
Main Success Scenario:
  1. Visit registration page
  2. See form requesting details and CAPTCHA challenge
  3. Enter user details into form including the CAPTCHA, email address, username and password
  4. Submit the form
  5. See message advising that an email has been sent for confirmation
  6. Receive email
  7. See link in email to confirmation address
  8. Visit confirmation address
  9. See message stating success of registration
Alternative Scenario Extensions:

If username exists at step 4

  1. See message advising user name is already registered, please choose a different name
  2. See link to forgotten password page
  3. See form with pre-filled values from step 3 but with username blank
  4. Proceed from step 3

If email address exists at step 4

  1. See message advising that the email address is in use
  2. See link to forgotten password page
  3. See form with pre-filled values from step 3 but with email blank
  4. Proceed from step 3

If the password and password confirmation don't match at step 4

  1. See message stating that the passwords didn't match
  2. See form with pre-filled values from step 3 but with passwords blank
  3. Proceed from step 3
Notes and Questions

The confirmation URL should time out after a few hours.

The Fez user created will belong to a default set of Fez groups

UC-01-03: Forgotten Password

Summary: When a user forgets their Fez password, they can re-register using their ability to read their email as a security check. This only works for Fez users - not UQ AD.
Priority: Expected
Use Frequency: Sometimes
Direct Actors: User
Stakeholders: User
Prereq:

User is registered with Fez - it can't obtain their UQ AD password.

Logged out of Fez.

Main Success Scenario:
  1. Visit Forgotten Password Page
  2. See form requesting username or email address
  3. Enter either or both
  4. Submit form
  5. See confirmation message that an email has been sent
  6. Receive email
  7. See link in email to Fez password reset page (with unique id)
  8. Visit link
  9. See form displaying username and requesting to enter a new password
  10. Enter password
  11. Enter confirmation password
  12. Submit form
  13. See Fez login page
Alternative Scenario Extensions:

If at step 4, the email or username is not in the Fez database

  1. See error message advising that the account is unknown
  2. See forgotten password page
  3. Continue from step 2
Notes and Questions:

 

UC-02-00: Configure the credentials needed to access an item

Summary: All items in Fez including collections and communities can have access restrictions. The restrictions are inherited from parent collections and communities. This is needed so that the repository can have different staff with control of different parts of the repository.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: User, Collection or Community Reviewers
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the item view page in Fez
  2. See the item details and an icon for editing the item
  3. Click on the edit icon
  4. See the form for editing the item properties
  5. See the section for editing security properties
  6. Enter the security restrictions - there are several categories of actions that can be performed on the object. For each of the actions, a set of credentials can be selected as to who can do the action according to user name, AD group, Fez group etc...
  7. Submit the form
  8. A message advises that the permissions have been changed
  9. See the security details with the pre-entered values that you submitted
Alternative Scenario Extensions:

 

Notes and Questions

Possible actions or roles on an item:

  • View, List, Edit, Comment

Possible credentials

  • User in AD, user in AD group(s), user in Fez, user in Fez group(s)
  • If there are no credentials set, then the ancestor objects credentials are used
  • If there are no ancestor credentials, then a default set of credentials is used - set in the administrator interface

UC-02-01: Configure the groups a user belongs in

Summary: As well as creating user groups that have users in them, each user can belong to multiple groups so there is a way to map groups to a user as well (many to many)
Priority: Desired
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: User
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit user administration page
  2. See blank User Details Form and list of existing users
  3. Select user from list
  4. See user details form with pre-entered details for the selected user
  5. Select groups (Fez and AD groups listed) that the user should belong to
  6. Submit form
  7. See message stating success
  8. See user details form with the pre-entered details including the groups selected
Alternative Scenario Extensions:

 

Notes and Questions

There will need to be a list of Fez users but what about AD users - there are a great many AD users, perhaps this feature can only work for Fez users.

If the Fez user is also in the AD then you can add AD groups as well as Fez groups, otherwise only Fez groups can be used.

UC-02-02: Configure the default credentials for the repository

Summary: When an item in the repository has no ancestor credentials, a set of defaults should be used.
Priority: Essential
Use Frequency: Rarely
Direct Actors: Administrator
Stakeholders: User
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit Defaults Administration page
  2. See filled form that shows the default values for Fez
  3. Enter the credentials required by default for the roles that can access the repository
  4. Submit the form
  5. See confirmation message
  6. See filled form with changed values
Alternative Scenario Extensions:

 

Notes and Questions:

 

UC-02-03: Configure the default user details for the repository

Summary: When a user self registers, their initial group and maybe some other details will need to be set up as well. The Administrator will be able to control what the default group membership is.
Priority: Desired
Use Frequency: Rarely
Direct Actors: Administrator
Stakeholders: User
Prereq:
Administrator logged in
Main Success Scenario:
  1. Visit Defaults Administration Page
  2. See filled form with defaults for Fez, including user defaults
  3. Enter desired default user options, including the default group(s)
  4. Submit form
  5. See confirmation message
  6. See defaults form filled with changed values
Alternative Scenario Extensions:

 

Notes and Questions:

 

UC-03-00: Create / Modify Document Type XSD

Summary: The document type XSDs describe metadata formats that are used in Fez. The are formats used for all items and formats used for specialised items such as audio files.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the XSD Administration Page
  2. See a blank form for entering a new XSD and list of the existing XSD files
  3. Enter the new XSD metadata (name, version, root element)
  4. Copy and paste the XSD into the text area in the form
  5. Submit the form
  6. See confirmation message
  7. See filled form for the XSD just entered
Alternative Scenario Extensions:

If Editing an exisiting XSD at step 2

  1. Click on the name of the XSD to edit
  2. See filled form with data for that XSD
  3. Proceed from step 3

If XSD name already exists at step 5

  1. See error message explaining problem
  2. See filled form with previously entered values
  3. Proceed from step 3 with different XSD name
Notes and Questions:

 

UC-03-01: Create / Modify Document Display

Summary: The Administrator can control how metadata is entered into forms in Fez. XSD documents describe the metadata files. Fez makes a mapping between the XSD files and HTML form elements such as text boxes.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the XSD Administration Page
  2. See a list of XSD items with links to edit the displays
  3. Click on the link to edit the display for the XSD
  4. See a list of displays for the XSD (in various contexts which depends on the type of record that the XSD is attached to)
  5. Click on the display to edit
  6. See a tree representation of the XSD file elements
  7. Click on an XSD element
  8. See a form showing the way that element will be displayed (defaults to blank form)
  9. Can still see the tree view of the XSD
  10. Enter values to change how the form should be displayed
  11. Submit the form
  12. See a confirmation message
  13. See the updated form
Alternative Scenario Extensions:

If you need to create a new display

  1. At step 4, See a form to add a new display
  2. Enter the name of the display into the form and the version of the display
  3. Submit the form
  4. See a confirmation message
  5. See the new display in the list of displays
  6. Proceed from step 5
Notes and Questions:

 

UC-03-02: Create / Modify Adapter

Summary:

An adapter is used to extract metadata from an object automatically. In Fez, instructions for running the adapter are entered into the system along with information about the file format that it works on such as any documentation that defines it or names of organisations that provide the information.

The instructions will be used to run an external application (or call a PHP script if possible) to extract the metadata and associate it with objects as they are ingested.

Priority: Expected
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library, Archiver, Reviewer
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the Adapter Administration Page
  2. See empty form for adding new adapter
  3. See list of existing adapters
  4. Enter values to describe the adapter, file format and instructions for executing and mapping results to XSD for file format
  5. Submit form
  6. See confirmation message
  7. See filled form
Alternative Scenario Extensions:

If the application doesn't exist at step 5

  1. See error message but values are saved anyway
  2. continue from step 7
Notes and Questions:

Fez will check that the script exists and notify user but doesn't need to take action.

What if the extraction will take a long time? Should there be the option to do it in a cron job? Same problem if the extraction can't happen on Fez's platform, can metadata be extracted manually and submitted manually in one piece?

UC-03-03: Create / Modify Process Record

Summary:

Process records are used to record any changes to the data after it has been put in the repository. Perhaps items were upgraded to a new file format or transformed in some way. The Adminsitrator will perform these operations on the items and record their actions in a process record.

The Process Records are stored as objects in the repository themselves and describe a generalised process. If all WAV files in the archive are to have their header format changed, then only one change record describing the generalised case needs to be created.

Process records are likely to be used by the Fez workflows to describe standard steps to perform. For this reason, they might also be automated so that a workflow could specify an automatic operation to be performed.

Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the the Process Records Administration Page
  2. See blank form to create a new process record
  3. See list of process records
  4. (optional) select existing process record and see filled form for the process record
  5. Enter the values to describe the process
  6. Attach any files or scripts that were used to make the changes
  7. Enter the list of objects that were changed with this process (option to attach as a file)
  8. Submit the form
  9. See confirmation message
  10. See filled form for process record
Alternative Scenario Extensions:

If there are a large number of objects to be associated with the process

  1. Follow steps in UC-08-06 and UC-08-07 to save a list of items and export to a file. The list could be compiled from several searches
  2. At step 7, attach the file.
  3. Continue from step 8
Notes and Questions:

There is a risk that large scale automated changes within Fez could corrupt data if the script has a bug. We'll need a procedure for testing Fez processes to make sure they are correct before we apply them to a large set of data.

UC-04-00: Create / Modify Community

Summary: The Administrator can create communities which are used to group collections of research. These communities might be by faculty or research area.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Researcher, Archiver, User
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the Communities Administration Page
  2. See a link for creating a community
  3. See a list of existing communities
  4. Click the link to create a community or click on an existing community
  5. See a filled form with the community details or blank form if creating a new community
  6. Enter the values to configure the community. This includes authorisation info and other metadata.
  7. Submit the form
  8. See a confirmation message
  9. See the filled form for the community
Alternative Scenario Extensions:

 

Notes and Questions:

 

UC-04-01: Create / Modify Collection

Summary: Collections are used to group sets of items that belong together. The collections are grouped in communities
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Archiver, Researcher, User
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the Communities Administration Page
  2. See the list of Communities
  3. See link to add collection for each community
  4. Click on a community to which the collection should be added
  5. See list of collections in the community
  6. See link to add a new collection
  7. Click on a collection or the link to create a collection
  8. See a filled form with the collection details or a blank form if creating a collection
  9. Enter the values to describe the collection - permissions and other metadata
  10. Submit the form
  11. See a confirmation message
  12. See the filled form with the entered values
Alternative Scenario Extensions:

 

Notes and Questions:

 

UC-04-02: Create / Modify Workflow Role

Summary:

Workflows are used to describe how users interact with a piece of software. In this context, an Fez workflow defines the states an item proceeds through to acheive a task - e.g. ingesting or extracting. This Fez workflow is configurable so that it can be adapted to suit a variety of organisations.

The workflow defines a set of roles that will be associated with each object. When an object is submitted, these roles are inherited from the parent object or can be over-ridden by the archiver.

Priority: Desired
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library, Archiver, Reviewer
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the Workflow Administration Page
  2. See the current workflow roles
  3. See a button to add a role
  4. Click to add or modify a role
  5. See a filled form for the role or an empty form if creating a new role
  6. Enter the values for the role - name and description
  7. Submit the form
  8. See a confirmation message
  9. See the filled form for the role
Alternative Scenario Extensions:

 

Notes and Questions:

 

UC-04-03: Create / Modify Workflow State

Summary:

The Fez workflow defines a network of states that the Fez item must progress through. Each state has a set of instructions (in a process record) and is associated with a configured role. The state of each item is stored in it's metadata.

Each Workflow has a start state and a way of triggering it. For example there may be a workflow configured to trigger on the ingesting of a slide image. There is another workflow that is triggered when a user self registers. Making the workflows configurable creates a lot of flexibility about how Fez interacts with all users.

Priority: Desired
Use Frequency: Sometimes
Direct Actors: Administrator
Stakeholders: Library, Archiver, Reviewer
Prereq:
Logged in as Administrator
Main Success Scenario:
  1. Visit the Workflow Administration Page
  2. See the current workflow states
  3. Click to add or modify a state
  4. See a filled form for the state or an empty form if creating a new state
  5. Enter the values for the state - name, description of tasks to perform, states that lead into this state (previous states), role that this state is assigned to.
  6. Submit the form
  7. See confirmation message
  8. See filled form for state
Alternative Scenario Extensions:

If there are no roles defined, then no states can be created

  1. See message advising that states can't be created until roles are defined
  2. See states link is disabled
Notes and Questions:

It will be possible to mark a Start State.

 

UC-05-00: Login to Fez

Summary: To access certain parts of Fez, the user must log into Fez.
Priority: Essential
Use Frequency: Often
Direct Actors: User
Stakeholders: All
Prereq:

Not logged into Fez

User exists in Fez or AD

Main Success Scenario:
  1. See Fez page header shows user is logged out and a link to login
  2. Visit Fez Login Page
  3. See form requesting username and password
  4. Enter user name and password
  5. See Fez communities listing page
  6. See page header shows user name and link to logout
Alternative Scenario Extensions:

If username or password is invalid

  1. See error message explaining username or password was incorrect
  2. See link to forgotten password page
  3. See login form
  4. Contintue from step 4
Notes and Questions:

 

UC-06-00: Insert Item (Web Upload)

Summary: Inserting, Ingesting, Uploading. The archiver moves items into the repository.
Priority: Essential
Use Frequency: Often
Direct Actors: Archiver
Stakeholders: User
Prereq:

Logged in as Archiver.

A collection has been created to group the items

The repository is configured to ingest the type of item to be submitted

Main Success Scenario:
  1. Visit the page for the collection that the items will belong to
  2. See a link for adding items
  3. Visit the link for adding items
  4. See a blank form for entering the common item metadata
  5. See a selection for the known types of item
  6. Enter the metadata
  7. Select the type of item
  8. See an extra metadata form for the item type
  9. See file upload boxes for the item - some items may require multiple upload boxes, e.g. manuscript and transcript
  10. Enter the extra values for the item type specific metadata
  11. Use the file upload boxes to locate the files to be uploaded
  12. Submit the form
  13. See confirmation message
  14. See filled form with item details
  15. See another filled form with automatically extracted preservation metadata
  16. See state of item marked according to Workflow Configuration
Alternative Scenario Extensions:

If the adapter fails to extract the preservation metadata

  1. See error message explaining problem
  2. See confirmation that the object has been ingested anyway
  3. See preservation metadata notes contain detailed description of problem
Notes and Questions:

Some users can have multiple roles so the reviewer may also be an archiver - it depends on the configuration of the collection.

If there is a problem with the preservation metadata, the problem can be resolved on the spot or fixed later as part of the workflow. The details can be manually added.

UC-06-02: Remove Item

Summary: Items can be removed from the repository
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Archiver
Stakeholders: Library, Archiver , Reviewer
Prereq:
Logged in as Archiver
Main Success Scenario:
  1. Visit Item Page
  2. See link to delete the item
  3. Visit delete link
  4. See message that item has been deleted
  5. See collection page that the item used to belong to
  6. See item in list is struck through
  7. See link to recover item
Alternative Scenario Extensions:

If item was deleted by mistake

  1. visit the recover link
  2. See confirmation that item was recovered
  3. See item in collection again
Notes and Questions:

The items should only be marked as deleted in fedora - i.e. they can be recovered.

non-archivers can't see the deleted items, only the archiver sees them.

You could have an extra step for purging deleted items over a month old or something.

The unique item identifiers should not be re-used. Even after items are purged, Fez will keep track that the item has been deleted and won't re-use the item id. Perhaps a deletion record will be kept or maybe Fez will just hang onto the metadata and just the actual data will be gone.

UC-06-03: Process Item

Summary: When item data needs to be changed, an Fez process is used to record the changes made. The Fez process is an item itself that describes how to transform an item type to another form. e.g. perhaps the .au sound format will become awkward to handle but the .wav format is prefferred, so we write a process for converting .au to .wav.
Priority: Essential
Use Frequency: Sometimes
Direct Actors: Archiver
Stakeholders: Library, User, Administrator
Prereq:
Logged in as Archiver
Main Success Scenario:
  1. Browse to the item page
  2. See the item to be processed
  3. See link to download item data
  4. Download item data to local disk
  5. See link for processing
  6. Visit the link for processing
  7. See a list of process types
  8. Choose the process type
  9. See the steps for processing the item
  10. Follow the steps, applying the changes to the local data
  11. See upload form for locating changed data
  12. Upload the changed data
  13. See confirmation message that item has been processed
  14. See processed item
Alternative Scenario Extensions:

 

Notes and Questions:

Item history will note the process id, time, date and username.

For bulk process, see UC-03-03

UC-00-00: USE CASE NAME

Summary: 1-3 SENTENCES
Priority: Essential | Expected | Desired | Optional
Use Frequency: Always | Often | Sometimes | Rarely | Once
Direct Actors: ACTOR1
Stakeholders: STAKEHOLDER
Prereq:
PRECONDITIONS
Main Success Scenario:
  1. STEP
Alternative Scenario Extensions:

If CONDITION, then ALTERNATIVE STEPS.

  1. STEP.
Notes and Questions:

 

Company Proprietary
Copyright © 2003-2004 Jason Robbins. All rights reserved. License terms. Retain this copyright statement whenever this file is used as a template.