Wikipedia:Dugnadskontor/Standardisere søsterprosjekter

Fra Wikipedia, den frie encyklopedi

Standardisere søsterprosjekter[rediger kilde]

Lagt inn av: Stigmj (diskusjon) 15. mar. 2016 kl. 18:05 (CET)[svar]
{{Referansemal}} inneholder en liste over en rekke maler som benyttes for å lenke til søsterprosjekter. Måten disse malene er utformet på og hvordan de brukes i artiklene våre bør standardiseres.


Tekniske detaljer på foreslått kjøring[rediger kilde]

Hvilket script som kjøres med lenke til kildekode/hjemmeside.
Hvilke parametre som benyttes.
  1. Kjøring for å fjerne Commonscat fra kategorier ved bruk av en midlertidig sporingskategori generert fra {{Commonscat}}:
    python pwb.py replace.py -ns:14 -summary:"[[Wikipedia:Dugnadskontor/Standardisere søsterprosjekter|Fjerne commonscat]] fra kategorier hvor denne er lik Wikidata" -regex "(.*(?:\n|^)) *{{ *[Cc]om(?:cat|mons(?:kat|cat2?|[ _]category|[ _]cat)) *\|[^}]+?}}[^\n]*\n?([\S\s]*)" "\1\2" -subcats:"Artikler_med_offisielle_lenker_hvor_P373_sin_verdi_lokalt_er_lik_med_Wikidata"
  2. Kjøring for å fjerne Commonscat fra artikler som bruker {{Taksoboks}} og legge inn {{Artslenker}}:
    python pwb.py replace.py -fix:artslenker -transcludes:"Taksoboks"
    def artslenker_fix(m):
    	import pywikibot
    	import regex
    	output = m.group(0)
    	# first let's check for bailouts
    	sportslenker = regex.findall(u'({{[Aa]rtslenker}})', output)
    	if len(sportslenker) > 0:
    		return output
    	# now let's check for existing "eksterne lenker"
    	eksternelenkersection = regex.finditer(u'((?P<preamble>(?:\n|^))(?P<section>(?P<marker>===*) *(?:[Ee]ksterne? lenker?) *(?P=marker)(?:<!--[\s\S]*?-->)?)(?P<suff>[\s\S]*?\n\n))', output)
    	# if it's there, let's check if it's easy to add to it:
    	found_section = False
    	for eksternelenker in eksternelenkersection:
    		start = eksternelenker.start()
    		end = eksternelenker.end()
    		#check if there is an "offisielle lenker" there
    		offisiellelenker = regex.finditer(u'(\n(:*\*+:*) *{{\s*(?:mal:\s*|template:\s*)?(?:[Oo]ffisiell?[et]?[_ ]*(?:lenker?|nettsted|blogg)*|[Hh]jemmeside|[Nn]ettsted|[Mm]ate-URL) *((?:\|[^}]*}|})})[^\n]*)', eksternelenker.group(0))
    		for olenke in offisiellelenker:
    			found_section = True
    			pos = eksternelenker.start() + olenke.end()
    			# so we found it, let's add our filmlenker
    			output = output[0:pos] + "\n* {{Artslenker}}" + output[pos:]
    			break
    		if not found_section:
    			found_section = True
    			pos = eksternelenker.start() + len(eksternelenker.group('section')) + 1
    			#we found the section, but no offisielle lenker, so let's put it on top?
    			output = output[0:pos] + "\n* {{Artslenker}}" + output[pos:]
    		break
    	if not found_section:
    		#we have to make a last effort for "eksterne lenker"
    		eksternelenkersection = regex.finditer(u'((?P<preamble>(?:\n|^))(?P<section>(?P<marker>===*) *(?:[Ee]ksterne? lenker?) *(?P=marker)(?:<!--[\s\S]*?-->)?)(?P<suff>[\s\S]*?)(?:\n{{.*?}}|\n\[\[ *(?:[Kk]ategori:|[Cc]ategory:)|$))', output)
    		for eksternelenker in eksternelenkersection:
    			start = eksternelenker.start()
    			end = start + len(eksternelenker.group(1))
    			#check if there is an "offisielle lenker" there
    			offisiellelenker = regex.finditer(u'(\n(:*\*+:*) *{{\s*(?:mal:\s*|template:\s*)?(?:[Oo]ffisiell?[et]?[_ ]*(?:lenker?|nettsted|blogg)*|[Hh]jemmeside|[Nn]ettsted|[Mm]ate-URL) *((?:\|[^}]*}|})})[^\n]*)', eksternelenker.group(0))
    			for olenke in offisiellelenker:
    				found_section = True
    				pos = eksternelenker.start() + olenke.end()
    				# so we found it, let's add our filmlenker
    				output = output[0:pos] + "\n* {{Artslenker}}" + output[pos:]
    				break
    			if not found_section:
    				found_section = True
    				pos = eksternelenker.start() + len(eksternelenker.group('section')) + 1
    				#we found the section, but no offisielle lenker, so let's put it on top?
    				output = output[0:pos] + "\n* {{Artslenker}}" + output[pos:]
    			break
    		if not found_section:
    			#it's not there, so let's add it, but find the appropriate place first
    			#check for any section
    			lastsection = regex.finditer(u'((?:\n|^)(?P<marker>===*) *[^=].*? *(?P=marker)(?![\s\S]*===*)[\s\S]*?)(?:\n{{.*?}}|\n\[\[ *(?:[Kk]ategori:|[Cc]ategory:)|$)', output)
    			for section in lastsection:
    				found_section = True
    				start = section.start()
    				end = start + len(section.group(1))
    				output = output[0:end] + "\n== Eksterne lenker ==\n* {{Artslenker}}\n" + output[end:]
    				break
    			if not found_section:
    				#Still no place, find the end of the article
    				lastsection = regex.finditer(u'(?P<tmpl>(?:{{.*?}}(?:[\s\n]|\s*<!--.*?-->)+)+)*(?P<cat>\[\[ *(?:[Kk]ategori:|[Cc]ategory:))', output)
    				pywikibot.output(u'7 found all these: ' + repr(dump(lastsection)))
    				for section in lastsection:
    					found_section = True
    					start = section.start()
    					end = section.end()
    					output = output[0:start] + "== Eksterne lenker ==\n* {{Artslenker}}\n\n" + output[start:]
    					break #nasty, but we only process the first hit.
    	return output
    
    fixes['artslenker']= { # can run with -recursive and -allowoverlap, must run without -nocase
    	'regex': True,
    	'recursive': False,
    	'nocase': False,
    	'allowoverlap': False,
    	'msg': {
    		'_default':u'[[Wikipedia:Dugnadskontor/Standardisere søsterprosjekter|Artslenker]]',
    	},
    	'replacements': [
    		(ur'(.*(?:\n|^))\*? *{{ *[Ww]ikispecies *\|[^}]+?}}[^\n]*\n?([\S\s]*)', ur'\1\2'),
    		(ur'(.*(?:\n|^))\*? *{{ *[Cc]om(?:cat|mons(?:kat|cat2?|[ _]category|[ _]cat)) *\|[^}]+?}}[^\n]*\n?([\S\s]*)', ur'\1\2'),
    		(ur'(^[\s\S]+$)', artslenker_fix),
    		
    	],
    	'exceptions': {
    		'inside-tags': [
    			'nowiki', 
    			'source',
    			'pre',
    			'comment',
    		],
    	}
    }
    
