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