master
Petr Stefan 8 years ago
parent 1b5a7ae92d
commit b529a040a9

@ -0,0 +1 @@
,petr,felicity,17.01.2017 15:01,file:///home/petr/.config/libreoffice/4;

@ -1587,7 +1587,7 @@ checking. Previous chapters implies, that each user has to have a role, which
corresponds to his/her privileges. Our research showed, that three roles are corresponds to his/her privileges. Our research showed, that three roles are
sufficient -- student, supervisor and administrator. The user role has to be sufficient -- student, supervisor and administrator. The user role has to be
checked with every request. The good points is, that roles nicely match with checked with every request. The good points is, that roles nicely match with
granuality of API endpoints, so the permission checking can be done at the granularity of API endpoints, so the permission checking can be done at the
beginning of each request. That is implemented using PHP annotations, which beginning of each request. That is implemented using PHP annotations, which
allows to specify allowed user roles for each request with very little of code, allows to specify allowed user roles for each request with very little of code,
but all the business logic is the same, together in one place. but all the business logic is the same, together in one place.
@ -1629,7 +1629,7 @@ jobs which failed on a worker hardware issue. These jobs are typically submitted
by different user than the author (an administrator for example), so the by different user than the author (an administrator for example), so the
original authors should be notified. In this case it is more reasonable to load original authors should be notified. In this case it is more reasonable to load
the results immediately and optionally send them a notification via an email. the results immediately and optionally send them a notification via an email.
This is exactely what we do. This is exactly what we do.
It seems with the benefit of hindsight that immediate loading of all jobs could It seems with the benefit of hindsight that immediate loading of all jobs could
simplify the code and it has no major drawbacks. In the next version of ReCodEx simplify the code and it has no major drawbacks. In the next version of ReCodEx
@ -1678,7 +1678,7 @@ etc. The easiest solution is to manage this information by hand, every instance
of the API server has to have an administrator which would have to fill them. of the API server has to have an administrator which would have to fill them.
This of course includes only the currently available workers and runtime This of course includes only the currently available workers and runtime
environments which does not change very often. The real-time statistics of the environments which does not change very often. The real-time statistics of the
backend cannot be made accesible this way in a reasonable way. backend cannot be made accessible this way in a reasonable way.
A better solution is to update this information automatically. This can be A better solution is to update this information automatically. This can be
done in two ways: done in two ways:
@ -1708,7 +1708,7 @@ One of the downsides is the large number of different web browsers (including
the older versions of a specific browser) and their different interpretation the older versions of a specific browser) and their different interpretation
of the code (HTML, CSS, JS). Some features of the latest specifications of HTML5 of the code (HTML, CSS, JS). Some features of the latest specifications of HTML5
are implemented in some browsers which are used by a subset of the Internet are implemented in some browsers which are used by a subset of the Internet
users. This has to be taken into account when choosing apropriate tools users. This has to be taken into account when choosing appropriate tools
for implementation of a website. for implementation of a website.
There are two basic ways how to create a website these days: There are two basic ways how to create a website these days:
@ -1734,7 +1734,7 @@ There are two basic ways how to create a website these days:
based on the data received from the API server. The script file is usually based on the data received from the API server. The script file is usually
quite large but it can be cached and does not have to be downloaded from the quite large but it can be cached and does not have to be downloaded from the
server again (until the cached file expires). Only the data from the API server again (until the cached file expires). Only the data from the API
server needs to be transfered over the Internet and thus reduce the volume of server needs to be transferred over the Internet and thus reduce the volume of
payload on each request which leads to a much more responsive user experience, payload on each request which leads to a much more responsive user experience,
especially on slower networks. Since the client-side code has full control especially on slower networks. Since the client-side code has full control
over the UI and a more sophisticated user interactions with the UI can be over the UI and a more sophisticated user interactions with the UI can be
@ -1914,9 +1914,9 @@ instance have own group hierarchy, so you can choose only those from your
instance. That is why list of groups is available from instance link located in instance. That is why list of groups is available from instance link located in
sidebar. This link brings you to instance detail page. sidebar. This link brings you to instance detail page.
In there you can see a description of the intance and most importantly in In there you can see a description of the instance and most importantly in
"Groups hierarchy" box there is a hierarchical list of all public groups in the "Groups hierarchy" box there is a hierarchical list of all public groups in the
instance. Please note that groups with plus sign are collapsable and can be instance. Please note that groups with plus sign are collapsible and can be
further extended. If you successfully located group you would like to join, further extended. If you successfully located group you would like to join,
continue by clicking on "See group's page" link following with "Join group" continue by clicking on "See group's page" link following with "Join group"
link. link.
@ -1928,9 +1928,9 @@ link.
On the group detail page there are multiple interesting things for you. First On the group detail page there are multiple interesting things for you. First
one is brief overview with information describing the group, there is list with one is brief overview with information describing the group, there is list with
supervisors and also hierarchy of subgroups. Most importantly there is supervisors and also hierarchy of subgroups. Most importantly there is
"Student's dasboard" section. This section contains list of assignments and list "Student's dashboard" section. This section contains list of assignments and
of fellow students. If supervisors of groups allowed students to see each others list of fellow students. If supervisors of groups allowed students to see each
statistics there will also be points which particular students gained. others statistics there will also be points which particular students gained.
In the "Assignments" box on the group detail page there is list of assigned In the "Assignments" box on the group detail page there is list of assigned
exercises which students are supposed to solve. The assignments are displayed exercises which students are supposed to solve. The assignments are displayed
@ -1943,7 +1943,7 @@ deadlines can be different.
An assignment link will lead you to assignment detail page where are presented An assignment link will lead you to assignment detail page where are presented
all known details about assignment. There are of course both deadlines, limit of all known details about assignment. There are of course both deadlines, limit of
submissions which you can make and also full-range description of assignment, submissions which you can make and also full-range description of assignment,
which can be localized. The localization can be ondemand switched between all which can be localized. The localization can be on demand switched between all
language variants in tab like box. language variants in tab like box.
Further on the page you can find "Submitted solutions" box where is a list of Further on the page you can find "Submitted solutions" box where is a list of
@ -1968,9 +1968,9 @@ submitter name (supervisor can submit solution on your behalf), further there
are files which were uploaded on submission and most importantly "Evaluation are files which were uploaded on submission and most importantly "Evaluation
details" and "Test results" boxes. details" and "Test results" boxes.
Evalation details contains overall results of your solution. There are Evaluation details contains overall results of your solution. There are
information such as if solution was provided before deadlines, if the evaluation information such as if solution was provided before deadlines, if the evaluation
process succesfully finished or if compilation succeeded. After that you can process successfully finished or if compilation succeeded. After that you can
find a lot of values, most important one is the last, "Total score", consisting find a lot of values, most important one is the last, "Total score", consisting
of your score, slash and the maximum number of points for this assignment. of your score, slash and the maximum number of points for this assignment.
Interestingly the your score value can be higher than the maximum, which is Interestingly the your score value can be higher than the maximum, which is
@ -2019,7 +2019,7 @@ of the matching group box.
### Manage group ### Manage group
Locate group you supervise and you want to manage. All your supervised groups Locate group you supervise and you want to manage. All your supervised groups
are available in sidebar under "Groups -- supervisor" collapsable menu. If you are available in sidebar under "Groups -- supervisor" collapsible menu. If you
click on one of those you will be redirected to group detail page. In addition click on one of those you will be redirected to group detail page. In addition
to basic group information you can also see "Supervisor's controls" section. In to basic group information you can also see "Supervisor's controls" section. In
this section there are lists of current students and assignments. this section there are lists of current students and assignments.
@ -2121,7 +2121,7 @@ runtime environment and another nested tabbed box. In there you can find all
hardware groups which are available for exercise and set limits for all test hardware groups which are available for exercise and set limits for all test
cases. The time limits have to be filled in seconds (float), memory limits are cases. The time limits have to be filled in seconds (float), memory limits are
in bytes (int). If you are interested in some reference values to particular in bytes (int). If you are interested in some reference values to particular
test case then you can take a peek on collapsable "Reference solutions' test case then you can take a peek on collapsible "Reference solutions'
evaluations" items. If you are satisfied with changes you made to the limits, evaluations" items. If you are satisfied with changes you made to the limits,
save form with "Change limits" button right under environments box. save form with "Change limits" button right under environments box.
@ -2183,7 +2183,7 @@ during execution according to job configuration.
Files can be uploaded either by drag and drop mechanism or by standard "Add a Files can be uploaded either by drag and drop mechanism or by standard "Add a
file" button. In opened dialog window choose file which should be uploaded. All file" button. In opened dialog window choose file which should be uploaded. All
chosen files are immediatelly uploaded to server but to save supplementary files chosen files are immediately uploaded to server but to save supplementary files
list you have to hit "Save supplementary files" button. All previously uploaded list you have to hit "Save supplementary files" button. All previously uploaded
files are visible right under drag and drop area, please note that files are files are visible right under drag and drop area, please note that files are
stored on fileserver and cannot be deleted after upload. stored on fileserver and cannot be deleted after upload.
@ -2227,7 +2227,7 @@ get the up-to-date information).
## Group administrator ## Group administrator
Group administrator is the group supervisor with some additional permissions in Group administrator is the group supervisor with some additional permissions in
particular group. Namely group administator is capable of creating a subgroups particular group. Namely group administrator is capable of creating a subgroups
in managed group and also adding and deleting supervisors. Administrator of the in managed group and also adding and deleting supervisors. Administrator of the
particular group can be only one person. particular group can be only one person.
@ -2239,7 +2239,7 @@ sidebar and choose the right group detail page. If you are there you can see
"Administrator controls" section, here you can either add supervisor to group or "Administrator controls" section, here you can either add supervisor to group or
create new subgroup. create new subgroup.
Form for creatingi a subgroup is present right on the group detail page in "Add Form for creating a subgroup is present right on the group detail page in "Add
subgroup" box. Group can be created with following options: subgroup" box. Group can be created with following options:
- name which will be visible in group hierarchy - name which will be visible in group hierarchy
@ -2270,7 +2270,7 @@ particular supervisor should not to be supervisor of the group anymore.
Instance administrator can be only one person per instance. In addition to Instance administrator can be only one person per instance. In addition to
previous roles this administrator should be able to modify the instance details, previous roles this administrator should be able to modify the instance details,
manage licences and take care of top level groups which belong to the instance. manage licenses and take care of top level groups which belong to the instance.
### Instance management ### Instance management
@ -2287,7 +2287,7 @@ with corresponding form. In there you can fill following information:
- name of the instance which will be visible to every other user - name of the instance which will be visible to every other user
- brief description of instance and for whom it is intended - brief description of instance and for whom it is intended
- checkbox if instance is open or not which means public or private (hidden from - checkbox if instance is open or not which means public or private (hidden from
potentional users) potential users)
If you are done with your editation, save filled information by clicking on If you are done with your editation, save filled information by clicking on
"Update instance" button. "Update instance" button.
@ -2306,7 +2306,7 @@ appear in "Groups hierarchy" box at the top of the page.
## Superadministrator ## Superadministrator
Superadministrator is a user with the most privileges and as such superadmin Superadministrator is a user with the most privileges and as such superadmin
should be quite a unique role. Ideally, there should be only oneu ser of this should be quite a unique role. Ideally, there should be only one user of this
kind, used with special caution and adequate security. With this stated it is kind, used with special caution and adequate security. With this stated it is
obvious that superadmin can perform any action the API is capable of. obvious that superadmin can perform any action the API is capable of.

Loading…
Cancel
Save