Malldiskussion:Wikidata-omdirigering

Sidans innehåll stöds inte på andra språk.
Från Wikipedia

Överspelad[redigera wikitext]

@Kitayama: et al. Är det inte så att den här mallen är överspelad nu när vi har möjligheten att lägga in en badge på Wikidata för att markera att en omdirigering kopplad till Wikidata är avsiktlig? 62 mm (diskussion) 15 maj 2021 kl. 10.38 (CEST)[svara]

Vi har ett behov av att dela upp Kategori:Omdirigeringar som är anslutna till ett Wikidata-objekt i två högar - de avsiktliga och de oavsiktliga. Jag gjorde en rensning på morgon och hittade en hoper artiklar som var kopplade till grensidor i WD, det är flyttar som inte funkat fullt ut. Det finns väldigt många fel bland de oavsiktliga. Om markeringen av avsiktliga görs med mall eller i WD är från en teknisk synpunkt egalt. Från ett användarperspektiv tror jag det är svårare att få användare att gå in i Wikidata än att lägga en mall. Det är den enda invändningen jag har mot förslaget. --北山 Kitayama (diskussion) 15 maj 2021 kl. 10.57 (CEST)[svara]
Jag har en invändning till - man måste kunna SPARQL för att kunna köra rapporter för att få fram en lista över oavsiktliga om de avsiktliga markerad med badge. Det kan lösas med att färdiga petscanrapporter läggs som "infotext" överst i Kategori:Omdirigeringar som är anslutna till ett Wikidata-objekt eller dess diskussionssida. Nästa invändning är att man inte kan se på omdirigeringen i Wikipedia att badge finns. Man måste gå in i WD för att se vilken "typ" av omdirigering det är. --北山 Kitayama (diskussion) 15 maj 2021 kl. 11.06 (CEST)[svara]
Nirmos eller EnDumEn eller någon annan script-kunnig kanske kan hjälpa oss sätta en variant på "hänglåset" på sidor som är "avsiktligt kopplade till Wikidata"? Jag skulle föreslå något sådant för våra utmärkta och bra sidor (istället för mallen) också, men då tappar vi kategoriseringen.
I Kategoridiskussion:Omdirigeringar som är anslutna till ett Wikidata-objekt finns nu de här Petscan-länkarna. Det är bara att flytta över dem.
Det kan behöva städas generellt. Här hittade jag en "avsiktlig" wikidata-kopplad omdirigerad sida. Den kopplade samman en artikel om grafik med ett objekt om grensidor. 62 mm (diskussion) 15 maj 2021 kl. 11.13 (CEST)[svara]
Moment 22. För att lägga till badgen på en befintlig omdirigering måste jag först plocka bort omdirigeringen på svwp-sidan, gå till Wikidata, lägga till badgen och sedan tillbaka till svwp och lägga till omdirigeringen. Gör jag inte så går det inte att lägga till badgen eftersom kontroll sker om målartiken redan finns i WD eller inte. Det borde göras om i WD så att OM man lägger till den nya badgen så är det OK att ha en omdirigering i WD, dvs ingen kontroll ska göras av om målartikeln finns i WD eller ej. Samma problem finns ju i dag när man ska lägga till en omdirigering i WD. --北山 Kitayama (diskussion) 15 maj 2021 kl. 13.28 (CEST)[svara]
Jag vet, ytterst irriterande! Kanske går det att lägga till badgen med ett script, så man slipper den där kontrollen? 62 mm (diskussion) 15 maj 2021 kl. 13.43 (CEST)[svara]
Det här är rapporterat i Phab:T278962 som har hög prioritet. Förhoppningsvis betyder det att utvecklarna jobbar med det. Samma kontroller verkar göras om man försöker lägga till badgen med skript via api:t. Så ett skript måste också göra de onödiga redigeringarna för att ta bort och återtställa omdirigeringen.
Här är ett skript för att markera avsiktligt kopplade sidor med symbolen
$( function() {
	if ( !mw.config.get( 'wgWikibaseItemId' ) ) {
		return;
	}
	$.getJSON(
		'//www.wikidata.org/w/api.php',
		{
			action: 'wbgetentities',
			ids: mw.config.get( 'wgWikibaseItemId' ),
			props: 'sitelinks',
			sitefilter: 'svwiki',
			format: 'json',
			origin: 'https:' + mw.config.get( 'wgServer' )
		}
	).done( function( data ) {
		var badges = data.entities[ mw.config.get( 'wgWikibaseItemId' ) ].sitelinks.svwiki.badges;
		if ( badges.indexOf( 'Q70894304') >= 0 ) {
			$( '.mw-indicators' ).prepend( '<img title="Den här sidan är avsiktligt kopplad till Wikidata."  src="//upload.wikimedia.org/wikipedia/commons/8/89/Symbol_redirect_vote2.svg" height="20" />' );
		}
	} );
} );
Det kan läggas i Special:Mypage/common.js, eller som en gadget om flera tycker det är användbart. /EnDumEn 15 maj 2021 kl. 20.14 (CEST)[svara]
Den kontroll som gjordes var tydligen om man är "autoconfirmed". Är man inte det får man inte alls lägga till eller ta bort badges. Redigerar man lite i någon sandlåda så man blir konfimerad så kan man göra mer. Då kan man använda skript för att lägga till badgen. Här är ett skript som gör det:
mw.loader.using( [ 'mediawiki.ForeignApi', 'mediawiki.util' ], function() {
	if ( !mw.config.get( 'wgWikibaseItemId' ) ) {
		return;
	} else if ( !mw.config.get( 'wgIsRedirect' ) ) {
		return;
	}

	var pl = mw.util.addPortletLink( 'p-cactions', '#', 'Avsiktlig omdir', 'addredirbadge', 'Märk WD-objektet med badgen för avsiktlig omdirigering'),
		fapi = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php' ),
		qid = mw.config.values.wgWikibaseItemId;
	$( pl ).click( function() {
		fapi.post( {
			action: 'wbgetentities',
			ids: qid,
			props: 'sitelinks',
			sitefilter: 'svwiki'
		} ).then( function( d ) {
			var badges = d.entities[ qid ].sitelinks.svwiki.badges;
			return fapi.postWithEditToken( {
				action: 'wbsetsitelink',
				id: qid,
				linksite: 'svwiki',
				badges: badges.concat( [ 'Q70894304' ]),
			} );
		} ).done( function() {
			$( pl ).remove();
		} );
	} );
} );
Skriptet lägger till en länk i Mer-menyn för att lägga till badgen. Det saknar helt felhantering (t.ex. föröker redigera ett skyddat wd-objekt eller problem med api:t), så man får själv kolla på Wikidata att allt blev rätt. /EnDumEn 16 maj 2021 kl. 20.54 (CEST)[svara]
Det fungerar utmärkt, tack! Det sparar flera onödiga redigeringar! Jag rekommenderar dock alla som vill använda skriptet att titta igenom alla inblandade sidor (här och på WD) för att försäkra sig om att badgen är motiverad innan den läggs in. 62 mm (diskussion) 17 maj 2021 kl. 08.28 (CEST)[svara]