| | 40 | |
| | 41 | Skill apps are classified as: |
| | 42 | |
| | 43 | * Online: the task is performed by a single user, sequentially, in a web browser. |
| | 44 | * Offline: the task is not online, e.g. because it's potentially handled by a group of users, or requires other asynchronous activity. |
| | 45 | |
| | 46 | An online app has an associated ''instance URL'', |
| | 47 | identifying a script that takes an task ID argument and displays the task instance. |
| | 48 | The task may consist either of a single web page or a sequence of web pages. |
| | 49 | In either case the last page in the sequence, when done, should go to |
| | 50 | '''bossa_task_complete.php''', which triggers validation and then asks |
| | 51 | the user if they want more tasks. |
| | 52 | |
| | 53 | An offline app two associated URLs: ''instance start'' and ''instance complete''. |
| | 54 | Each takes a task ID argument. |
| | 55 | The start script shows the user a task instance, |
| | 56 | and makes its input files (if any) available to the user or group. |
| | 57 | The complete script prompts the user to upload files or enter results; |
| | 58 | it should then go to '''bossa_task_complete.php'''. |
| | 59 | |
| | 60 | Skill apps are either: |
| | 61 | |
| | 62 | * Individually validated: the app has a server-side program that examines a completed instance and decides if it's valid. |
| | 63 | * Group validated: the app 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. |
| | 64 | |
| | 65 | A project can configure: |
| | 66 | |
| | 67 | * A maximum number of outstanding offline tasks per user or group |
| | 68 | * A maximum number of tasks per day issued per user or group |
| | 69 | |
| | 70 | == Implementation == |
| | 71 | |
| | 72 | To get work, a user goes to a particular page. |
| | 73 | There they see a list of skill apps for which tasks are available |
| | 74 | and for which they are qualified. |
| | 75 | Online and offline apps are listed separately. |
| | 76 | Each app has an estimate of the time or other resources required to complete the task. |
| | 77 | |
| | 78 | To get work for a team, a team administrator |