Skip to content

Use Cases

For better graphical representation of the requirements, the software's users (also known as actors) and their interactions with the system can be summarized with Use Case diagrams.

These Use Case scenarios do not go into a lot of detail, however, they depict a high-level overview of the relationship between Use Cases, actors, and the software itself.

The following Use Case scenarios are demonstrated by Unified Modeling Language (UML) diagrams. If you are not familiar with the use of UML, find more information here.

Use Case Diagram

Use Case Diagram

Note:

The full Use Case diagram can be accessed from here. Use Astah to open it.


Actors

  1. User
  2. Administrator

Software's tasks

User

  1. View lecture
  2. Search lectures
  3. View ATC members
  4. View Events
  5. Contact ATC

Note

Some lectures have neither videos nor files.

Administrator

  1. Manage harvesting
  2. Maintain database
  3. Manage navigation
  4. Maintain ATC members

Use Case Scenarios

View lecture functionality

Use Case VIEW LECTURE
Summary View lecture and its details (title, speaker, date, abstract, event details, sponsor, keywords)
Actor User
Precondition Lecture exists in CDS
Postcondition Harvested from CDS
Base sequence 1. Lecture exists 2. Click on a lecture to watch 3. System talks through HTTP request to the REST API to ask for the called lecture 4. System checks if the lecture exists in the database 5. System sends back an HTTP response 6. System checks if the lecture is a single video, a two-channel video, has files or none. 7. System displays the lecture with its details accordingly
Note If CDS is down, the videos and files cannot be reached (!) – an error message will be displayed that will originate from CDS. Everything else has a copy in the system’s separate database (title, speaker, date, abstract, event details, sponsor etc.) that are not dependent on CDS and can be displayed regardless.

Search lectures functionality

Use Case SEARCH LECTURES
Summary Search lectures and/or browse from search results
Actor User
Precondition Lectures exist in CDS
Postcondition Harvested from CDS
Base sequence 1. Click on the search bar to search 2. Fill the search bar with content 3. Hit Enter OR click on the Search Icon 4. System checks if the search value in the Search bar has content a) If not, the system generates an empty search and displays all the lectures available b) If yes, go to step 5 5. System sets the search term with the searched value 6. System navigates to the search route after the query and displays the first page of the results
Note - Empty search lists all the lectures available. - A guide (?) to help how to search is available next to the search bar: You can search by title, speaker, series, abstract, sponsor and keywords. The default search operator is AND. For an OR search, use | between words, ex. particle | physics. For exact match, use double quotes, like this: "dark matter"

View ATC members functionality

Use Case VIEW ATC MEMBERS
Summary View the members of the Academic Training Committee (ATC) and their mission
Actor User
Precondition -
Postcondition -
Base sequence 1. Click on the ‘About’ button to view the members of the ATC a) In the header b) In the footer 2. System navigates to the site of the ‘About Us’ that displays the description of the ATC and the current members of it
Note -

View Events functionality

Use Case VIEW EVENTS
Summary Navigate to and view the full programme of the CERN Academic Training Lecture series
Actor User
Precondition Category 72 exists on Indico (Academic Training Lecture Regular Programme)
Postcondition -
Base sequence 1. Click on the ‘Events’ button to view the full programme of the CERN Academic Training Lecture series a) In the header b) In the footer 2. System navigates to Indico
Note If Indico is down, the full programme cannot be reached.

Contact ATC functionality

Use Case CONTACT ATC
Summary Contact the ATC through a dedicated email address
Actor User
Precondition The atc-contact@cern.ch must be configured in the CERN e-groups
Postcondition -
Base sequence 1. Contact the ATC members either: a) Through the ‘Contact’ button on the header/footer OR b) ‘Submit a suggestion for future topics’ button 2. System opens the default email agent with the email address
Note Cancel can be made anytime.

Manage harvesting functionality

Use Case MANAGE HARVESTING
Summary Harvest lectures from CDS
Actor Administrator
Precondition Lectures exist in CDS
Postcondition OAI-PMH mechanism for MARCXML translation
Base sequence 1. Run the backend 2. Login in the database with admin credentials 3. Add lecture 4. Migrate lectures a) in case of harvest failure, send an email to academictraining-site-admins@cern.ch
Note - The lecture’s details are retrieved from a MARCXML file that needs conversion before harvesting the records from CDS to the database. This is necessary, because MARCXML has data fields with unique numbers that correspond to a tag, and subfields that correspond to a character. Since it is not easily readable, it must be translated. That is the OAI-PMH mechanism (translation from XML to JSON). - The information that does not exist on CDS is obtained from the lecture's Indico event (Indico API).

Maintain database functionality

Use Case MAINTAIN DATABASE
Summary Manage database once change occurs or update is required
Actor Administrator
Precondition Lectures harvested
Postcondition Admin logged in, git repository cloned
Base sequence 1. Run the backend 2. Login in the database with admin credentials 3. Add/modify lecture fields 4. Migrate lectures a) in case of harvest failure, send an email to academictraining-site-admins@cern.ch
Note The abstract must be cleansed, because it might have features that are not needed.

Manage navigation functionality

Use Case MANAGE NAVIGATION
Summary Manage navigation of the project to render the app at different URLs
Actor Administrator
Precondition -
Postcondition Admin logged in, git repository cloned
Base sequence 1. Add path(s) / URLs 2. Define route(s) of the path(s) 3. Add outlet to path
Note A default blank page is added in case of a route that has no endpoint (it leads nowhere).

Maintain ATC members functionality

Use Case MAINTAIN ATC MEMBERS
Summary Maintain the ATC members on the About Us page, update members in case of change
Actor Administrator
Precondition -
Postcondition About Us page exists
Base sequence 1. Take the list of ATC members 2. Update or add a new member by the following: a) key b) name c) profile d) position e) department 3. Update About Us page 4. Save changes
Note The profile pictures of the members must be downloaded and added to the project repository.