Lenke til eventuelt datagrunnlag der dette er mulig å fremvise.
  1. Kategori:Artikler med offisielle lenker hvor P373 sin verdi lokalt er lik med Wikidata - automatisk generert sporingskategori ved å legge til |track=P373 i oppkallet inne i {{Commonscat}}-malen. Alle kategorier/sider som har Commons-kategori på Wikidata samt at den identiske kategorien er oppgitt som et parameter til malen, vil havne her. Etter at malen er fjernet fra siden/kategori-siden, vil den ikke ligge her lenger.
Søsterprosjekter[rediger kilde]
Søsterprosjekter
Mal Dagens notasjon Argumenter Brukt Hva må gjøres
{{Portal}} {{Portal|args}} tar opp til ni parametre, alle portalsidenavn (1-9) Out of scope
{{Ugglan}} {{Ugglan|args}} tar to parametre, url og artikkel 89
{{Commonsatlas}} {{Commonsatlas|args}} tar to parametre 1 (engelsk navn) og 2 (norsk navn) 113
{{Commonscat}} {{Commonscat|args}} tar to parametre, 1 (commons-kategori) og 2 (lokal kategori) 202 Utført - konvertert til Module:External links/conf/Offisielle lenker
Utført - fjernet fra kategorier
Utført - overført data til WD
Utført - fjernet til fordel for {{Offisielle lenker}} eller {{Artslenker}} der det er passende
{{Commons}} {{Commons|args}} tar to parametre, 1 (commons-navn) og 2 (lenketekst) 212 Utført - konvertert til Module:External links/conf/Offisielle lenker
Utført - fjernet fra kategorier
Utført - overført data til WD
Utført - fjernet til fordel for {{Offisielle lenker}} eller {{Artslenker}} der det er passende
{{Lyd}} {{Lyd|args}} tar tre argumenter fil, tittel og beskrivelse 3
{{Wikibøker drinkbok}} {{Wikibøker drinkbok|args}} tar mange argumenter 6
{{Wikibøker oppskrift tysk}} {{Wikibøker oppskrift tysk|args}} tar mange argumenter 2
{{Wikibøker oppskrift}} {{Wikibøker oppskrift|args}} tar mange argumenter 44 S
{{Wikibøker}} {{Wikibøker|args}} tar mange argumenter 38
{{Wikikilden forfatter}} {{Wikikilden forfatter|args}} tar mange argumenter 114
{{Wikikilden}} {{Wikikilden|args}} tar mange argumenter 115
{{Wikinews tysk}} {{Wikinews tysk|args}} tar mange argumenter 2
{{Wikinews}} {{Wikinews|args}} tar mange argumenter 68
{{Wikinytt2}} {{Wikinytt2|args}} tar to parametre, 1 (wikinytt-sidenavn) og 2 (lenketekst) 20 kan ikke ha bullet først enda
{{Wikinytt}} {{Wikinytt|args}} tar mange argumenter 111
{{Wikiquote-de}} {{Wikiquote-de|args}} tar mange argumenter 32
{{Wikiquote-en}} {{Wikiquote-en|args}} tar mange argumenter 89
{{Wikiquote2}} {{Wikiquote2|args}} tar mange argumenter 166 kan ikke ha bullet først enda
{{Wikiquote}} {{Wikiquote|args}} tar to parametre, 1/PAGENAME, 2/PAGENAME 646
{{Wikisource-de}} {{Wikisource-de|args}} tar mange argumenter 65
{{Wikisource-en}} {{Wikisource-en|args}} tar mange argumenter 3
{{Wikisource-språk2}} {{Wikisource-språk2|args}} tar mange argumenter 71
{{Wikisource2}} {{Wikisource2|args}} tar mange argumenter 10 kan ikke ha bullet først enda
{{Wikisource}} {{Wikisource|args}} tar mange argumenter 335
{{Wikispecies2}} {{Wikispecies2|args}} tar mange argumenter 1
{{Wikispecies}} {{Wikispecies|args}} tar mange argumenter 44
{{Wiktionary}} {{Wiktionary|args}} tar mange argumenter 169

