Como
Como is a Toolforge platform designed to facilitate the creation of gamified tasks for knowledge contribution. This page provides documentation for using and contributing to Como.
Como | |
A GWAP Platform | |
---|---|
How to Use Como?
editPlay in your web browser here: [1]
Or download the Android App: [2]
How to Create New Games?
editHere are some examples. The game creation form includes the following elements:
- Name
- Short Description
- Long Description
- Question
- List Publicly
- Prompt Type
- Prompt Labels
- Response Type
- Confidence Type
- Action Type
- Data
Name
edit- The name's slug must be unique.
Short Description
edit- Displayed in multiple locations.
Long Description
edit- Displayed only on the details page.
- Contains clickable http/s links.
- Should include information about:
- The origin of the data.
- Actions executed on the data.
Question
edit- Displayed on each prompt.
- Can include placeholders.
- Can be formatted with "?" or "!".
- Can reference either custom prompt labels or the default labels ("A", "B", "C").
List Publicly
edit- If "no" is selected, games will not appear in the game list or on the main page.
- Games can still be shared using their URL.
Prompt Type
edit- Determines how prompts are composed, affecting which columns are read from the input data.
- Text prompts require columns named "text1", "text2", etc., with an optional link parameter ("link1", "link2") that turns the text blue.
- Image prompts need an "image" + number column with a direct URL to an image.
- Available prompt formats include:
- Two Texts
- Three Texts
- Four Texts
- One Text, One Image
Prompt Labels
edit- A JSON-formatted string array, for example:
["Item", "DE description"]
- Displayed next to items in the game interface to facilitate understanding of the question.
- If unspecified, default prompt labels "A", "B", "C", etc., are used.
Response Type
edit- Yes/No/Skip
- Three buttons; action executed with each green button press.
- Editable Text
- Adds an editable text box.
- Includes a "response_text" placeholder in the Request Body of Actions containing the user-approved text version.
- Executes an action every time text is submitted.
- Single Choice
- Adds a list of selectable choices (up to 4)
- The number of the selected option is saved in the resulting table
- The data table needs columns with the names "option1" up to "option4"
- The options can also be a clickable link by supplying a "option1link"
Confidence Type
edit- Single Confirmation
- Available to both anonymous and Wikimedia Account users.
- Marked as done after a single evaluation.
- Single Confirmation (requires account)
- Requires a Wikimedia Account; marked as done after a single evaluation.
- Double Confirmation
- Available to both anonymous and Wikimedia Account users.
- Settled as the answer after evaluation by two users.
- Double Confirmation (requires account)
- Requires a Wikimedia Account; settled as the answer after evaluation by two users.
Action Type
edit- Actions will be executed by logged-in accounts (Maybe anonymous accounts will edit as a bot in the future)
- It's possible to include multiple requests per prompt
- Each possible request consists of three parts
- HTTP Method: One of POST, PUT, PATCH
- Request URL: An URL to run the action on (supports placeholders for Wikibase REST API)
- Request Body: A JSON Formatted Object (supports placeholders)
- There a three possible choices:
- None -> No Action
- Wikibase REST API
- Example of an URL that edits Wikidata descriptions: https://www.wikidata.org/w/rest.php/wikibase/v0/entities/items/%custom_id%/descriptions/en
- Example of a Request Body to update descriptions with the result of a Editable Text response type:
{ "description": "%response_text%", "bot": false }
- Action API
- Example of a Request URL that uses the Action API: https://commons.wikimedia.org/w/api.php (Doesn't support placeholders)
- Example of a Request Body to add descriptions to Structured Data on Commons (This is a cheat, the format is converted to url-encoded on the backend):
{ "action": "wbsetlabel", "format": "json", "bot": 1, "id": "%custom_id%", "value": "%response_text%", "language": "en" }
Data
edit- Contains the actual data used in the game.
- Should be formatted as CSV text or a CSV file (comma-separated) in UTF-8.
Submitting
edit- You can check most of the advanced game settings by clicking on "Show Advanced Information" in the menu on the top right of a game
- Games need to be activated by an Admin to be playable at the moment
Integration with OpenRefine
editTo export a game with reconciliation information from OpenRefine, use the following code snippet in the "Edit Cells" dialog:
import json
resultSet = []
for cand in cell.recon.candidates:
resultDet = {"suggest_id": cand.id, "suggest_name": cand.name, "suggest_score": cand.score}
resultSet.append(resultDet)
return json.dumps(resultSet)
Here is some more information on how to extract different variables from OpenRefine.
Placeholders
editUsed in various parts of Como, namely the Question and Actions, referencing a column in the uploaded data with the notation "%variable1%".
Custom ID
edit- A special field in the uploaded data used to reference it later.
- Named "custom_id".
- Also usable as a placeholder.
- Included in the exported table.
Export Data
edit- Games can be exported from the details screen.
- The export includes a zipped CSV table containing only the fields used by Como and special fields like "custom_id".
Planned Features
edit- Enhanced gamification features such as score visibility.
- Improved support for images.
- Introduction of fun default games like image description checking and translation tasks.
Get Involved
editSuggest features and report bugs here.