Toolhub
Toolhub är en av gemenskapen underhållen katalog över programvaruverktyg som används av Wikimediarörelsen. Tekniska volontärer kan använda Toolhub för att söka dokumentera verktyg som skapat eller underhåller. Alla wikimedianer kan använda Toolhub för att söka efter verktyg som kan hjälpa dem med sitt arbete och för att skapa listor över användbara verktyg man kan dela med andra.
Vad är ett "verktyg"?
På Toolhub är ett "verktyg" en exklusive term för programvaruapplikationer som interagerar med Wikimedias projekt utan att vara fullt ut implementerade av MediaWiki. Detta inkluderar sånt som användarskript, finesser, bottar, mallar, lua-moduler, webbapplikationer och mobilappar. Katalogen är tänkt att vara inkluderande snarare än exkluderande så länge det som dokumenteras är användbart för att förbättra arbetsflöden och användarupplevelsen när man interagerar med Wikimediarörelsens olika projekt.
Innehållslicens
Toolinfo.json-data och annan strukturerad data som samlats in i Toolhub licensieras under Creative Commons CC0 Dedication (CC0). Återanvändare uppmuntras uppge attribution för att länka tillbaka till Toolhub men krävs inte för att uppfylla licenskraven. De som underhåller externt lagrade toolinfo.json-datafiler har som ansvar att se till att sina bidrag lever upp till CC0-licensens krav. Toolinfo-data som kopieras från Wikimedas innehållswikier eller annan dokumentation under en icke-CC0-licens bör begränsa den kopierade beskrivningens innehåll till 50 ord/250 tecken för att begränsa potentiella upphovsrättslicensskyldigheter såsom attribution. Ord-/teckentaket gäller bara kopierat innehåll och den ursprungliga CC0-beskrivningen kan vara hur lång som helst.
Användarkonton
Toolhub använder OAuth-auktorisering så att användare kan logga in på Toolhub med sitt Wikimedia-användarkonto. Inga nya konton eller lösenord behövs.
Lägga till verktyg i katalogen
Verktyg kan läggas till i Toolhub-katalogen genom att antingen läsa från en registrerad toolinfo.json-fil-URL eller genom att direkt skicka data till Toolhubs API.
Hosting your toolinfo.json files as part of a Git repository makes it possible for volunteers to submit pull requests to help keep the core tool information updated.
Publicera en toolinfo-fil och registrera den med Toolhubs webbskrapare
En toolhub-fil är ett JSON-dokument som följer toolinfos schema. Denna standard är ett tillägg till toolinfo-specifikationen som utvecklades av Husky som en del av hans verktyg Hay's Directory.
- Skapa en JSON-fil sm följer schemat
- Publicera filen på en webbplats
- Registrera filens URL med Toolhubs webbskrapare
Toolhub kontrollerar varje registrerad toolinfo-URL ungefär en gång i timmen och uppdaterar katalogen med ändringar.
Example toolinfo.json files from real tools:
Verktyg som ligger på Toolforge kan använda toolsadmin för att skapa en toolinfo-post som automatiskt kommer importeras av Toolhub och Hay's Directory. |
Använda Toolhubs användargränssnitt för att skapa och redigera en toolinfo-post
Lägg till eller ta bort verktyg > Skapa ett nytt verktyg-skärmen i Toolhub kan användas för att skapa en ny toolinfo-post direkt i Toolhubs katalog. Ytterligare information som inte samlats in i toolinfos skapandeformulär kan läggas till i efterföljande redigeringar med verktygets redigera verktyg-skärm.
Använda Toolhubs API för att skapa och redigera en toolinfo-post
Toolhubs API:s POST /api/tools/-slutpunkt kan användas för att skapa en ny toolinfo-post direkt i Toolhubs katalog. Denna API används bakom kulisserna av Toolhubs användargränssnitt. Läs Toolhubs API-dokumentation för detaljerad information om förväntade inmatningar och resultat från denna PI-slutpunkt.
Redigera verktygsinformation
Some of the information contained in the toolinfo record is editable by anyone, but some of it can only be edited by owners or admins. Toolhub's data model splits tool information into two parts: the core tool info and its annotations:
Type of metadata | How it is created | Who can change it | Where to make changes |
Core tool info
Basic and essential information about the tool. |
Created by using API or Toolhub (the UI uses the API on the backend) OR By submitting a toolinfo.json URL to be crawled |
The owner, Administrators and Oversighters OR Users who can change (or submit pull requests for) the externally-stored toolinfo.json file |
In the same place the record was created. If the tool record was originally submitted through Toolhub, it can only be edited through Toolhub. If tool record data is stored externally in toolinfo.json files, it can only be edited there. |
Community annotations
Additional information about the tool. |
Toolhub UI, API, or through tools like Toolhunt that use the API | Any authenticated user with a Wikimedia account | Toolhub UI, API, or through tools like Toolhunt that use the API |
Core tool info
All tools in Toolhub have a core tool record containing basic information, such as the tool name and author. Only the owner, Administrators and Oversighters can edit the core tool info in Toolhub. The owner of a tool's core information is the user who created it within Toolhub (regardless of which method they used to create it).
For externally-stored toolinfo records, anyone with permissions to edit the crawled toolinfo file can edit the core tool info.
Redigeringsverktygs URL:er
Ett verktygs webbadress är en del av toolinfodatans "kärna". Detta betyder att det kan skickas in som en del av toolinfo.json-filen eller redigeras genom UI & API av "ägaren" av toolinfo-inslaget. Den kan (ännu) inte redigeras av den större gemenskapen. Om formuläret du ser när du klickar på knappen "redigera verktyg" inleds med fältet "API URL", så ser du formuläret för att redigera "anteckningslager" av ett toolinfoinslag -- du kommer inte kunna redigera verktygets webbadress.
If you are a tool maintainer and your record has been imported from https://toolsadmin.wikimedia.org, the edit form on toolsadmin displays a checkbox near the bottom of the form labeled "This is a webservice". Check this box to automatically set the toolinfo record's URL. Note that the Toolhub crawler runs once a hour, so changes to toolinfo records made through Toolsadmin take over an hour to show up.
Community annotations
After Toolhub receives a core tool record, volunteers can submit annotations to it. Annotations help make it easier to find tools by supplying additional information. Annotations cannot be stored in toolinfo.json files; they are meant to always be editable by community members.
The annotations fields are:
- Ikon
- Verktygstyp
- Tillgängliga UI-språk
- För vilka wikier
- Wikidata-QID
- Länkar: API, översättningar, felhanterare, dokument, osv.
- Ifall verktyget är föråldrat/experimentellt/ersatt av ett annat verktyg
Detaljer om fälten som är en del av kommentarslagret ligger i API-dokumentationen på https://toolhub.wikimedia.org/api-docs#put-/api/tools/-name-/annotations/.
Some annotations mirror fields from the core toolinfo.json specification. Toolhub only displays an annotations field for community editing if the corresponding field in the core record is empty or missing. When both the core and annotation data for a given field are populated, Toolhub displays the core data rather than the annotation data. This was chosen as a compromise between the conflicting desires for tool maintainers to have ultimate control of their data records, and for the community to be able to improve the documentation for tools.
Söka efter verktyg
Söksystemsskärmen använder Elasticsearch:s enkla sökfrågesträngssyntax:
+
signifies AND operation|
signifies OR operation-
negates a single token"
wraps a number of tokens to signify a phrase for searching*
at the end of a term signifies a prefix query(
and)
signify precedence~
N after a word signifies edit distance (fuzziness)~
N after a phrase signifies slop amount- Special characters (
+
,|
,-
,"
,*
,(
,)
, and~
) must be escaped with\
or in a quoted phrase to be searched for - Searches are case-insensitive
The autocomplete feature is designed to help you with relevant suggestions as you type a query.
Create and share lists of tools
The Your lists screen can be found from the link in the user menu available to logged-in users. Click on the user icon in the top navigation bar next to the language selector to open the user menu. Here you can create and edit lists of tools and, when you are ready, mark them as public to share with others.
Tools can also be added to (or removed from) an existing or newly created list directly from the menu button on the tool card, as well as from the menu button on the tool info page.
Public and featured lists
Public lists can be viewed and searched by navigating to the Published lists section from the navigation drawer on the left. Administrators can mark public lists as featured, which will allow them to be shown on the Toolhub landing page.
Lists can be shared by copying the URL of the list from your browser's URL bar or clicking the Copy link and share with others link on the list's detail screen.
Save your favorite tools to a special list
Tools can be marked as "favorites" by logged-in users, which means they are saved to a special list only visible to the current user. This list of favorites can be accessed from the user menu in the top-right corner. To mark a tool as a favorite, click on a tool card to reach the tool info page, then click the favorite button.
User permission levels
Anonymous users
All read-only actions can be used without authenticating to Toolhub.
Users
Authenticated users can perform all read-only actions in the same way that anonymous users can. Additionally they can create new toolinfo records, edit toolinfo records that they have previously created, add annotations to tool records created by others, create new lists, and edit lists that they have previously created.
Bureaucrats
Bureaucrats can change permissions for other users, including themselves. This includes both granting and removing permissions.
Patrollers
Patrollers are able to review edits to any toolinfo records and either mark them as patrolled or leave them unpatrolled. There is currently no way for a patroller to reject an edit.
Oversighters
Oversighters are able to hide (oversight/suppress) any edit. Edits which have been previously hidden can be revealed. Oversighters are also able to edit toolinfo records and lists created by other users so that they can revert a change or make a new edit in order to remove problem content.
Administrators
Administrators have all of the abilities of bureaucrats, patrollers, and oversighters.
Patrolling changes
Patrollers and administrators can patrol changes. Patrolling rights are granted by bureaucrats or administrators.
When a change is made to a toolinfo or a tool list record, it can be patrolled from one of three places:
- From the page history: click on the option "Mark as patrolled" on the logged entry
- From a link to the change itself: click the "Mark as patrolled" link in the change summary information at the top of the page.
- From Recent changes, accessible from the navigation drawer on the left. Here, you can search and filter recent changes by multiple criteria such as record type (tool or list), username and patrolling status.
Changes can only be accepted (patrolled) or left alone. They cannot be rejected or declined.
Changing user permissions
Administrators and bureaucrats can change permissions for themselves and other users. Permissions can be added or removed. Each individual addition or removal of permission will show in the audit logs. This means that if two permissions are changed there will be two audit log entries, one for each permission.
To add a permission
- Go to the "Members" screen.
- Select the user to modify. Use the search filters to find the user.
- Click on the pencil icon after the user's name. A dialog will be displayed showing the current permissions of the user.
- Choose the group to add from the dropdown list.
- Click the "Add" button.
- A notice will appear on the screen noting that the change has been successful.
To remove a permission
- Go to the "Members" screen.
- Select the user to modify. Use the search filters to find the user.
- Click on the pencil icon after the user's name. A dialog will be displayed showing the current permissions of the user.
- Identify the permission to be removed. Click on the red trash can button to remove the permission.
- A notice will appear on the screen noting that the change has been successful.
Oversighting
Oversighting allows hiding an individual edit to a toolinfo record. This might be used for example when a user has mistakenly published their private information. Administrators and oversighters have the permissions needed to hide or reveal an edit.
Revisions that have been oversighted will have the date/time of the revision, the user's name, and the edit summary hidden in the toolinfo record's history view. All oversight actions are recorded in the audit log, including the name of the oversighter.
To hide a revision
- Identify the content to be hidden.
- Review the history to identify when that content was first added.
- Ensure that the content to be hidden is no longer visible in the toolinfo record
- If it is still visible, the toolinfo record owner, an administrator, or an oversighter can edit the toolinfo record to remove the problem content.
- From the toolinfo record history, identify all changes that need to be oversighted.
- Click the "hide" link to hide a revision.
- Repeat as required to oversight all relevant edits.
To show a hidden revision
- From the toolinfo record history, identify all changes that need to be revealed.
- Click the "reveal" link to show a revision.
- Repeat as required to reveal all relevant edits.
Översättning
Språköversättningar av Toolhub hanteras precis andra projekt och verktyg hos Wikimedia Foundation av gemenskapen på translatewiki.net.
Toolhub provides language selection based on list of known languages and not on translation completion, and is configured to provide translations based on a list of fallback languages in varying order of relevance, defaulting to English when there is no translation found for the string in either the selected language or other configured fallback languages. For this reason, you will frequently encounter situations where part of the translations in a page are in the selected language, while others parts are in other languages or English. You can help us fix this by volunteering to translate toolhub on translatewiki.net.