You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recodex-wiki/User-documentation.md

86 lines
3.2 KiB
Markdown

# User documentation
## Student
### Authentication
Almost all parts of ReCodEx system is available only after authentication. For this purpose JWT tokens are used but in normal usage users do not have to worry about them, because web application does this. With this stated it is obvious that there has to be some registration mechanism and some web form in which users can fill their credentials and stay logged in for up-coming moments.
#### Registration
Registration into ReCodEx can be done two ways: using our own authentication service or pick some of the external ones. Currently there is only one external authentication mechanism which is CAS (Charles University Authentication Service). During registration user has to choose instance to which he/she wants to belong to (This is why registration using CAS has to be separated from simple login). This choice cannot be undone with current username and thus has to be done properly, based on instance user will see groups available in chosen instance.
In normal authentication using ReCodEx proper password has to be provided. There are certain checks if password is suitable and can be accepted otherwise user cannot register. Passwords are hashed, salted and stored in database, so nobody can see or decode them. This of course means that if user loose his/hers password it cannot be retrived and forgotten password mechanism has to be used.
#### Login
Login form is like registration divided into ReCodEx authentication and external service authentication. User should use whatever mechanism was used during registration. All authentication forms should be simple and require only proper combination of username and password.
#### Forgotten password
Works only for ReCodEx authentication mechanism for external authentication services please use their forgotten password mechanisms. After request for resetting password user should get email delivered to email address specified in user's profile. In mentioned email there should be link on change password form which can be used for password reset and setting of new one. Please note that access to change password link is time limitted for security sake and can be used only for couple of minutes.
### User profile
#### Update user profile
// TODO: change of password included in this
#### Email notifications
// TODO: not implemented yet
### Groups
#### Group membership
// TODO: list of groups, join, leave
#### Assigned exercises
// TODO: deadlines, etc
#### Submission of assignment and its evaluation
#### Results of submission
// TODO: points, bonus point, etc
## Group supervisor
### Groups
#### Management
// TODO: create sub-group, delete sub-group, change parameters of group
#### Students submissions
// TODO: list of them, submitted files, etc
### Exercises
// TODO: not implemented yet
#### Management
// TODO: update, create, delete
#### Exercise detail
### Assignment of exercise
#### Management
// TODO: update, create, delete, etc
## Administrator
### Instances
#### Management
// TODO: create, delete, update
#### Licenses
### Groups
// TODO: management, higher privileges than supervisor
### Users management
#### Roles in ReCodEx
// TODO: some description what is there
#### Delete user
// TODO: probably one and only action which can admin do with users