Se Wikipedia:Dugnadskontor/Standardisere_søsterprosjekter/Maltester for tester av malene

Testkjøring[rediger kilde]

Bevis på testkjøring uten at noen faktiske endringer er utført. Legges helst inn som en underside av denne jobben

Diskusjon[rediger kilde]

Hvis konsensus er for kjøringen, skal det settes en dato / tid for når kjøringen i henhold til retningslinjene kan utføres tidligst.

Jeg har lagd en oversikt på Wikipedia:Dugnadskontor/Standardisere søsterprosjekter/Maltester som stiller opp alle malene i et testscenarie, samt en forslag til hvordan dette bør se ut til slutt. Forslaget mitt er at vi standardiserer alle disse malene til å skrives inn på følgende måte i artiklene:

* {{Wikispecies|args}}

altså med en stjerne i front og malen i etterkant. På grunn av måten flesteparten av malene er bygd opp med bruk av enten tabeller eller div-seksjoner, så må vi endre på dette i etterkant slik at de respekterer formateringen som vi legger på i selve artikkelen. Er det noen spesiell grunn til at disse malene ble lagd på denne måten fra begynnelsen av? Var det meningen at de skulle overstyre eventuelle listeoppføringer, og i så fall, hvorfor? Ser også at det i flere tilfeller finnes en tabell-versjon og en div-versjon, så det har tydeligvis vært en eller annen form for "preferanse" her tidligere, men er det noen god grunn til å fortsette med dette? Stigmj (diskusjon) 15. mar. 2016 kl. 18:15 (CET)[svar]

