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