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

3.9 KiB

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 beeing 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

Change your profile information and some of other settings

// TODO: password change, profile change, email notifications

Group supervisor

Create group, add students in it and view their results

Create exercise update its information and then assign it to group

Administrator

Create instance and manage it

// TODO: create, delete, update, manage licenses

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 them change role in database by hand. After that manual intervention into database should never be needed.

There is a little catch in groups 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!

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 powerfull user in ReCodEx who should be able to do everything which is provided by application.