Wikidata:How to create Wikidata Tours/Javascript/nl
JavaScript pagina aanmaken
Bij elke rondleiding is een JavaScript-bestand nodig dat een reeks opties bevat voor het configureren van de rondleiding. De rest van de instructies op deze pagina is bedoeld als ondersteuning voor de Interfacebeheerder.
NB: Als u een fundamentele kennis van JavaScript en CSS heeft, kunt u het JavaScript-bestand zelf maken door de stappen op deze pagina te volgen. U heeft nog steeds hulp nodig van een Interfacebeheerder om het bestand daadwerkelijk te implementeren voor het testen in de volgende stap, maar dit bespaart ze wat tijd omdat ze kunnen starten met uw voorgestelde JavaScript-bestand.
Bestandsnaam en locatie
In dit stadium van het proces moet het JavaScript-bestand worden gemaakt in uw eigen gebruikersruimte, bijvoorbeeld. Gebruiker:YOUR_USERNAME/tours/wbmycooltour.js. Om de rondleiding daadwerkelijk uit te voeren (ofwel op test.wikidata.org of main wikidata.org) moet u het JavaScript-bestand echter in de "MediaWiki" naamruimte plaatsen met behulp van de volgende naamconventie: MediaWiki:Guidedtour-tour-"'naamrondleiding"'.js.
De [tour name|naam van de rondleiding] wordt ook gespecificeerd als een van de configuratiemogelijkheden in het JavaScript-bestand. Dit moet overeenkomen met de bestandsnaam voor de rondleiding. Gebruik bijvoorbeeld de bestandsnaam MediaWiki:Guidedtour-tour-wbcoordinates.js voor een rondleiding met de naam "wbcoordinates". U moet het JavaScript-bestand alleen op deze locatie plaatsen op de hoofdwikidata.org zodra de rondleiding volledig is getest en verfijnd op "'test"'.wikidata.org, zoals uitgelegd op deze pagina.
Om samen te vatten, moet het bestand zich op de volgende plaatsen bevinden als u door de stappen van de rondleiding gaat:
Gebruiker namespace
(Current step)
MediaWiki namespace test.wikidata.org
(Teststap)
MediaWiki namespace www.wikidata.org
(Publiceren stap)
Structuur
Ervan uitgaande dat u een rondleiding maakt met de naam "My Cool Tour", heeft u het volgende nodig:
- Een wikipagina om naar te linken voor de tekst van de rondleiding, zoals Wikidata:Tours/My_Cool_Tour
- Een JavaScript-bestand, dat moet worden geplaatst op MediaWiki:Guided-tour-wbMyCoolTour
- Een nieuw Wikidata-item, alleen gebruikt door deze rondleiding
Het JavaScript-bestand voor "My Cool Tour" wordt aangevuld met de details die worden weergegeven in de onderstaande voorbeeldsjabloon. Omdat dit slechts een fictieve rondleiding is, bestaan de Wiki-pagina en het JavaScript-bestand niet, maar u kunt de referenties rondleidingbestanden bekijken voor een echt voorbeeld:
- Naam: wbreversies
- Wikipagina: Rondleidingen Referenties
- JavaScript-bestand: MediaWiki:Guidedtour-tour-wbreferences.js
- Wikidata-item: Earth (Q85408509)
- Rondleiding URL: https://www.wikidata.org/w/index.php?title=Q85408509&tour=wbreferences
Vergroot het voorbeeld hieronder voor een sjabloon dat u als uitgangspunt kunt kopiëren en plakken.
/*
* @see [[Wikidata:Tours/My_cool_tour]]
*
* @author Your_Username_Goes_Here
*/
( function( $, mw, gt, wb ) {
$.ajax( {
async: false,
url: mw.util.wikiScript() + '?title=MediaWiki:Guidedtour-lib.js&action=raw&ctype=text/javascript',
dataType: 'script'
} );
/**
* Name of your tour, always starts with 'wb' by convention
*/
var tourName = 'wbmycooltour',
/**
* Wikidata item that will be loaded for the tour
*/
tourEntityId = 'Q123...',
/**
* Initial data to add to the tour item, such as labels, descriptions and statements in standard wikibase syntax
*/
newData = { };
gt.init( tourName, tourEntityId, newData, {
/**
* The Wiki page from where the tour texts should be loaded.
*/
pageName: 'Wikidata:Tours/My_cool_tour',
/**
* The steps of the tour.
*/
steps: [ {
// 1. Welcome to My Cool Tour
}, {
// 2. Some background info
}, {
// 3. Add a statement
attachTo: '.wikibase-statementgrouplistview > .wikibase-addtoolbar-container .wikibase-toolbar-button-add',
actionBtn2: '.wikibase-statementgrouplistview > .wikibase-addtoolbar-container .wikibase-toolbar-button-add a',
}, {
// 4. Select a property
position: 'top',
attachTo: '.wb-edit',
}, {
// 5. Input a value
position: 'top',
attachTo: '.wb-new .valueview-value'
}, {
// 6. Add a reference
position: 'top',
attachTo: '.wb-new .wikibase-statementview-references .wikibase-toolbar-button-add',
actionBtn2: '.wb-new .wikibase-statementview-references .wikibase-toolbar-button-add a'
}, {
// 7. Select reference property
position: 'top',
attachTo: '.wb-reference-new .ui-suggester-input'
}, {
// 8. Input reference value
position: 'top',
attachTo: '.wb-reference-new .valueview-value',
}, {
// 9. Publish
position: 'top',
attachTo: '.wb-new .wikibase-toolbar-button-save',
actionBtn2: '.wb-new .wikibase-toolbar-button-save a',
}, {
// 10. Congratulations!
// The function below should be included on the last slide
// It makes the final "OK" click redirect back to the tours home page
// Note: This is a temporary hack, it will not be needed in the near future
onShow: function() {
// Todo: should be the default action for clicking the "end tour" button on any Wikidata
$('.guidedtour-end-button').off('click').on('click', function() {
window.location = window.location.origin + '/wiki/Wikidata:tours';
})
}
} ]
} );
} )( jQuery, mediaWiki, mediaWiki.guidedTour, wikibase );
Naam rondleiding
Dit is de naam die wordt gebruikt om de rondleiding te identificeren, het wordt gebruikt in de URL bij het starten ervan. De naam moet:
- Uniek zijn, twee rondleidingen kunnen niet dezelfde naam hebben.
- Gebruik alleen normale tekst in kleine letters, zonder spaties, koppeltekens of andere speciale tekens.
- Komt overeen met de naam aan het einde van de JavaScript-bestandsnaam (bijvoorbeeld ingesteld op "'wbmycooltour' in het bestand MediaWiki:Guidedtour-tour-'wbmycooltour.js).
- Begin met "wb" in overeenstemming met de conventie voor andere rondleidingen (bijv. "wbqualifiers" of "wbuniqueidentifiers").
- Zo kort mogelijk houden (bijv. "wbstatements" of "wbofficialwebsite").
tourEntityId
Voer het Q-nummer in van het in de vorige stap gecreëerde item. Dit is het toegewijde Wikidata-item dat zal worden geladen bij de rondleiding. Het item dat u hier invoert, wordt pas gebruikt als u de laatste rondleiding doorloopt tijdens de stap Publiceren, maar het is goed om het op dit moment te registreren.
belangrijk: Het rondleiding item zal volledig worden van gegevens worden verwijderd elke keer dat een gebruiker de rondleiding doet, dus u moet nooit een 'normaal' Wikidata item hiervoor gebruiken!
newData
newData is een JavaScript-object met alle gegevens die u bij het initiëren van de rondleiding wilt toevoegen, zoals etiketten, beschrijvingen en verklaringen.
Omdat het object wordt verwijderd wanneer een gebruiker de rondleiding begint, betekent het vullen van de startgegevens als een leeg object { } dat de rondleiding altijd begint als een volledig leeg item.
Bestaande item-gegevens gebruiken
Het formaat voor het verstrekken van startgegevens past bij de standaard Wikibase-syntax voor het beschrijven van items, zodat u gemakkelijk kunt exporteren van elk bestaand item. De twee belangrijkste benaderingen zijn:
- Met behulp van de gelinkte gegevensinterface: u kunt bijvoorbeeld de volledige inhoud van http://www.wikidata.org/entity/Q42.json kopiëren en in uw JavaScript-bestand plakken als u een volledige kopie van Douglas Adams (Q42). Dit is over het algemeen handig bij het kopiëren van een item met niet al te veel gegevens
- Het gebruik van de Wikidata API wbgetentities actie: Hiermee kunt u controleren welke gegevenssoorten u wilt terugvinden, inclusief het filteren per taal. Bijvoorbeeld, deze API-oproep geeft verklaringen terug, samen met etiketten en beschrijvingen in het Engels en het Frans - https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q42&languages=en%7Cfr&props=claims%7Clabels%7Cdescriptions
De normale aanpak is om de startgegevens te filteren die nodig zijn om de rondleiding uit te voeren, en om de scène in het algemeen te zetten en het gevoel te geven dat het een echt item is. Het is echter sterk aan te raden om het etiket in alle beschikbare talen te houden om de vertaling van de rondleiding te ondersteunen (meer informatie hieronder).
Labels en beschrijvingen in de startgegevens
- Voeg altijd een label toe aan de startgegevens van uw item (tenzij de rondleiding gaat om het toevoegen van het label). Het etiket biedt voor nieuwe gebruikers een belangrijke context.
- U moet het etiket in alle beschikbare talen vermelden. Zoals hierboven is uitgelegd, worden de startgegevens meestal gekopieerd van een bestaande populair item, zodat het etiket in een groot aantal verschillende talen beschikbaar zal zijn. Het toevoegen van deze gegevens betekent nu dat de labels waarschijnlijk al beschikbaar zullen zijn als de rondleiding in verschillende talen wordt vertaald. Zie het vertalen van pagina voor meer informatie.
- U moet altijd een beschrijving toevoegen van het formulier "Test item voor "'TOUR NAME"' rondleiding alleen" (vervang TOUR NAME met de naam van de rondleiding). Omdat artikelen van de rondleiding gewoon normale Wikidata-artikelen zijn, kunnen ze in het zoekvak verschijnen. Het toevoegen van deze beschrijving zorgt ervoor dat iedereen zich ervan bewust is dat het item niet het echte item is voor dat onderwerp - bijvoorbeeld het Earth (Test item for References tours only) versus het 'echte' item Earth (third planet from the Sun in the Solar System).
- Als u zowel labels als beschrijvingen toevoegt in het nieuwe object, moet u ervoor zorgen dat de combinatie van label + beschrijving uniek is op Wikidata. Als het niet zo is, zal de rondleiding niet laden! Dit komt omdat de eerste bewerking om startgegevens toe te voegen wordt afgewezen. Dit kan worden bereikt door het volgende te doen:
Stap configuratie
Elke stap in de rondleiding heeft een JavaScript-object om de functionaliteit ervan te beschrijven. Deze worden toegevoegd aan het array steps in de initialisatie-opties, met één object voor elke stap in de rondleiding. Voor elke stap die gewoon in het midden van de pagina moet zweven en geen speciale actie hoeft te voltooien, kunt u gewoon een leeg object gebruiken.
U moet beginnen met het toevoegen van een leeg object voor elke stap, met een opmerking boven elke stap om de titel van de stap en eventuele speciale instructies aan te geven (kopieer dit van de overeenkomstige Rondleiding Wiki pagina). Dit zal u helpen bij het bijhouden van wat u moet doen terwijl u de instellingen voor elke stap doorloopt.
De voor elke stap beschikbare opties zijn:
Eigenschap | Toegestane waarden | Beschrijving |
---|---|---|
position |
|
Bepaalt de positie van de pop-up in relatie tot het element waaraan u het toevoegt.
Als er geen "attachTo" is ingesteld, wordt deze instelling genegeerd.
|
attachTo |
|
Selector voor het element waaraan de pop-up moet worden bevestigd.
Als u dit leeg laat, dan zal de pop-up in het midden van de pagina komen te staan. |
actionBtn2 |
|
Selector voor een klikactie die moet worden voltooid om de stap verder te laten gaan. Het invoeren van een waarde hiervoor heeft twee belangrijke functies:
Een aantal belangrijke punten over deze eigenschap: De functie ondersteunt nu alleen eenvoudige klikacties zoals "add statement", "add qualifier", "add reference" enz. Voor stappen waar de actie meer complex is (bijvoorbeeld "zoek en selecteer eigenschap P21"), moet u deze eigenschap voorlopig leeg laten liggen en de gebruiker de stap laten voltooien en de rondleiding handmatig doorzetten.
|