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

71 lines
6.0 KiB
Markdown

# User documentation
## Student
### Register, login, join group and submit solution to assignment
- There are two ways of registration to ReCodEx. You can use our built-in authentication system or some external service. Currently there is only one external service: CAS (Charles University Authentication System).
- After successful registration you should be automatically logged in by web application.
- Same as for registration there are two ways of login. Using built-in authentication or some external one.
- During registration instance had to be chosen. After login you should see some information about joined instance and also public groups which are part of that instance.
- Groups have some hierarchy which can be also observed in instance detail. You can join any group which is visible there, but there can also be private non-visible groups to which only supervisors can add members.
- After joining appropriate group there is dashboard where content of group can be seen. Most notably list of all public assigned exercises if there are any.
- On assignment detail there can be found description of exercise, deadlines and some other information.
- The most important thing to student in ReCodEx is "Submit new solution" button. After clicking on it you can upload all files which will be used on evaluation and then submit them.
- By submitting files to evaluation our unique and cool progress bar should show up. In there you can observe progress of your solution which is now being executed on one of our workers.
- If everything goes right, hopefully good results of evaluation can be displayed. In there you can found a lot of information about execution, which tests were right and also points which were assigned to you.
- If you want to get back to some previous results of evaluation, list of all submissions can be found on assignment detail page.
### Forgot your password? Do not worry!
- Well... First, let me tell you that this option is available only if you registered with our authentication service, for external ones this will not work.
- Under login form there is link which can lead you to forgotten password page. Here you can type your email address which was used during registration.
- On given email short message from ReCodEx robots should arrive. Part of this message will be link which will lead you back to us on password change page.
- In here password change takes place, after that you can hopefully log in with your new password.
- Please note that password change link is time limited and is functional only for few minutes.
## Group supervisor
### Create exercise, update its information and then assign it to group
- Not implemented in web application yet!
### Add students in your group and view their results
- Groups can be public or private. Public groups are visible to all instance users and students can join them. Private ones are hidden and students can be only added to them.
- As supervisor of group you can add students to it by hand on group detail page.
- Over there you can also see list of all students in group, their overall results and all assigned exercises.
- In students profiles there can be found detailed information about their submissions in all assignments.
- Detailed description of particular submission, files which was submitted etc. can be also found in students profile.
## Group administrator
### Create sub-group and add or delete supervisor
- As a group administrator you can create sub-groups of groups where you are assigned as administrator.
- On group detail page there should be form which is supposed to create new sub-group of current one.
- In here you can fill some basic information about it and submit it.
- After successful creation of new group you can find it in refreshed group hierarchy.
- On detail page of newly created group you can add another sub-group or add new supervisors.
- Supervisors can be searched by their names, surnames or emails. After adding of supervisor he/she should be visible in supervisor's list.
- In there you can also delete supervisor from current group.
## Superadministrator
Superadmin is the ultimate role of whole ReCodEx. If you are one of the few ones be aware that you can do anything in web application. "With great power comes great responsibility", so please, use it carefully.
### Users management
There are only few roles to which users can belong in ReCodEx. Basically there are only three: student, supervisor, and superadmin. Base role is student which is assigned to every registered user. Roles are stored in database alongside other information about user. One user always has only one role at the time. At first startup of ReCodEx administrator should create his/hers account and then change role in database by hand. After that manual intervention into database should never be needed.
There is a little catch in groups and instances management. Groups can have admins and supervisors. This setting is valid only per one particular group and has to be separated from basic role system. This implies that supervisor in one group can be student in another and simultaneously have global supervisor role. Changing role from student to supervisor and back is done automatically by application and should not be managed by hand in database! Previously stated information can be applied to instances as well, but instances can only have admins.
Roles description:
- Student -- Default role which is used for newly created accounts. Student can join or leave public groups and submit solutions of assigned exercises.
- Supervisor -- Inherits all permissions from student role. Can manage groups to which he/she belongs to. Supervisor can also view and change groups details, manage assigned exercises, view students in group and their solutions for assigned exercises. On top of that supervisor can create/delete groups too, but only as subgroup of groups he/she belongs to.
- Superadmin -- Inherits all permissions from supervisor role. Most powerful user in ReCodEx who should be able to do everything which is provided by application.