Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
R
register-enrol
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 7
    • Issues 7
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OERu
  • register-enrol
  • Wiki
  • Functional Requirements

Last edited by Dave Lane Jul 17, 2018
Page history

Functional Requirements

Functional Requirements

  1. Any subsite that is not archived or deleted is available for enrolment by default
  2. The current user's authentication status is immediately visible in the title/menu bar.
  3. If not logged in, there's a "Login/Register" link (with person icon) which displays a popup menu with links to the login form for existing users and the registration form for new users.
    1. If the login form is selected, the user sees a popup login form requesting email and password, with a "recover password" option.
    2. If selected the password recovery form requests the user's email followed by "submit" [todo: include option for anti-spam measures in this form].
    3. If the register form is selected, the user sees a popup register form with first & last names, username (constructed from first.last, made lowercase), display name (first last, uppercase), email, country, and password.
  4. If they are logged in, their avatar and name are shown, and if they click on the link, they get a pop-up menu allowing them to either log out or access their profile.
  5. The user will see instructional/confirmation windows after
  6. failing to add a valid email for password recover - "You have entered an invalid email address" (handed in JS)
  7. successfully requesting a password reset link - "If your email belongs to a registered user, we have sent you an email with a link to set a new password for that user. If you do not receive an email, check your spam folder. If not there, did you register with a different email address?"
  8. failing to submit well formatted/required values in registration - "Your registration requires the following..."
  9. successfully registering - "You have successfully registered"
  10. successfully logging in - "You have successfully logged in as [Display Name]"
  11. in a course context, if enrolling - "You have successfully enrolled in [Course Name]"
  12. in a course context, if leaving - "You have successfully been unenrolled from [Course Name]"
  13. in the context of a course (WP multisite subsite), the current user's "enrolment" status is immediately visible via an icon - hovering over it or clicking displays popup with status with text, e.g. "You are (not) enrolled in [Course Title]" - and with
  14. a button to "Enrol" if the user is not enrolled, and
  15. a button to "Leave" the course (with an "are you sure?" confirmation dialogue) if they are enrolled.
  16. all changes in authentication status are handled by clicking the "Login/Register" icon/text in the menu.

Different popup windows

Menus

  • Logged out: Log in as an existing user, Register a new user
  • Logged in: Profile, Log out
  • Course Context:
    • Unenrolled: Enrol in course
    • Enrolled: Leave course (unenrol)

Forms

  • Login:
    • email
    • password
  • Session Expired, Login again:
    • email
    • password
  • Register:
    • first name
    • last name
    • username (defaulting to first.last, lower case, no spaces)
    • display name (showing first + last names by default, edit to override - spaces allowed)
    • country
    • email
    • password
    • confirm password
  • Enrol:
    • select from "next cohort" or "free range, at your own pace"
  • Profile:
    • first name
    • last name
    • username (defaulting to first.last, lower case, no spaces)
    • display name (showing first + last names by default, edit to override - spaces allowed)
    • country
    • email
    • password
    • confirm password
    • link to full WordPress profile

User Object:

If logged in:

  • user id
  • username
  • display name
  • first name
  • last name
  • country
  • profile link
  • avatar link
  • current context: none or Course ID, Course Name, enrolment status. If enrolled, date of enrolment

This is passed as an array to JS with each page load to allow it to create the relevant forms.

Clone repository
  • Functional Requirements
  • Home
  • Road Map
  • Use Cases