Portal-malen hører ikke med, den vil lage et tomt kulepunkt. — Jeblad 16. mar. 2016 kl. 01:54 (CET)[svar]
Da sier vi den er out of scope foreløpig, siden den er så spesiell med at den kan kalels en eller to ganger og få forskjellige resultat i teksten. Stigmj (diskusjon) 16. mar. 2016 kl. 10:01 (CET)[svar]
Commons og Commonscat er alt endret. — Jeblad 16. mar. 2016 kl. 01:56 (CET)[svar]
Hva mener du med "endret"? Stigmj (diskusjon) 16. mar. 2016 kl. 10:01 (CET)[svar]
Kjør en mal om gangen og fiks malene fortløpende. — Jeblad 16. mar. 2016 kl. 01:58 (CET)[svar]
Tenker å lage regelsett som dekker alle maler som skal ha samme behandling (legge på bullets, formatering), men kjøre med utgangspunkt i en og en mal. Stigmj (diskusjon) 16. mar. 2016 kl. 10:01 (CET)[svar]
Dette er for en stor del maler til søsterprosjkter. De skal ikke omformateres, de skal ut av artiklene fordi de er plassert i sidemargen. Malenes argumenter skal flyttes til dataelementet. — Jeblad 16. mar. 2016 kl. 02:00 (CET)[svar]
Hvilke søsterprosjekt-properties finnes det tilgjengelig på WD? Det er ikke helt trivielt å automatisk finne ut av om en lenke er "generell" eller om det er gjort et alternativt utvalg. F.eks. så har jeg sett {{Wikinytt2}} benyttet til å peke på både kategorier og portaler, og det er jo ingen ting som hindrer en bidragsyter å legge inn lenke til en helt annen kategori der. Stigmj (diskusjon) 16. mar. 2016 kl. 10:01 (CET)[svar]
Noen av disse malene peker i alle himmelretninger. «Commons» pekte opprinnelig både til kategorier og gallerier. Dette er skilt i to forskjellige maler. Commonskat kan høstes med «template_harvest» og overføres til commons-category (P373). Commons kan tilsvarende høstes og overføres til commons-gallery (P935). De er begge i Edward Munch (Q41406). Jeg har ikke brydd meg med å oppdatere sitelinks for Commons, det er ikke enkelt å få dette rett. Oppføringen i sidebar er med commons-categori, og kun hvis den mangler brukes sitelink. Alle de andre søsterstedene bruker sitelink såvidt jeg vet. Dere må sjekke hva som skal flyttes fra malene og til hver sitelink, eventuelt kategori, for hvert av nettstedene. Husker ikke i farten hva jeg brukte for å sette opp nettstedlenke (sitelink). — Jeblad 24. mar. 2016 kl. 21:16 (CET)[svar]
Wiktionary er spesiell, det vil si det planlegges en spesiell løsning. Bruk det som eventuelt er definert, men her er det på gang en nokså annerledes løsning. Vi har også hatt en løsning med lenking på lydtegn, vet ikke om den er i bruk. — Jeblad 24. mar. 2016 kl. 21:19 (CET)[svar]
@Jeblad: Har kikket litt på {{Commons}} på wikidata nå og er litt i tvil på bruken av P935 (commons-galleri) kontra "interwikilink" til commons. Jeg ser at P935 er passende når man har lenker til flere gallerier, men i hvilke tilfeller skal interwikilinken brukes/legges inn? Stigmj (diskusjon) 23. apr. 2016 kl. 15:52 (CEST)[svar]
Oppdater P935 med data der vi har det, men ikke sett sitelink til å peke på gallerier. Det virker som det kun er enighet om å bruke kategorier som mål for sitelinks, og at en kun faller tilbake på gallerier i sitelinks ved spesielle tilfeller. Dette har med hva som representerer entiteten, og på Commons brukes kategorier på laveste nivå som topics. Det finnes noe om dette i forbindelse med IPTC (husker ikke i farten om de bruker topics eller subjects), men har ikke lenke for hånden. — Jeblad 23. apr. 2016 kl. 16:24 (CEST)[svar]

Har nå konvertert {{Commonscat}} til å bruke Modul:External links-rammeverket og har startet å fjerne malen fra kategori-sider hvor lokal verdi er lik verdi på wikidata. Målet til slutt vil være å fjerne denne helt fra artikler da vi kan fint legge med dette via andre maler som benytter External links-rammeverket (f.eks. enten i Offisielle lenker, Sportsmaler, Filmlenker, Filmperson eller Spill-lenker). Hvis man så ønsker å fjerne kategorilenkene helt, er det bare å fjerne filtrere ut i maloppkallet eller fjerne definisjonen i conf-fila. Må uansett sjekke ut Kategori:Artikler med offisielle lenker hvor P373 sin verdi lokalt er ulik Wikidata når den har blitt stabil. Stigmj (diskusjon) 12. apr. 2016 kl. 21:39 (CEST)[svar]