Vés al contingut

Tema de Viquiprojecte Discussió:Adaptació de plantilles a Wikidata/multilingüe/migració infotaules a V5/ToDo

Vriullop (discussiócontribucions)

@Amadalvarez: Ja ho havíem parlat, però vista l'estructura en conjunt la solució per usar el mòdul:Wikidata amb un altre títol és configurar-ho: en la pre-infotaula moduleWD=WikidataFromCaWiki i en els invokes usar el paràmetre #invoke:Wikidata|claim|etc. El mòdul ja reconeix quin és el seu títol per cercar les seves subpàgines.

Amadalvarez (discussiócontribucions)

Ho sé, però no sé si ho entenc bé.

Vol dir que el mòdul no cal copiar-lo a l'espai físic de la WP nova ?. amb el WikidataFromCaWiki ja ho va a buscar ?

Perquè si, per contra, cal copiar-lo, amb quin no s'ha de fer quan ja està ocupat el nom ?.

Vriullop (discussiócontribucions)

M'he descuidat el nowiki i no s'entèn res. Volia dir {{#invoke:{{{moduleWD|Wikidata}}}|claim|etc}}. El mòdul cal copiar-lo, és clar, però si té un altre títol es pot configurar en un paràmetre.

Amadalvarez (discussiócontribucions)

Ara s'entén molt més, però deixa'm que et posi un exemple real:

A l'entorn WD tenim actualment:

Si volem instal·lar una còpia del nostre mòdul a WD, el seu nom dins l'espai "template:" ha de ser un altre (per col·lisió). Si, a més, el volem enllaçar a WD, caldrà canviar-li la Q, perquè l'espai iw a WD a la nostra entrada Mòdul:Wikidata (Q12069631) està ocupat.

Imaginem que l'anomenem "module:WikidataCA", per dir alguna cosa (et deixo que triïs el nom). Com s'han de fer les crides dins les plantilles ?.

  • moduleWD = WikidataCA
{{#invoke:{{{moduleWD|Wikidata}}}|claim|etc}} ?.
És a dir, carregar la variable "moduleWD" amb el valor del mòdul que es vol triar ?
De forma que, quan no estigui carregada, s'invocarà el Mòdul:wikidata que trobi en la plataforma on s'està executant.

És això ?

Merci

P.S. Si és així, i hem d'obrir una Q pròpia per la nostra còpia, podrem moure allà tots els iw que són còpia del nostre i així millorem el control.

Vriullop (discussiócontribucions)

Sí, és això.

Crear un nou ítem és una opció que havia pensat. El problema és com definir-lo, què té de diferent? Si ara està al Q12069631 és perquè ha evolucionat a partir de l'anglès, però no s'adiu amb la descripció "Wikimedia module similar to en:Module:Wikidata, with functions including , etc; uses FETCH_WIKIDATA". El Q24575438 Wikidata2 sembla justament una variant de en:Module:Wikidata, i el Mòdul:WikidataIB Q25714577 és també el que pretén el nostre per a infotaules.

També hi ha:

Al final tots els mòduls volen fer el mateix de diferents formes.

Amadalvarez (discussiócontribucions)

Que, què té de diferent ?. Que aquest és el bo.....

Amb la infotaula persona em passava el mateix. Al final vaig decidir que si apostàvem pel "global Templates", que millor que dir-li "Global Infobox person". Podríem tirar per aquí, i qui dia passa any empeny. Be bold. O com li vulguem dir.

Dit això, si a la còpia que posem a WD li hem de canviar el nom, les teves inquietuds de que alguna cosa es pogués desconnectar no desapareixen, és així ?

Llavors, quan ja estiguem segurs que el nom que hem agafat és exclusiu i que tot funciona, no caldrà que fem el canvi a les invokes. Correcte ?.

Vriullop (discussiócontribucions)

El que té més espectacular és que canviï de llengua sense fer res i sense paràmetres. Això no trobo forma de sintetitzar-ho en un nom, si un fuig dels x-lingual. No m'importaria que fos qualsevol invent: Wikidata droid, WikidataFed, Wikidata glossing, Wikidataing, Wikidata tongues.

A d: evidentment s'haurà de posar algun nom i aquest acabarà sent l'usat en noves instal·lacions. Però no es pot forçar a que tothom usi un nom concret, sempre hi pot haver algú que el vulgui traduir. Alhora ha de ser compatible amb els usos actuals. No tinc cap inquietud en que es desconnecti res, si es canvien tots els invokes per un paràmetre flexible. A més, tenint una Q pròpia també hi ha la possibilitat de trobar el títol amb Wikibase getSiteLink.

Amadalvarez (discussiócontribucions)

@Vriullop Pensaràs que sóc ruc. No pateixis, jo sovint ho penso. Però deixa que torni a voltes amb el nom del wikidata. Segueixo aquest antic fil per tenir tot el que ja hem dit , afegint que també existeix una prèvia, i en un altre lloc, has optat per module:wikidades com a nom candidat.

M'hi anava a posar i veient lo de passar-li amb un paràmetre el nom, m'ha tornat a semblar massa complicat. Per exemple:

Agafo, com podria ser una altra qualsevol, la {{Circa WD}} que és una subplantilla que invoca wikidata i és utilitzada a moltes infotaules. Quan la traslladem a WD (o xxwiki) li haurem de canviar el codi per {{#invoke:{{{moduleWD|Wikidata}}}|claim|etc}} que s'indicava més amunt i, conseqüentment, qui la cridi haurà de carregar la variable "moduleWD=wikidades". Si venim d'un model que tingui una pre-infotaula -com dèiem més amunt- pot ser barroc, però viable. Ara bé, en el moment que estigui en una altra plataforma, ja és objecte de ser utilitzada per tercers que la considerin útil (tenim moltes utilities com aquesta o GetFixLabel) i hauran de comptar amb la servitud de carregar la variable, per aportar-li "wikidades", una acció estranya, ja que és l'únic nom amb que funciona, perquè el seu module:wikidata ves a saber que fa. Segueixo.

El canvi de codi esmentat, també l'haig de fer a la versió cawiki, per assegurar la igualtat del codi amb les còpies que hem exportat, en aquest cas, sense servitud, ja que tindrà "wikidata" per defecte. Per la mateixa raó de mantenir còpies igualades, la creació del module:wikidades a una altra plataforma hauria de comportar tenir una còpia a cawiki (potser algun dia funciona el sistema de rèpliques per subscripció).

Proposta/pregunta: Si ja hem assumit tenir un nom nou anticol·lisions, podríem tenir a cawiki el module:wikidades i posar a module:wikidata redireccions cap a aquest ?. D'aquesta forma tots els usos actuals funcionarien i, cada cop que adaptem una plantilla per a que sigui Global, li canviem l'invoke i ja li hi posem "wikidades"; la necessitat de canviar-ho arreu de casa nostra no té termini i, a mida que anem farcint l'entorn Global ja s'aniran canviant. Hem sembla més assumible que demanar a altres plataformes, tal com esmentaves a la primera proposta, que hi afegeixin un redirect dins el seu module:wikidata (suposant que no tinguin una col·lisió si resulta que també tenen un "claim" dins el seu wikidata), i ens estalviem el tema de carregar la variable i canviar tots els codis intermedis que l'han d'anar passant arreu.

Mentre t'ho penses, em dedicaré a traspassar a WD allò que no invoqui el mòdul.

Gràcies per la paciència.


Vriullop (discussiócontribucions)

Potser m'agafes ben descansat, però tens tota la raó. Això no passaria cap filtre de bones pràctiques i per exemple no seria acceptat a enwiki. Hi ha una denominació en argot per aquestes potineries que ara no recordo.

El més pràctic serà canviar al nou nom anticol·lisions. Això no afectarà als altres clients que ja l'usen perquè ja tenen les plantilles configurades. El que haig de solucionar és el mòdul pont a cawiki. No serà tant fàcil com em pensava perquè són tres possibles accessos diferents: directe amb paràmetres a l'invoke, indirecte amb paràmetres a la plantilla (item, lang) i intern des d'un altre mòdul. Amb un mòdul pont tot passa a ser tipus intern.

Amadalvarez (discussiócontribucions)

Bentornat i moltes gràcies pel pensament positiu.

Pots crear el wikidades i els seus fills a cawiki i així el vaig provant i traspassant a WD ?. Si vols ho faig jo i si tinc problemes, aviso.

Vriullop (discussiócontribucions)

A vegades sembla que tingui poca confiança en la pròpia intel·ligència del mòdul. He provat amb Mòdul:Wikidata/redirect i sembla que tot funciona. Quan tingui prou temps per endavant per a supervisar possibles conseqüències inesperades faig el canvi a Wikidades.

Si vols traspassar a WD:

  • Mòdul:Wikidata > Module:Wikidades
  • Mòdul:Wikidata/ús/en > Module:Wikidades/doc (caldrà revisar els enllaços)
  • Mòdul:Wikidata/i18n/en > Module:Wikidades/i18n (és l'estructura inicial buida a traduir i omplir amb necessitats locals, d'entrada res per fer a WD)
  • Mòdul:Wikidata/i18n/en/ús > Module:Wikidades/i18n/doc
  • Mòdul:Wikidata/debug > Module:Wikidades/debug (només fa falta si hi ha algun track intern, però tampoc fa nosa)
  • Mòdul:Wikidata/Units > d'entrada no cal, és configuració local i no dóna error si no el troba. No hi ha estructura inicial preparada.
  • Mòdul:Wikidata/labels > d'entrada tampoc cal, no fa res mentre no estigui definit a /i18n. Del que no estic segur és dels "T000x".
Amadalvarez (discussiócontribucions)

@Vriullop Tot traslladat, llevat del debug, que ho he deixat per més tard.

el mòdul:Infobox l'he anomenat Module:InfoboxFrame, a falta dels vostres vots.

Feina per tu: Tens una prova a :d:User:Amadalvarez/proves/Global infobox.

  • No facis cas del enllaç vermell a llista desplegable condicional, que encara la tinc que revisar.
  • No sé que em falta perquè li apliqui el format a la infotaula (Float right i border).
  • L'altra cosa que no sé veure és perquè els enllaços surten en vermell. Com no hi ha articles hauria d'apuntar a l'item.
    • Sembla que l'enllaç que genera el mòdul:wikidades cap a l'item quan no hi ha article de la llengua no li agrada quan està a la plataforma WD.
    • Els llapissos enllacen bé.

Avui estaré inoperatiu, o sigui que tens temps per mirar i remenar.

Merci,

Vriullop (discussiócontribucions)

Buf!

  • Format. Usa una class=infobox que tenim definida a MediaWiki:Common.css. Ho he solucionat traslladant-ho a d:Template:InfoboxFrame/styles.css. És el mateix però només aplicat a la plantilla que ho carregui amb <templatestyles src="InfoboxFrame/styles.css" />. És més fàcil d'usar que el MediaWiki:Common.css que està protegit i no col·lisiona amb altres definicions infobox en altres plantilles. A tenir en compte en instal·lacions noves.
  • bodyclass=biography vcard. T'ho pots carregar. La class biography no s'usa. La class vcard és per generar microformats: en:Wikipedia:WikiProject Microformats; és a dir, un codi amb dades estructurades, cosa que ja no té sentit amb Wikidata.
  • Enllaços, arreglat d:Special:Diff/1125898912. El prefix wikidata: no l'interpreta com un interwiki, com fan totes les altres wikis, sinó que a Wikidata és el prefix d'espai de noms de projecte. Ja ho canviaré en el màster.
Amadalvarez (discussiócontribucions)

Glossolalia ?

Però el canvi dels invoques, hauran de portar el nou nom com a valor per defecte. És correcte ?

O vols que per defecte sigui el que tenim ara (Wikidata) i tot nou ús ha de portar el paràmetre amb el valor ?.

Per cert, alguna idea per a que el contingut del paràmetre (o sigui el nou nom) sigui una mena de paràmetre global ?. Ho dic perquè si no, totes les crides hauran de portar-lo i, o és una murga o haurem de crear una pre-infotaula per a totes les plantilles.

Podria ser un paràmetres d'aquells {{mediWiki:wikidata-module-for-infoboxes}}, o així ?.

Per cert, parlant d'això. Existeix el {{MediaWiki:And}}, però no el {{MediaWiki:Or}}. Es podria crear ?

Vriullop (discussiócontribucions)

Pots crear el que vulguis en l'espai MediaWiki, si ets editor de la interfície, però serà només local, no global en tots els wikis. Si no existeix millor buscar alternatives. Per l'OR existeix c:Template:Conj-or.

Si tenim una Q pel mòdul es pot obtenir directament sense definir paràmetre en preplantilla:

  • {{PAGENAME:{{#invoke:Wikibase|getSiteLink|Q12069631}}}} dóna: Wikidata
  • {{#invoke:{{PAGENAME:{{#invoke:Wikibase|getSiteLink|Q12069631}}}}|getLabel|P31}} dóna: Instància de

Ja tens el valor per defecte. Uso PAGENAME per eliminar el prefix d'espai de noms. Ara bé, sí que cal anar passant el paràmetre obtingut a les subplantilles que tinguin invokes.

Amadalvarez (discussiócontribucions)

Conj-or només existeix a Commons !. Mmmm No em sedueix. M'estàs dient que els invoke han de passar a {{#invoke:{{PAGENAME:{{#invoke:Wikibase|getSiteLink|Q12069631}}}}|claim|etc}} ?. Vols dir que no estem seguint un camí massa tortuós ?. La meva temptació quan veig aquests codis que són tant llargs és passar-los a una sub-plantilla, però si, com en aquest cas, caldria cridar-lo per cada invoke, llavors els poso en una plantilla prèvia que els hi passi el text ja resolt. D'aquí venia lo de tenir sempre una pre-infotaula (mínima). Una altra forma és que, hi fos dins els paràmetres de personalització de la /Tab param i es recuperés, tipus </nowiki>. Em sembla més curt i barat cridar el servei de recuperació que el wikibase. L'altre dia el Joutbis plantejava, amb raó, de tenir paràmetres de personalització de la plantilla, a més dels que tenim per propietat.

Vriullop (discussiócontribucions)

No volia dir fer doble invoke a tot arreu. És una mostra d'obtenció del valor per defecte. Però tens raó, sigui com sigui cal fer-ho abans dels invoke. Maleïdes plantilles, acaba sent esotèric quan simplement és una variable molt fàcil de tractar amb Lua o el que sigui.

Amadalvarez (discussiócontribucions)

He pensat que potser és un bon moment per fer la {{Wikidata}} que invoqui wikidata|claim i pel mateix preu hi posem el malèfic codi. Però no funciona si no li passo els paràmetres. Obvi, em diràs. Però, com s'ho fa per funcionar la {{infotaula}} que invoca mòdul:infobox ?.3

Ara es diu Plantilla:Proves persona

Vriullop (discussiócontribucions)

Lua pot llegir dos paquets de paràmetres: els directes de l'invoke i els superiors de la plantilla que fa l'invoke. El mòdul:infobox només llegeix els superiors de la plantilla. El mòdul:wikidata llegeix els de l'invoke excepte item i lang que els pot llegir també de la plantilla. Podria fer que els llegís tots de la plantilla. Amb això et trobaràs que item i lang s'han de passar a la nova plantilla. A més, hi perds efectivitat si en cada crida hi afegeixes un nou invoke a Wikibase. El codi malèfic s'ha d'executar una sola vegada, no és un resultat variable.

Amadalvarez (discussiócontribucions)

Val. Millor un altre camí. Ja pensaré.

Per cert, des d'un punt de vista d'usuari final, que n'opines de la finestra emergent que es mostra sobre les etiquetes dels casos exemple de Plantilla:Global Infobox person ? Ho vaig fer pensant que si ara es podrà canviar el label a nivell d'article, seria una ajuda pels editors que, de ben segur, no estaran familiaritzats amb els noms de paràmetres. Pel mateix preu, li he afegit el nom del paràmetre manual. Només mostra el nom internacional, no el local, si hi hagués.

Vriullop (discussiócontribucions)

És críptic però és útil.

Estava pensant en un cas on aniria bé un títol variable: amb un paràmetre sandbox=true desviar les crides al mòdul:wikidata/proves, de fet al que digui MediaWiki:Sandboxlink-subpage-name. A banda de tu i jo se'm fa difícil explicar a algú com pot provar uns canvis. Potser ho faig desviant la funció en el mòdul, però implica transportar el paràmetre sandbox a les diverses subplantilles com un paràmetre global més.

Amadalvarez (discussiócontribucions)

Etiqueta: No té masses opcions, perquè no entén codi wiki. Me les he vist i destjat per aconseguir fer un salt de línia.

On es posaria el sandbox=true, a la crida a la infotaula com fem amb el lang ?. A mi em resulta pràctic encara que calgui arrossegar-lo per les sub-plantilles.

Sobre el codi malèfic: parlant de la mediaWiki:or em vas dir que és pot crear però no estaria a totes les WPs. Però no seria res difícil, incloure dins les instruccions d'instal·lació que cada WP usuari hagués de crear un {{MediaWiki:InfoboxWikidataModule}} amb el nom del mòdul. Per cert, ja t'has decidit per un nom ?. A mi m'agraden: WikidataFed, Wikidata glossing i per descomptat WikidataGobal. Pensa que no nomes fa "fetch", incorpora el convert, l'ordinal, el years_old, el gender, bona part del wikibase,... És a dir, no només per fer infotaules, sinó per altres funcions bàsiques que l'han convertit en una pseudo-navalla suïssa.

Vriullop (discussiócontribucions)

El sandbox tindria un tractament igual que item o lang, un paràmetre global que es pugui definir a nivell d'article.

Crear una pàgina a l'espai MediaWiki no m'agrada. Pot servir per coses locals però demanar-ho a altres wikis és un requeriment massa dur. Només uns pocs administradors són també editors de la interfície. Pensa que tampoc funcionarà l'invent de la llengua de les preferències perquè requereix crear Mediawiki:Lang/xx. Només ho he vist a fr.wiki, de.wiki, commons i wikidata.

Tens raó en que el mòdul serveix per tot, no només infotaules. WikidataFed m'agrada com alternativa de "powered by Wikidata", en aquest cas "fed by Wikidata" del verb to feed, però wikt:en:fed pot tenir un sentit pejoratiu de federal. No estic segur si les alternatives WikidataFeed, WikidataFeeding o WikidataFeeded tindrien sentit. Caldria l'opinió d'un parlant anglès natiu.

Amadalvarez (discussiócontribucions)

Doncs, que no sigui Mediawiki, però la idea és tenir un text "a pèl" en lloc de tenir-ho en altres llocs que requereixin una recuperació, potser més rocambolesca.

Quan vaig començar amb el tema de la documentació -per a aquestes infotaules, precisament- ho feia aquí i a WD simultàniament.

Allà, el meu soci (el de les infotaules de ciclisme) ja havia decidit un criteri per anomenar els articles que em semblava acceptable mentre estàvem en fase projecte, però era inadequat per penjar-ho a cawiki i/o a en un entorn definitiu. Llavors vaig crear {{DocInfobox prefix}} que figura com a prefix del nom de les crides que es fan de les pàgines des d'altres pàgines; el criteri de codificació del suffix, ho vàrem consensuar. Òbviament el contingut d'aquesta pseudo-plantilla, aquí i a WD és diferent.

D'aquesta forma, la pàgina Viquiprojecte:Documentació estructurada infotaules/doc/P20/Case 1 (Hébuterne) és una còpia de d:Wikidata:WikiProject Supertemplates/doc/P20/Case 1 (Hébuterne) que funcionen als dos entorns en les seves crides.

Ara faré una prova per posar-li Wikidata o Wikidata/proves, mentre no acabes lo del sandbox.

Amadalvarez (discussiócontribucions)
Vriullop (discussiócontribucions)

Corregit en proves: Special:Diff/22592240. No tots els paràmetres distingeixen buit de nul i per qualifier sí que feia falta.

Resposta a «Títol del mòdul»