9 | | Each job instance is assigned either to a user or to a team. |
10 | | |
11 | | Applications are classified as: |
12 | | |
13 | | * Online: jobs are performed by a single user, sequentially, in a web browser. |
14 | | * Offline: jobs are not online, e.g. because they're potentially handled by a group of users, or requires other asynchronous activity. |
15 | | |
16 | | An application has an associated URL |
17 | | identifying a script that takes a job ID argument and displays the job instance. |
18 | | The job may consist of a single web page or a sequence of web pages. |
19 | | In either case the last page in the sequence, when done, should call Bossa API |
20 | | functions to record the completion of the task, and perhaps display another task. |
21 | | |
22 | | Applications are either: |
23 | | |
24 | | * Individually validated: the application has a server-side program that examines a completed instance and decides if it's valid. |
25 | | * Group validated: the application has a server-side program that examines a group of instances, sees if there's a consensus, and if so constructs a ''canonical result'' and marks the instances as valid or invalid. |
26 | | |
27 | | A project can configure: |
28 | | |
29 | | * A maximum number of outstanding offline jobs per user or group |
30 | | * A maximum number of jobs per day issued per user or group |
59 | | Selecting an online application invokes the Bossa ''scheduler'' script, |
60 | | which selects a job instance suitable for the user, |
61 | | and redirects to its instance URL. |
62 | | |
63 | | Selecting an offline application invokes the Bossa scheduler, |
64 | | which selects a job and redirects to its instance-start URL. |
65 | | |
66 | | Team administrators are provided with an interface for getting |
67 | | offline jobs for the team. |
68 | | The scheduler allows a team to get instances only for applications |
69 | | for which some team member has the required skill. |
70 | | |
71 | | Users and teams are provided with an interface for seeing |
72 | | a list of pending offline jobs. |
73 | | They can indicate that one of them is completed; |
74 | | this takes them to the instance-complete URL for that job. |
75 | | |
76 | | == Integration with BOINC == |
| 32 | == Possible extensions == |
| 33 | === Integration with BOINC === |