Mòdul Discussió:Wikidata

De Viquipèdia
Salta a la navegació Salta a la cerca


formatting ucfirst[modifica]

@Vriullop: M'han fet observar que els valors sense article a VP a vegades són un enllaç vermell i a vegades un enllaç a l'ítem WD. Ex.:Lluïsa dels Països Baixos. La raó rau en l'ús o no de formatting=ucfirst que a més de majusculitzar, aplica el format internallink. No és que em sembli un error, però volia demanar-te criteri sobre si convé, per coherència, posar-li formatting=internallink als que no tenen res (actuen per defecte). Ho dic perquè se'ns ompliran de vermells les infotaules, cosa que no sé si incita a la creació d'articles o a la percepció d'inacabat. Alguna altra proposta / opinió ?. Desitjo que t'hagin portat moltes coses interessants els Mags. --amador (disc.) 08:41, 6 gen 2018 (CET)

@Amadalvarez: El rei blanc ja em va dir que aquest any no m'havia portat bé... Revisant el formatting, per defecte és enllaç sitelink o wikidata, sempre blau. Si és millor usar l'enllaç blau per defecte o l'enllaç internallink amb possibles vermells és una cosa a decidir cas a cas. Segurament una infotaula automàtica no és la millor proposta per generar enllaços vermells, aquests haurien d'aparèixer espontàniament en el cos del text. A més, en alguns casos l'etiqueta de Wikidata no serà el millor títol pels nous articles, o bé no resolt ambigüitats i pot enllaçar on no toca. Recordo que en el seu moment vaig dubtar sobre el format a aplicar a l'ucfirst, però una vegada funcionant ja me'n vaig oblidar. Es pot canviar el comportament d'ucfirst aplicant el format per defecte (sitelink o wikidata). Potser encara millor (els bascos per exemple poden tenir un altre criteri) tenir les dues opcions ucinternallink i ucsitelink. --V.Riullop (parlem-ne) 11:59, 6 gen 2018 (CET)
@Vriullop: Lamento lo del rei blanc. Jo sóc més del Baltasar i m'ha portat una jubilació. Ja veurem si m'agrada aquest nou joc. Home, si no t'ha de costar una gran esforç, la via basca em sembla més versàtil i així els mòduls no s'allunyen tant. Salut !--amador (disc.) 12:05, 6 gen 2018 (CET)
@Theklan: ¿Vuestros reyes estan bien? ... ¿Utilizáis la opción formatting=ucfirst? La añadí en agosto por la discussión de más arriba #Majúscules. A ver en qué sentido la modifico. --V.Riullop (parlem-ne) 12:38, 6 gen 2018 (CET)
Sí, ayer el padre emérito cumplió años y se encuentra con buena salud. Por lo demás, las mayúsculas creo que bien, no me he fijado en ningún problema concreto, @Vriullop:. -Theklan (disc.) 21:45, 6 gen 2018 (CET)
@Amadalvarez, Theklan: Fet monàrquicament. Ucfirst passa a format per defecte (sitelink o wikidata) i el nou ucinternallink manté el format anterior amb internallink. Documentació actualitzada. Hi he afegit un rastreig provisional per si es volen comprovar els usos actuals canviats Especial:Enllaços/Plantilla:Rastreig/wikidata/ucfirst, en basc eu:Special:WhatLinksHere/Template:Track/wikidata/ucfirst. Amador, fent proves veig que {{Infotaula persona}} usa internallink pels fills però no pels pares ni germans. Com deia, l'ús d'internallink o del nou ucinternallink pot dependre cas a cas segons el tipus de dades però potser caldrà una revisió per mantenir certa coherència, tal com deies en el missatge inicial. --V.Riullop (parlem-ne) 14:42, 8 gen 2018 (CET)
Gràcies, gran Vriullop. Li faré un repàs perquè com que hi han tasques de manteniment que es fan de forma reactiva/correctiva, no sempre es manté la coherència. --amador (disc.) 14:54, 8 gen 2018 (CET)

@Vriullop: Pensava que s'havia acabat però en el cas de fer servir Getparentvalues, no s'aplica el canvi comentat al segon/tercer paràgraf d'aquesta discussió. Exemple: Rastatt. Ho pots mirar ?. Merci,--amador (disc.) 07:33, 2 març 2018 (CET)

@Amadalvarez: GetParentValues és una funció diferent, sense paràmetre formatting i sense opció ucfirst. Per defecte formata internallink. Ho canvio al format d'enllaç per defecte (local o wikidata)? Ping Paucabot. --V.Riullop (parlem-ne) 10:36, 2 març 2018 (CET)
@Vriullop, Paucabot:. Ho deixaria amb el mateix defecte que la resta.--amador (disc.) 13:02, 2 març 2018 (CET)

excés de feminització[modifica]

@Vriullop:Mira aquest comentari de la taverna. Això ho tracto a Plantilla:Nom ítem WD. Tinc forma de dir-li a #invoke:Wikibase que vull el label català ? o de saber que el que m'han retornat no és el català sinó altre llengua ?. Merci,--amador (disc.) 19:27, 6 gen 2018 (CET)

@Amadalvarez: Fet al mòdul Wikibase. Les dues opcions eren possibles i he fet la segona en una nova funció: {{#invoke:Wikibase|label_lang|Q16324556}} → ca. Si prefereixes la primera ho canvio. --V.Riullop (parlem-ne) 20:56, 6 gen 2018 (CET)
@Vriullop:. Està bé així. Aplicat i funcionant. Gràcies.--amador (disc.) 21:35, 6 gen 2018 (CET)

@Vriullop:: no havíem previst el més elemental. Jo et vaig passar el cas en que la crida (o no) al ca-flexio la feia directament des d'una subfunció. Ara bé amb un innocent {{#invoke:Wikidata | claim | property=P106 |list=firstrank |formatting=ucfirst|case=gender |item=Q11522435 |value={{{ocupacio|}}} }} }} qui ha de saber que no ha de feminitzar si no és CA, és el propi mòdul, ja que és el que té el control i, com en aquest cas (Lee_Yong-soo), pot ser una propietat multivalor que la plantilla rep tots els valors de cop. Ho veus? --amador (disc.) 01:28, 14 gen 2018 (CET)

Fet Special:Diff/19468762. --V.Riullop (parlem-ne) 16:02, 14 gen 2018 (CET)

@Theklan: Actualizado tambièn en eu.wiki. En catalán se usa el case para convertir en femenino. Ahora los cases de Mòdul:Wikidata/i18n disponen del parámetro lang, la lengua en la que se ha obtenido la etiqueta, para usar los casos gramaticales solo para la lengua local. Lo puedes usar en eu.wiki cuando sea necesario, igual que Special:Diff/19471741. --V.Riullop (parlem-ne) 12:49, 15 gen 2018 (CET)

@Vriullop, Amadalvarez: El cas de Lee Yong-soo segueix funcionant malament. Seguia dient "formera comforta women" i fins i tot traduïnt-ho a Wikidata feminitza el que no toca.--Pere prlpz (disc.) 21:34, 15 juny 2018 (CEST)

@Pere prlpz: Que feminitzi una etiqueta que no és en català estava resolt pels comentaris de més amunt. Es deu haver perdut durant unes proves sobre llengües. Ho revisaré. De totes formes, està tot plegat en procés de migració a Wikidata per Mòdul Discussió:Ca-flexió/femení#Director general corporació. Aquest article està detectat pel rastreig del femení, si mires la llista de plantilles que inclou. Es pot posar una excepció per "anteriorment", o es pot canviar a "antiga" que no portarà problemes, o es pot deixar estar, quan el mòdul recuperi els femenins de Wikidata doncs aquest no en té. --V.Riullop (parlem-ne) 21:50, 15 juny 2018 (CEST)
Doncs no acabava de funcionar la correcció per evitar femenins no catalans. Ara sí. --V.Riullop (parlem-ne) 11:02, 16 juny 2018 (CEST)

Error de Lua: bad argument #3 to 'gsub' (function or table or string expected, got nil).[modifica]

@Vriullop: Aquest error surt en el tractament formatting=table quan el qualificador3 (ni el 2) no existeix. Pista: la property és monolingual_text i no recordo haver-ho fet servir mai en table. Codi:
{{#invoke:Wikidata | claim | formatting=table |item=Q302 |list=firstrank | property=P2561 |qualifier=P2553 |qualifier2= P580 |qualifier3= P582 |rowformat=$0$1 $2 $3 |rowsubformat1=, a $1 |tablesort=2|sorting=1 |colformat0=ca |colformat2=Y |colformat3=Y}}

Salut !.--amador (disc.) 09:05, 8 març 2018 (CET)

Nota: a investigar quan tingui temps. El problema no són els qualificadors no existents sinó la propietat monolingual. Falla en el bucle sobre els que no són "ca", possible efecte secundari pel nou tractament de taules amb $>9. Simplificat: {{#invoke:Wikidata | claim | formatting=table |item=Q302 | property=P2561 |colformat0=ca}}. --V.Riullop (parlem-ne) 11:50, 8 març 2018 (CET)
OK. Ja avisaràs. Ho he deixat en versió simplificada perquè aquests qualificadors són per casos excepcionals. --amador (disc.) 13:54, 8 març 2018 (CET)
Corregit. La versió simplificada només era un recordatori meu per delimitar el problema sense els paràmetres que no li afecten. Era una qüestió estructural que cal explicar. Quan s'usa formatting=ca en realitat no és un format sinó un filtre. En una llista ho filtra i cap problema. En una taula treu tots els valors per tractar-los amb els seus qualificadors. Ara, si no pot recuperar la propietat, perquè no és "ca" o per qualsevol altre motiu que no se m'acut, llavors no afegeix la corresponent línia en la taula (aquí és on es produïa l'error, tractant de formatar una taula sense el valor $0). Espero que no tingui efectes col·laterals. --V.Riullop (parlem-ne) 11:01, 12 març 2018 (CET)

No fa cas del list=false (em penso....)[modifica]

Mira exemple a special:permalink/19797894. Retorn el qualificador sol·licitat de tots els valors de propietat que troba, malgrat tingui list=false. Merci, --amador (disc.) 08:02, 4 abr 2018 (CEST)

No estava previst perquè una taula és per definició una llista complexa. Com que es pot usar per formatar multiqualificadors, i com que era fàcil, ara tracta list=false. A notar que si s'usa tablesort o sorting=-1 en teoria hauria de treure el primer en l'ordre indicat, no provat. --V.Riullop (parlem-ne) 13:59, 4 abr 2018 (CEST)

years_old[modifica]

@Vriullop: Hola, Pots mirar el cas de Angelique Rockas ?, mostra l'any de naixement que toca (1950, el primer amb rang normal darrera d'un deprecated) però mostra una edat com si l'hagues calculat amb el deprecated (1950s). Només és per mirar de trobar un bug, perquè la solució fàcil és carregar-se el deprecated que no hi pinta res si ja sabem la data exacta. Merci,--amador (disc.) 21:12, 1 maig 2018 (CEST)

@Amadalvarez: Arreglat. La funció years_old és pràcticament independent de la funció claim, sense les opcions sofisticades via paràmetres. Per això per una banda sortia una data i per una altra calculava l'edat a partir del primer valor trobat. Ara years_old pren el primer valor de rang més alt, igual que fa claim amb list=false. --V.Riullop (parlem-ne) 21:20, 2 maig 2018 (CEST)
@Vriullop: Merci, mestre. --amador (disc.) 21:35, 2 maig 2018 (CEST)

Quan les coses no són el que semblen (entity-type:property)[modifica]

@Vriullop: Si proves a fer {{#invoke:Wikidata|claim|property= P1687 |item=Q1019352}} et donarà uns resultats sorprenents respecte el que hi ha a WD. Però si fas {{#invoke:Wikidata|claim|property= P1687 |item=Q1019352 |formatting=raw}} es pot començar a entendre. Veurà cas a special:permalink/19991498. Espero no espatllar-te masses coses... Salut !.--amador (disc.) 13:45, 14 juny 2018 (CEST)

@Amadalvarez: Cullons. Primer una explicació didàctica. A Bé cultural d'interès nacional previsualitza {{#invoke:Wikidata|ViewSomething|claims}}. Ho faig servir sovint per entendre l'estructura de la taula que ha de llegir el mòdul. El mòdul té funcions diferents per a cada tipus de valor "type": "wikibase-entityid", "string", numèric, data... Aquí es pot veure que hi ha un subtipus "entity-type": "item" o "property" que no es tenia en compte, suposant que tot serien ítems. Potser s'hauria d'haver tractat pel camp superior "datatype". Veient-ho ara, ho he arreglat en proves tractant-lo com un subtipus d'entity. Funciona per l'exemple però em preocupa que pugui petar en casos normals amb els múltiples valors de formatting: sitelink, internallink, ucfirst, ucinternallink; o bé dels case. Prova-ho. --V.Riullop (parlem-ne) 15:01, 14 juny 2018 (CEST)
@Vriullop: El món no s'acaba en els items, ara venen els lexemes !. De moment aquestes crides són controlades, vull dir, que ja saps que vols recuperar una propietat i per tant les combinacions de paràmetres són limitades. De fet, diria que el formatting i la list (no table). Però, en fi, ja saps que es comença per po i s'acaba demanant el cel. Ho provo.--amador (disc.) 15:43, 14 juny 2018 (CEST)
On he dit "casos normals" volia dir valors amb entity:item, casos reals que funcionen i que no es vegin afectats pels canvis. Que no funcionin els casos nous amb entity:property no és cap preocupació. --V.Riullop (parlem-ne) 15:57, 14 juny 2018 (CEST)
Funciona quan el codi ítem indirecte és una propietat. Com a {{#invoke:Wikidata|claim|property=P1630 |item=P757}} fa l'ullet. --amador (disc.) 05:35, 15 juny 2018 (CEST)
Quan funciona en casos inesperats és que anem bé :-) Estrictament en lloc d'item hauria de ser id per ser més coherents i més inclusiu. El poso com a àlies. --V.Riullop (parlem-ne) 09:51, 15 juny 2018 (CEST)

@Vriullop: Per mi ho pots passar a producció. Fent el canvi de tractament de protecció patrimoni he provat centenars de proves sense cap problema. fes un ping que canviaré allà on la tinc.


@Vriullop: Ha passat alguna cosa amb aquest tema perquè ha deixat de funcionar després de la pujada a producció d'ahir. Quan el que troba amb un raw és una property en lloc d'un ítem, li posa una Q com a prefix.

{{#invoke:Wikidata|claim|property= P1687 |item=Q9259|formatting=raw |list=false}}
P757
{{#invoke:Wikidata/proves|claim|property= P1687 |item=Q9259|formatting=raw |list=false}}
P757 <-- aquesta és la resposta bona !.

--amador (disc.) 21:53, 12 ago 2018 (CEST)

Ostres, se'm va passar i no ho havia actualitzat. Fet. Va ser just quan vam començar amb el /proves/lang. Si ara havia deixat de funcionar deu ser per Plantilla Discussió:Protecció patrimonial/prepara. --V.Riullop (parlem-ne) 09:53, 13 ago 2018 (CEST)
Efectivament. Vas fer el canvi eliminant el /proves i just va deixar de funcionar. Bé, solucionat. --amador (disc.) 14:16, 13 ago 2018 (CEST)

item global[modifica]

Plantilla:Infotaula de llibreitem=Q480 @Vriullop: Gran notícia. Això de que |item= ho agafa de la infotaula, ens ho hauràs d'explicar, perquè sona molt bé. Una pregunta, si en una crida es fa servir aquest paràmetre, entenc que és prioritari per a aquella crida en particular sobre el que estigui informat a la infotaula, oi?.--amador (disc.) 16:41, 18 juny 2018 (CEST)

Sí, en cada invoke primer intenta llegir l'item dels paràmetres del propi invoke i segon dels paràmetres passats a la plantilla. La idea és fer després el mateix amb el nou paràmetre lang, o es pot fer amb qualsevol que sigui global per múltiples invokes en la mateixa plantilla. Cal anar en compte amb les plantilles auxiliars perquè generen un nou conjunt de paràmetres. Per exemple si dins de la plantilla s'usa {{infotaula/auxiliar | {{#invoke:Wikidata|claim|...}} }} llavors cal passar el paràmetre item, o bé a la plantilla {{infotaula/auxiliar | {{#invoke:Wikidata|claim|...}} | item={{{item|}}} }} o bé a l'invoke {{infotaula/auxiliar | {{#invoke:Wikidata|claim|...| item={{{item|}}} }} }}. No ho he provat, però en teoria hauria de funcionar de les dues formes. --V.Riullop (parlem-ne) 16:58, 18 juny 2018 (CEST)
Ho he explicat malament. Em corregeixo. Si Plantilla:Infotaula inclou {{infotaula/auxiliar | {{#invoke:Wikidata|claim|...}} }} no hi ha cap problema. Prendrà el valor item dels paràmetres de la plantilla on està l'invoke, és a dir de la crida {{infotaula|item=Q...}}. Si la plantilla auxiliar funciona com {{infotaula/auxiliar | P123 }} i és aquesta la que invoca el mòdul, llavors sí que cal passar-li el paràmetre: {{infotaula/auxiliar | P123 | item={{{item|}}} }}. --V.Riullop (parlem-ne) 18:58, 18 juny 2018 (CEST)
@Vriullop: No sé si ho he entès bé. Això que comentau vol dir que ja no fa falta posar | item={{{item|}}} a cada #invoke (ni | from={{{item|}}} a cada #property)? Pau Cabot · Discussió 22:14, 27 juny 2018 (CEST)
@Paucabot: No cal posar el paràmetre en cada invoke:Wikidata|claim, si item ja és un dels paràmetres de la plantilla. Per altres funcions, com getParentValues, no està fet però seria fàcil estendre-ho a totes les funcions del mòdul. Lua té la possibilitat de llegir els paràmetres passats en l'invoke i també els paràmetres de l'entorn superior passats a la plantilla que fa l'invoke. El cas de #property és una funció parser, més eficaç perquè està en el Mediawiki, però no és Lua i li caldrà sempre el paràmetre. --V.Riullop (parlem-ne) 22:41, 27 juny 2018 (CEST)
@Vriullop: O sigui: que si pos un paràmetre | item={{{item|}}} a la plantilla, puc llevar tota la resta (als invoke, només)? Això simplificaria molt el codi ... Pau Cabot · Discussió 22:45, 27 juny 2018 (CEST)
@Paucabot: Exemples:
Cas 1: si una plantilla s'usa de la forma {{Daixonses|item=Qxxx}} tots els #invoke:Wikidata|claim de la Plantilla:Daixonses ja no necessiten el paràmetre item. Si no crida a més plantilles doncs no cal res més.
Cas 2: la Plantilla:Daixonses crida la Plantilla:Dallonses que té invokes. Llavors la Plantilla:Daixonses li ha de traspassar el paràmetre {{Dallonses | item={{{item|}}} | ... }} perquè pugui actuar com el cas 1. Això no és cap canvi, ja era així.
Cas real: {{Infotaula persona}} ja no té item en els invoke claim i traspassa el paràmetre a les plantilles subsegüents que el necessiten per fer nous invokes: Plantilla:infotaula persona/formatglobal, Plantilla:Whichproperty, etc.
--V.Riullop (parlem-ne) 23:59, 27 juny 2018 (CEST)
@Vriullop: O sigui: Special:diff/20035605, no? Pau Cabot · Discussió 00:05, 28 juny 2018 (CEST)
@Paucabot: Sí és això, però s'ha colat l'item de la plantilla circa que el necessita per fer el seu invoke. En general es poden treure tots els | item={{{item|}}} de tots els #invoke:Wikidata|claim, excepte algun cas estrany que n'usi un de diferent a {{{item|}}} i que tindrà preferència sobre l'item global. --V.Riullop (parlem-ne) 10:06, 28 juny 2018 (CEST)
Un exemple d'això últim que diu en Vriullop es veu a {{Protecció patrimonial/prepara}} que fa invokes amb dos items diferents (el de l'article i el de la protecció patrimonial i, per no errar, li he deixat el paràmetre a tots. Bona feina, Vicenç. --amador (disc.) 17:59, 28 juny 2018 (CEST)

Error a mapes extraterrestres[modifica]

@Vriullop: S'està omplint Categoria:Articles amb errors del mòdul Mapa cos celeste. Podria estar això relacionat amb els darrers canvis aquí? Pau Cabot · Discussió 05:18, 20 juny 2018 (CEST)

@Paucabot: Sí. No havia tingut en compte, no ho recordava, que aquest mòdul es pot usar des d'altres mòduls. De fet, crec que Mòdul:Mapa cos celeste és l'únic que ho fa. Arreglat i afegida nota explicativa, més aviat com a recordatori. --V.Riullop (parlem-ne) 18:34, 20 juny 2018 (CEST)

Etiqueta enllaçada[modifica]

@Vriullop: Penso que tinc una petició funcional per la nova {{#invoke:Wikidata/proves|getLabel|<Pxx>}}. Bàsicament seria incorporar els formatting relacionats amb label-article, o sigui, sitelink i internallink, perquè label ja és el que fa ara. Lògicament, quan apunti a l'article WP, hauria de ser el de la llengua que correspongui. La raó és que, tot i que els labels no acostumen a tenir enllaç, quan són temes tècnics, són una ajuda important. Ho he solucionat posant-li claudàtors a la crida i, clar, funciona quan el nom de l'article és exactament igual que el label, però si és diferent s'obté un enllaç vermell. Mira-ho si és fàcil i si no, posa-ho a la llista que, de moment no és urgent. Merci,--amador (disc.) 23:35, 20 juny 2018 (CEST)

(Traslladat de #Llengua de recuperació dades, és nou.)
@Amadalvarez: A {{Nom ítem WD}} he substituït tot el contingut per {{#invoke:Wikidata/proves/lang|getLabel|{{{1|}}}|linked=yes}}, deixant de banda els femenins, i funciona posant enllaç local o a Wikidata i amb etiqueta segons lang. Provat a John Garang i Usuari:Vriullop/proves. És això? --V.Riullop (parlem-ne) 10:23, 23 juny 2018 (CEST)
@Vriullop:. Disculpa, no ho he entès. Dius que has canviat {{Nom ítem WD}}. On ?. No hi té cap canvi. D'altra banda, he provat el linkd=yes en la crida de infotaula edifici/labels (que és on em calia) i no enllaça. Bé, potser m'he deixat alguna cosa. En tot cas, l'he provat directament i, si, és això. Ara vaig a posar-ho a lloc. Merci, --amador (disc.) 22:39, 23 juny 2018 (CEST)
@Vriullop: Funciona, però té un comportament no intuïtiu. Mira special:permalink/20018755. De moment he fet un IF previ per anar fent.Merci, --amador (disc.) 08:25, 24 juny 2018 (CEST)
@Amadalvarez: Ho havia provat a Nom ítem WD només en previsualització per no tocar una plantilla viva i perquè era el cas que tenia a mà per les capçaleres dels càrrecs a John Garang. La idea era que linked sigui true amb qualsevol valor. Li he afegit que sigui diferent de buit i de no. Ho he traslladat al mòdul principal. --V.Riullop (parlem-ne) 10:35, 24 juny 2018 (CEST)
Bon dia de Sant Joan!. D'acord. Bé està el que bé acaba. Ja està posat a Plantilla:Infotaula persona/labels i Plantilla:Infotaula edifici/labels. Merci --amador (disc.) 11:15, 24 juny 2018 (CEST)

Molts errors a les infotaules[modifica]

Hola, he vist que hi ha algun problema amb algunes infotaules on no pot importar alguns paràmetres, com per exemple Plantilla:Infotaula geografia política. -- Alexis900 · Discussió 13:09, 9 jul 2018 (CEST)

Sembla que els problemes són als camps densitat de població i superfície. Exemples: Província de Barcelona, Província de Lleida i El Carxe. Pau Cabot · Discussió 13:24, 9 jul 2018 (CEST)
Corregit. Un error en valors numèrics amb unitats que s'ha colat en la darrera actualització sobre els femenins. --V.Riullop (parlem-ne) 13:41, 9 jul 2018 (CEST)

GetLabel[modifica]

@Vriullop: NO URGENT. Em calia fer un enllaç indirecte fent servir el resultat de GetLabel i com el "fixed" mostra el mateix que enllaça, he fet la funció de maniobra {{Nom ítem WD2}}. No és un canvi de text permanent com per posar-ho al wikidata/labels, sinó circumstancial d'un article i, a més a més, és un text variable. Pots veure una mostra del seu comportament a special:permalink/20107900. Se li podria passar un text a GetLabel per a que ho mostrés quan fixed=yes ?. No és urgent. Vaig tirant amb això. Merci,--amador (disc.) 11:55, 25 jul 2018 (CEST)

@Amadalvarez: Ho he provat però no ho acabo d'entendre.
  • {{#invoke:Wikidata/proves|getLabel|Q594187|label=en català|linked=yes|lang=ca}}en català
Un enllaç és [[article or d:ID|label]]. Per Color de les espores (Q594187) no existeix article i per tant enllaça a Wikidata. Si el que vols és enllaçar a l'etiqueta, que és una redirecció, llavors caldria introduir una opció com formatting=internallink, ara getLabel usa sempre l'opció sitelink. Segon, el paràmetre lang no fa res. S'usa per determinar el label, però aquest ja ve fixat en paràmetre. Amb |lang=en surt el mateix. Si és per allò dels bolets doncs ja vam quedar que havia d'enllaçar a l'article local. --V.Riullop (parlem-ne) 13:10, 13 ago 2018 (CEST)
@Vriullop: Disculpa, no t'havia contextualitzat. No té res a veure amb l'article o l'etiqueta, sinó en poder fer una construcció tipus: L'[[any 1984|any que jo hi vaig néixer]] bla bla bla. Quan es va fer la plantilla dels bolets es va decidir (no em preguntis perquè) enllaçar a "la cosa", tot i mostrar el text de la tipologia. Per tant, sigui quin sigui el tipus de capell o el color de les espores (que és el codi que tenim i que ha d'aparèixer com a text visible), cal que l'enllaç sigui a "pileu" o "espora". A la comanda et deia que "ho mostrés quan fixed=yes", però com que ara tots són fixed, doncs sempre, clar. Merci, quan ho provi et faig feed-back. --amador (disc.) 13:57, 13 ago 2018 (CEST)
@Vriullop: Provat. És el que volia. Avisa quan ho passis a producció. Merci. --amador (disc.) 05:16, 14 ago 2018 (CEST)
@Amadalvarez: Fet. A més, com a novetat per al teu manual d'instal·lació, ara les subpàgines són relatives al títol principal, que podria ser diferent a Module:Wikidata. Està explicat en l'apartat de "Dependències" de la documentació. --V.Riullop (parlem-ne) 09:47, 14 ago 2018 (CEST)

linkWithParentLabel[modifica]

@Vriullop: El linkWithParentLabel no agafa item global. Merci,--amador (disc.) 19:39, 28 jul 2018 (CEST)

@Amadalvarez: Fet. --V.Riullop (parlem-ne) 20:23, 28 jul 2018 (CEST)
@Vriullop: El GetParentValue, tampoc. Merci,--amador (disc.) 09:17, 7 ago 2018 (CEST)
Fet. --V.Riullop (parlem-ne) 09:53, 7 ago 2018 (CEST)

Petites destrosses amb coses que enllacen malament[modifica]

@Vriullop: A special:permalink/20218128 trobaràs una col·lecció de casos combinant el formatting i el llapis. Es tracta d'un codi una mica complex que crida una subplantilla dins una table. Fins ara està funcionant molt bé perquè els paràmetres no són enllaçats, excepte un, però, en aquest, m'he trobat un valor que no està traduït ni té article. Llavors ha tornat a aparèixer el maleït tema de la barra d'enllaç que es pensa que és una barra de paràmetre i produeix un decalatge mortal per a la subplantilla receptora. A més, el llapis també fa la guitza en aquesta situació. Com que la crida és difícil de seguir perquè cal entendre com es comporta la subplantilla, he preparat un joc de proves amb dues crides en cadascuna: la 1) és a la subplantilla i la 2) només mostra el $3 que és el que falla per a que vegis el resultat quan es tracta directament sense ficar-la dins una crida. La resposta correcta (formats a part) és "Reserva de cel estrellat" "Data 2011" i això només passa quan les crides són sense llapis i sense enllaç. No és urgent aquest cas, perquè tots els altres paràmetres no son enllaçats i aquest el puc deixar també sense enllaçar, però he preferit passar-t'ho per si trobaves una fórmula màgica. Per la teva llista de cabòries. Merci,--amador (disc.) 18:20, 17 ago 2018 (CEST)

Això té mala solució. Amb Special:Diff/20218540 no ho destrossa tant però continua tenint errors pels enllaços conduïts i pels fitxers de la icona. Ho he passat a proves perquè sí que he corregit un cas en que sortien dos llapis, qüestió menor. Em fa l'efecte que estem forçant molt la cosa. Per passar els resultats a una plantilla cal que siguin en brut i que sigui la plantilla qui espavili amb el format. El que estàs demanant és fer aquesta infotaula tot plegat amb Lua. --V.Riullop (parlem-ne) 20:46, 17 ago 2018 (CEST)
Déu n'hi do el que ha millorat. Doncs no forçarem la màquina tant. Merci. --amador (disc.) 21:49, 17 ago 2018 (CEST)
Segurament posant noms als paràmetres encara seria més segur. Si t'hi fixes en previsualització diu que el paràmetre 1 està duplicat: el que li passem més la segona part dels enllaços desprès de la barra. --V.Riullop (parlem-ne) 09:28, 18 ago 2018 (CEST)

Proves multilingües en pàgines a espai no principal[modifica]

@Vriullop:Avui passaré infotaula persona a producció. Abans he fet la prova de si s'aplicava la llengua de l'editor en pàgines d'usuari. Funciona, llevat dels RTL. Mostra el contingut en anglès i no inverteix la pàgina. És a dir, sembla com si en algun moment decidís aplicar la llengua per defecte i aquesta fos la que li passés a la infotaula. A Usuari:Amadalvarez/taxonWD tens un joc de prova sense llengua que és còpia de plantilla:proves persona/actor on sí tenen paràmetre lang informat i hi ha una mica de tot. Tiraré endavant el canvi igualment, perquè només ho comunicaré internament. A veure si hom ho detecta. Merci,--amador (disc.) 07:11, 19 ago 2018 (CEST)

@Amadalvarez: La llengua de l'usuari funciona per les definides a Special:PrefixIndex/MediaWiki:Lang/. N'hi he afegit algunes més però està lluny de les commons:Special:PrefixIndex/MediaWiki:Lang/. Si no existeix pren la fallback. Per exemple si canvio les preferències a sicilià surt en italià. Si canvio a grec surt en anglès. A més, per les llengües RTL caldria afegir un div amb dir per a tota la plantilla i això és impracticable fora de demos. Finalment, cal dir que els wikis que tenen aquesta estructura i18n són pocs: mira els interwikis de Plantilla:LangSwitch. --V.Riullop (parlem-ne) 11:14, 19 ago 2018 (CEST)
@Vriullop: Entès lo de la Special vs commons; si poguessis afegir "he" ens aniria bé amb els contactes hebreus. Pel que fa al div, ja ho fa directament la infotaula en funció de si la lang que rep està dins la {{dir}}. He provat amb "fa" i tampoc la inverteix (tot i que els textos surten en persa) la lang està buida i el div no s'aplica. Alguna pista ?. --amador (disc.) 12:39, 19 ago 2018 (CEST)
@Amadalvarez: Afegit lang/he. La llengua del div és via paràmetre extern i d'entrada està buit. És el mòdul qui busca la llengua per defecte, la de l'usuari o la del wiki. Cal una funció per a que retorni la llengua per defecte? --V.Riullop (parlem-ne) 12:56, 19 ago 2018 (CEST)
He vist que has posat el paràmetre lang, però està buit perquè a la crida no hi és. He provat amb {{int:lang}} i funciona, però anava a provar com es comportava en pàgines d'articles.--amador (disc.) 13:22, 19 ago 2018 (CEST)
@Vriullop:Ho torna sempre. Per tant, els articles també es mostrarien en RTL quan la llengua de l'editor ho fos. Ja pensaré com esquivar-ho.--amador (disc.) 13:28, 19 ago 2018 (CEST)
@Amadalvarez: Fet, nova funció lang que retorna el codi de llengua usat per defecte. --V.Riullop (parlem-ne) 14:55, 19 ago 2018 (CEST)
@Vriullop: que torna quan estem a l'espai principal ?. El que considerarà el mòdul per traduir, o la de l'editor ?.--amador (disc.) 15:00, 19 ago 2018 (CEST)
@Amadalvarez: És el mateix lang que usa el mòdul, sigui el passat com a paràmetre o per defecte el del wiki en l'espai principal i el de l'usuari en altres espais. Prova-ho {{#invoke:Wikidata/proves|lang|{{{lang|}}}}}. Amb el paràmetre buit, en el cas que deia de sicilià com que no existeix mediawiki:lang/scn treu el fallback it però ca en articles. En el cas de variants com es-formal o en-GB també usa el fallback es i en respectivament. Si s'afegeix el paràmetre treu aquest mateix valor, però si lang=novàlid llavors no en fa cas i usa per defecte. --V.Riullop (parlem-ne) 16:52, 19 ago 2018 (CEST)

@Vriullop: Aparquem un moment lo del RTL perquè m'acabo de donar que la llengua de l'editor també l'aplica a l'espai principal, cosa que no havíem provat mai, o sigui que paro el passi a producció per a evitar sorpreses i queixes innecessàries. Ha de ser del mòdul, perquè el paràmetre lang (que és el que passo a les crides per recuperar les etiquetes) arriba buit i el resultat de la funció lang que acabes de crear conté la llengua de l'editor tot i estar en espai principal. Ja em dius quelcom. Merci, --amador (disc.) 17:17, 19 ago 2018 (CEST)

@Amadalvarez: Increïble que no estigués provat. Bé, ho havia provat amb crides directes però no funcionava per via indirecta amb plantilles. Està corregit Special:Diff/20229904. For the record: no és el mateix el títol del frame parent que el títol current. Error de concepte. La següent correcció del femení amb list=lang eliminarà casos de rastreig/Wikidata/monolingualtext. --V.Riullop (parlem-ne) 18:43, 19 ago 2018 (CEST)
@Vriullop:Et veia molt segur quan deies que la lang d'usuari no es passaria a principal i mai se'm va passar pel cap de cridar plantilles de proves des d'un article. Lesson learned. Això que dius del rastreig, donem una hora que faré net. Excepte 1 d'elles, la resta estan en plantilles que substituirem i que ja he netejat. Per si t'ho vols anar mirant mentre faig neteja, et deixo un cosa nova. Deia el meu pare que quan es mouen els armaris sempre es trenca alguna pota. Salut !--amador (disc.) 19:03, 19 ago 2018 (CEST)

No aplica case=infoboxlabel en els femenins[modifica]

Això sembla que s'ha espatllat des de que la forma femenina s'agafa de WD enlloc de calcular-la. Cas pràctic a special:permalink/20229980. Merci, --amador (disc.) 19:03, 19 ago 2018 (CEST)

@Amadalvarez: Solucionat en /proves. Com que afecta el tractament de femenins en general, queda pendent de comprovacions: amb case=gender, en taules amb casex=gender. --V.Riullop (parlem-ne) 20:37, 19 ago 2018 (CEST)
OK. Provo a partir de demà.--amador (disc.) 20:41, 19 ago 2018 (CEST)

Fet. Com que tenia diversos canvis pendents d'actualitzar m'hi he llançat. --V.Riullop (parlem-ne) 10:25, 22 ago 2018 (CEST)

Paràmetres tablesortalt, whitelist i blacklist[modifica]

Per a futura referència, la discussió inicial d'aquests paràmetres és a Tema:Ujnttzn0w9k1x0vq. --V.Riullop (parlem-ne) 11:21, 12 set 2018 (CEST)

separator amb white/blacklist[modifica]

@Vriullop: He parat boig al passar a producció els darrers canvis de {{Indret}} i {{infotaula edifici}} que incorporaven les proteccions patrimonials fent servir els nous paràmetres white i blacklist. La infotaula sortia perfectament, però es generaven salts de línia extra abans de la infotaula, és a dir, tant el cos de l'article com la infotaula començaven unes línies més avall. Finalment he trobat que la causa provenia de no tenir el paràmetre separator. Això em passava quan, anteriorment, havia emulat aquesta funcionalitat amb un IF al rowformat. Si posava separator=qualsevol cosa s'executava per cada instància tot i que no acomplís; i si no posava el paràmetre separator, feia un salt extra per instància. Finalment, vaig aconseguir que no fes res extra amb un separator= sense cap valor. Doncs bé, ara amb els white/blacklist passa un efecte semblant. Ha costat força, perquè només passa quan hi ha més d'una instància a la llista i, per tant, a la majoria d'articles no passa o és imperceptible (1 o 2 línies). Ara està arreglat amb el paràmetre buit a {{protecció patrimonial/P1435}} i a {{indret}} quan genera les proteccions dels "format_per", i es fàcil veure l'efecte (traient-lo) i mirant resultat a special:permalink/20375499. Salut !, --amador (disc.) 00:08, 7 oct 2018 (CEST)

@Amadalvarez: No és problema del white/blacklist, de fet a Usuari:Amadalvarez/proves només hi ha un whitelist buit. El problema és generar una llista amb una infotaula child per a cada fila. El resultat és:
 {{infotaula...
 {{infotaula|child...fila 1}}<br />{{infotaula|child...fila 2}}
Aquests salts de línia el parser els troba incoherents i els posa fora de la infotaula. L'efecte és el mateix que mw:Help:Extension:Linter/fostered. No veig més remei que anul·lar el separador per defecte i posar-lo buit. --V.Riullop (parlem-ne) 11:55, 9 oct 2018 (CEST)
@Vriullop:Co...s !. Doncs de moment ho deixo amb separator=buit i m'estudiaré si puc deixar de fer la infotaula amb child=yes i ho puc posar com a fila normal. Merci, amador (disc.) 16:12, 9 oct 2018 (CEST)

NoValue en whitelist[modifica]

@Vriullop:Ja sé que maleiràs el dia que vas fer les white/blacklist, perquè sabies que "això no s'acabaria aquí", però és el preu a pagar quan un fa coses que obren la ment dels seus clients. Miro d'explicar el títol:

  • Dins una propietat multivalor, un valor sense qualificador quan les altres en tenen, és l'equivalent a tenir el qualificador "sense valor".
  • Quan es volen tots els valors, no es posa whitelist
  • Quan es vol algú en concret, se l'hi posa aquest.
  • I quan vull la instància que no té valor, com li demano ?

El cas: Amb la Forma geogràfica (P3896):

  • La immensa majoria no tenen S'aplica a (P518), cap problema, les tractaré totes.
  • Però n'hi que en tenen.
    • D'entre el possibles valors que aquestes poden tenir, només m'interessen un conjunt de casos que tractaria amb la whitelist.
    • Però llavors perdré les que no tenen qualificador.
  • Pensava fer dos tractaments separats: primer per les que no tenen i després un altre amb la whitelist. Llavors m'he adonat que no tinc forma de demanar només aquelles que "no tenen un qualificador determinat".

No tinc un item concret, perquè es tracta de tenir una solució pels que no tenen, que són la majoria. Si vols fer provatures, aquí tens la llista de tots els ítems amb P3896+P518 i el seus valors. Gràcies. --amador (disc.) 08:45, 12 oct 2018 (CEST)

@Vriullop: Tens un joc de proves a special:permalink/20389717. Tots 3 casos haurien de mostrar un nom de map. La sintaxi que he posat al whitelist per identificar el "no value" és //, però adapta-ho al que millor convingui. --amador (disc.) 13:16, 12 oct 2018 (CEST)
@Amadalvarez: El whilist buit està eliminat expressament Special:Diff/20358903 per Usuari Discussió:Amadalvarez#Estatus patrimonial. Semblava raonable per una propietat, però és una mala idea pels qualificadors. Tractar-los diferent tampoc estic segur que sigui bona idea. Revertint-ho quedaria solucionat per aquest cas. Ves pensant en alguna alternativa pel paràmetre whitelist buit heretat. De tornada a veure si ho podem arreglar. --V.Riullop (parlem-ne) 18:10, 15 oct 2018 (CEST)
@Amadalvarez: Què fem amb això? Potser la millor solució és afegir un guionet en cas de paràmetre buit i així es pot habilitar un valor buit: whitelist0={{{whitelist|-}}}, whitelist1=/. Si et sembla bé, primer afegeixo el guionet com a valor a desestimar en el mòdul, segon canvies en les plantilles {{{whitelist|}}} per {{{whitelist|-}}}), tercer elimino el valor buit com a valor a desestimar. Llavors ja funcionaria whitelist=Qxx//Qxxx amb qualsevol combinació buida abans o desprès de la barra, i sense trencar res pel camí. --V.Riullop (parlem-ne) 13:16, 27 oct 2018 (CEST)
@Vriullop: No valdria la pròpia "/" per identificar que no és un paràmetre buit ?. El concepte de la primera petició (paràmetre sense info=tots) és similar a aquesta (paràmetre amb només / o // entre valors = tots els no qualificador). Em sembla més elegant, però si no pot ser, fem lo del guió. Merci,amador (disc.) 14:37, 27 oct 2018 (CEST)

@Amadalvarez: Em sembla que parlem de coses diferents o que hem barrejat conceptes. Si em centro en el cas 1 de special:permalink/20389717, és un canvi senzill fet en el mòdul de proves. No estic segur si es tracta d'això. --V.Riullop (parlem-ne) 19:12, 27 oct 2018 (CEST)

@Vriullop: Doncs, és això. El cas 1 ha de mostrar un mapa, ja que no té qualificadors. Això que has fet està en conflicte amb el canvi que comentaves (Special:Diff/20358903) ?. amador (disc.) 19:47, 27 oct 2018 (CEST)
@Amadalvarez: No hi ca cap conflicte, aquí m'he enredat, encara m'he de recuperar de les vacances. Millor ho deixo per avui. No és el mateix l'argument buit (whitelist=) que algun dels valors buits (whitelist=/). El primer cas l'ignora expressament amb el canvi que deia, en el segon cas faltava tractar-lo: Special:Diff/20428809 (no retorna NoValue sinó nil que cal convertir a buit). Per cert, el tractament és el mateix amb blacklist. --V.Riullop (parlem-ne) 21:17, 27 oct 2018 (CEST)
@Vriullop: Perfecte. Descansa que t'has de mirar el nou repte que et vaig posar quan estaves de vacances. amador (disc.) 21:26, 27 oct 2018 (CEST)
Fet, en viu. Allò altre ho tinc en els pendents, en el seu moment no ho vaig veure clar. --V.Riullop (parlem-ne) 19:49, 28 oct 2018 (CET)

Selection by date[modifica]

@Vriullop: Quan érem més joves i menys experts (fa ja 5 llunyans mesos), varem tenir aquesta discussió que va quedar aturada. El 80% ara ja s'ha resolt amb les white/blacklist, i ens ha quedat pendent el tema de selecció per data. Havies fet unes proves a Mòdul:Wikidata/proves/time que, no recordo com es feia servir ni si la seva lògica està alineada amb els canvis que has implementat posyteriorment al mòdul o seria millor enfocar-ho d'una altra forma. El cas és que l'hauríem de tornar a abordar. Si mires Usuari_Discussió:Amadalvarez#Štefan_Čambal que ve de la darrera resposta meva al punt anterior, ja es veu que tenim una aplicació concreta. Pots mirar de reprendre el tema ?. Merci,--amador (disc.) 23:31, 5 nov 2018 (CET)

Exemples:Extremadura (Q1250617), ŠK Slovan Bratislava (Q192253) amador (disc.) 16:46, 6 nov 2018 (CET)
@Amadalvarez: El /time és una versió beta. Funciona per una consulta simple, per ŠK Slovan Bratislava (Q192253): {{#invoke:Wikidata/proves/time | propertybydate | item=Q192253 | P1448 | 1938 }} dóna 1. ČsŠK Bratislava. El problema és integrar-ho en un format taula per un parent by date d'un qualificador del child. És a dir, per Štefan Čambal (Q392388) qualifier2=P54/P1448 |bydate2=P54/P1448/P580 |fromdate2=P582, no necessàriament amb aquesta sintaxi, és per exemplificar. Això cal madurar-ho. Per exemple, cal jugar sempre amb els qualificadors P580 i P582, o n'hi poden haver d'altres? En el child tenim un rang P580-P582 i en el parent un altre rang P580-P582. Com ho gestionem? Potser segons el P582 del child que entri en el rang P580-P582 del parent? Hi poden haver rangs solapats? Hi poden haver dates amb d'altres precisions diferents a any? Què passa si hi ha valors buits de P580 o de P582? La idea inicial del /time és tractar només el P580 i trobar el valor quan la data és superior. Si simplifiquem conceptes i casos se simplifica molt tot plegat podent arribar a un simple "qualifier2=P54/P1448/bydate". --V.Riullop (parlem-ne) 10:13, 7 nov 2018 (CET)

Ordenació per més d'una clau[modifica]

@Vriullop: Ja va sortir l'altre dia, però imagino que no deu ser fàcil. Pensava si no es podria fer una pseudo-clau que concateni 2-3 qualificadors. En el cas de les data-inici / fi que surten a moltes llistes, fent servir la data inici, no sempre surten ordenades com seria lògic (primer 2009-2017 i després 2009-2009) i fa molt mal d'ulls. Bé, aquí ho deixo. --amador (disc.) 22:04, 6 nov 2018 (CET)

L'ordenació múltiple ja va sortir a Usuari Discussió:Amadalvarez#Messi i la infotaula persona. En una versió anterior de proves hi vaig afegir un tablesort2, però es va abandonar perquè no era el tema de la discussió. Ho puc recuperar i potser millor amb un tablesort=2/1 que es pot ampliar a tots els qualificadors que vulguis. M'ho apunto, pendent per no sé quan. Cal veure com afecta a tablesortalt o bé si això el substitueix. --V.Riullop (parlem-ne) 10:43, 7 nov 2018 (CET)
Descartaries que es pogués fer en combinació amb la property ?.--amador (disc.) 12:09, 7 nov 2018 (CET)
No ho descarto. Ara ja funciona tablesort=0. No és cap problema. --V.Riullop (parlem-ne) 13:57, 7 nov 2018 (CET)
@Amadalvarez: Primera versió en proves, amb tablesort amb múltiples columnes separades per una barra vertical, inclosa la 0, sense límit. Provisionalment m'he carregat tablesortalt. Aquesta opció es va introduir pels casos de Data d'inici (P580) o Data (P585), no tinc clar si un o l'altre o tots dos indistintament en la mateixa propietat. Si en una taula només existeix un o l'altre queda solucionat afegint les dues columnes consecutives en l'ordenació. Si poden sortir barrejats en la mateixa taula, és a dir si cal fer un OR, no tinc clar com tractar-ho o com usar tablesortalt en la nova estructura múltiple de tablesort. --V.Riullop (parlem-ne) 18:34, 8 nov 2018 (CET)
@Vriullop: Has dit | ?, no l'interpretarà com un paràmetre ?. He provat a special:permalink/20469018 i només m'ordena per la primera clau. Al primer exemple el 2009-2009 ha de sortir davant el 2009-2011; al segon cas, els equips sense gols han de sortir per nom. Potser no he entès bé la sintaxi... Merci, amador (disc.) 06:31, 9 nov 2018 (CET)
@Amadalvarez: Ups, volia dir barra inclinada /. --V.Riullop (parlem-ne) 08:20, 9 nov 2018 (CET)
@Vriullop: doncs, igual resultat. Li pots fer un cop d'ull a special:permalink/20470664 ? Merci,amador (disc.) 18:42, 9 nov 2018 (CET)
@Amadalvarez: Misteris misteriosos. Estava usant una lògica que em funciona amb Python però amb Lua l'algoritme d'ordenació és diferent i dóna resultats inesperats. Bé, ho he refet amb una altra fórmula que resulta més simple. --V.Riullop (parlem-ne) 16:43, 10 nov 2018 (CET)

@Vriullop: li he fet unes quantes proves (items amb nom i amb raw, dates en anys, mesos i dies, monolinguals) i fa bona pinta. Si ho vols passar a producció, avisa'm quan estigui.--amador (disc.) 22:35, 11 nov 2018 (CET)

@Amadalvarez: Fet. Queda pendent veure què fem amb tablesortalt. De moment l'he posat com a alternativa a qualsevol dels valors de tablesort, i un rastreig Especial:Enllaços/Plantilla:Rastreig/wikidata/tablesortalt. També cal tenir en compte que sorting=-1 s'aplica a tots els valors de tablesort. --V.Riullop (parlem-ne) 15:25, 12 nov 2018 (CET)
@Vriullop:He mirat de liquidar el tablesortalt. Pregunta: el valor null, és més alt o més baix que la resta?. Mira special:permalink/20484513. Els dos primers (desitjablement) haurien de sortir a l'inrevés. Alguna idea ?.--amador (disc.) 07:29, 14 nov 2018 (CET)
@Amadalvarez: Un valor nul l'ordena el primer, per això en l'exemple surt el primer el que té $1 buit encara que mostri el $2-$3. Per fer bé l'ordenació alternativa caldria que tablesortalt tingui la mateixa estructura que tablesort per saber a quina columna s'aplica. En lloc de desenvolupar més el tablesortalt prefereixo carregar-me'l i anar a l'arrel del problema: construir una sola columna a partir de consultes alternatives. He habilitat a les proves un "qualifier=P585 OR P580": Special:Permalink/20496887, diff (a notar que hi ha una columna menys). Està habilitat només per a qualificadors amb formatting=table i amb sintaxi OR en majúscules, amb espais de separació opcionals, i sense límit per afegir subsegüents OR. És incompatible amb el format parent Pxxx/Pyyy. --V.Riullop (parlem-ne) 12:59, 18 nov 2018 (CET)
@Vriullop: Quan dius incompatible amb format parent, et refereixes a que el mateix qualificador no pot ser un parent i tenir OR, o que si hi ha un OR cap altre qualificador pot tenir ser un parent ?. --amador (disc.) 15:38, 18 nov 2018 (CET)
@Amadalvarez: En el mateix qualificador. Un qualifier=Pxxx/Pyyy OR Pzzz donarà error. La resta de qualificadors són independents, n'hi pot haver un amb parent i un altre amb OR. Totes aquestes restriccions són provisionals, fruit d'una primera versió simple, a investigar si costaria desenvolupar-les si hi ha necessitat. --V.Riullop (parlem-ne) 15:55, 18 nov 2018 (CET)
@Vriullop: Sembla raonable, però ves per on, només tenim tablesortalt a {{infotaula edifici}} -que no és problema- i a {{Infotaula persona/P1344}} (Antonín Panenka, Johan Cruyff,.. que justament fa el tablesortalt amb un parent. Mala sort. Esperarem --amador (disc.) 16:49, 18 nov 2018 (CET)
@Amadalvarez: Fet. A {{Infotaula persona/P1344}} prova "qualifier=P585 OR P580 OR P1344/P585 OR P1344/P580" en lloc del qualifier5=P1344/P585 (diff). A Tim Berners-Lee ara no surt la data perquè està amb P580 del parent, però sí surt en proves amb aquesta sintaxi. Cal tenir en compte que l'OR té precedència sobre /. Per exemple, "qualifier=Pxxx/Pyyy OR Pzzz" cal interpretar-lo com "qualifier=(Pxxx/Pyyy) OR Pzzz". Per fer-ho sobre dos parents seria "qualifier=Pxxx/Pyyy OR Pxxx/Pzzz". --V.Riullop (parlem-ne) 18:23, 18 nov 2018 (CET)
@Vriullop:Molt bona !!. Deixa'm uns dies per fer-li unes proves. Merci, campió. amador (disc.) 18:51, 18 nov 2018 (CET)

@Vriullop:Disculpa la pregunta, però estic intentar fer les proves per tancar aquest tema abans no se m'oblidi: el OR funciona també per la property o només pels qualifiers ?. Merci, --amador (disc.) 14:44, 8 des 2018 (CET)

@Amadalvarez: Ara per ara només per a qualificadors i amb formatting=table. --V.Riullop (parlem-ne) 15:18, 8 des 2018 (CET)
@Vriullop: Cap problema, tenim la whichproperty. El cas important són els qualificadors. T'aviso quan acabi de fer les proves t'aviso per passar a producció. amador (disc.) 05:39, 9 des 2018 (CET)

Control proves funció OR[modifica]

Començo proves funció OR creada a la discussió prèvia. Aniré substituint els {{whichproperty}} i {{whichqualifier}} per la nova funció, així a més de provar, eliminarem aquestes plantilles. Aquí faré la llista de plantilles canviades per a tenir control de les que estan en proves i per poder treure ràpidament el /proves quan passin a producció. --amador (disc.) 01:34, 8 des 2018 (CET)

  1. Plantilla:Protecció patrimonial/P1435 provant provant. 8/12 0:04
  2. Plantilla:proves persona provat provat. versió de 8/12 1:34
    • P800+q_P577:Q1666 ; P800+q_P585:Q364315 >> Data obres
    • P512+q_P1026:Q164384 ; P69+q_P1026:Q92608 >> nom Tesi
    • P1026+q_P2699:Q9021 ;P1026+q_P953:cap ; P69+P2016/P2699:Q4897147 ;P69+P2016/P953:Q29509378 ; >> URL tesi
    • P1026+q_P184:Q364315 ; P1026+P1026/P184:Q22915111 ; P69+q_P184:Q22915111 ; P69+P1026/P184:Q4897147 >> Dtor. Tesi
    • P1026+q_P577:Q126389 ; P1026+P1026/P577:Q22915111 ; P69+P1026/P577:Q1187542 >> data Tesi
    • P39+q_P748:Q1367019 ; P39+q_P1027:Q989 >> nomenat per
    • P94+q_P1451:Q27444472 (No va !) ; P94+q_P2096:Q29052435
  3. Plantilla:circa provant provant. versió de 8/12 8:28
  4. Mòdul:Railway, provat

@Vriullop: Això està provat bescanviant tots els {{whichqualifier}} per OR i va bé. Jo m'atreviria a passar-lo a producció. M'he trobat un cas que estava mal plantejat perquè tracta un monolingual i, veient els continguts reals, en un cas ha d'agafar la versió de la llengua (ca) i en l'altre ha d'agafar el que hi hagi perquè està en llengua original. He trencat l'OR en dues entrades normals (sense table) amb If empty i així puc codificar-lo de forma diferent. Fins aquí l'explicació, però no he aconseguit que em funcioni l'invent de $language $text quan és un qualificador (fins ara sempre eren propietats: nom_original, etc...). Tens el cas a special:permalink/20570405. Merci,amador (disc.) 12:00, 9 des 2018 (CET)

@Amadalvarez: Fet, amb una actualització parcial des de proves. Hi ha la nova opció OR però no d'altres que deixo pendents i ho explico en un nou fil. Caldrà canviar les plantilles de /proves al mòdul principal, excepte el mòdul:railway que usa una de les pendents. Queda pendent eliminar el tablesortalt: Especial:Enllaços/Plantilla:Rastreig/wikidata/tablesortalt. En teoria es pot substituir per un OR, per exemple {{Infotaula persona/P1344}} en el data13. El segon tema sobre qualificador monolingual el separo en nou fil. --V.Riullop (parlem-ne) 13:13, 9 des 2018 (CET)
@Vriullop: Els qualifier= Pnnnn/Pmmmm ja estan en producció, oi?. --amador (disc.) 17:27, 9 des 2018 (CET)
@Amadalvarez: Sí, ho explico més avall #Qualificadors amb /, pel cas en què Pnnn sigui la propietat del qualificador, no en altres casos. --V.Riullop (parlem-ne) 19:07, 9 des 2018 (CET)
@Vriullop:disculpa, no l'havia vist. Ja responc allà. Per cert, crec que he tret tots els tablesortalt. Està baixant el rastreig i demà sabrem si queda algun altre cas. Merci,--amador (disc.) 19:22, 9 des 2018 (CET)

@Vriullop: Tema tablesortalt: el Especial:Enllaços/Plantilla:Rastreig/wikidata/tablesortalt ja està buit. Ho pots treure quan vulguis. Merci. amador (disc.) 08:18, 13 des 2018 (CET)

Qualificador amb monolingual[modifica]

No he aconseguit que em funcioni l'invent de $language $text quan és un qualificador (fins ara sempre eren propietats: nom_original, etc...). Tens el cas a special:permalink/20570405. Merci,amador (disc.) 12:00, 9 des 2018 (CET)

@Amadalvarez: Per un qualificador monolingual està fet expressament que només tregui la llengua local, no recordo per què. Dels teus exemples sí que funciona {{#invoke:Wikidata | claim| property=P94 |qualifier = P2096 | item=Q29052435 |formatting=($language) $text}} encara que no té sentit per la llengua local. No fa cas del paràmetre list, actuant com si sempre fos list=lang. Per canviar-ho segons el paràmetre list, tal com fa amb una propietat, caldria rastrejar l'ús actual de qualificadors monolingual. En l'exemple Paulina Pozzali i Crotti (Q27444472) hi ha un avís de que Text del lema (P1451) només s'hauria d'usar com a propietat. Val la pena? (Recordatori: function getQualifierSnak). --V.Riullop (parlem-ne) 19:48, 9 des 2018 (CET)
@Vriullop:. Val, ja ho canviaré. Hi ha 358 Llegenda (P2096) com a qualificador. Vull suposar que no contenen lemes en llengua original, sinó una descripció, per tant, multilingüe. De Text del lema (P1451) com a qualificador, hi ha 6 o 7, i com a propietat hi ha 742. No ase falta desir nada mas. Merci,--amador (disc.) 20:28, 9 des 2018 (CET)
Revisat i corregit. Els qualificadors P2096 són descriptius de l'escut. Els qualificatius P1451 han estat passats a propietat de la persona. Corregit a {{proves persona}} per a que tracti el lema com a propietat. --amador (disc.) 23:43, 10 des 2018 (CET)

Qualificadors amb /[modifica]

En proves hi ha dues opcions noves sobre els qualificadors en una taula. Em va sorgir la necessitat en fer Mòdul:Railway, però no tinc clar la seva utilitat i la seva sintaxi:

  • Parent d'un qualificador. Ara tenim property=Px | qualifier=Px/Py per obtenir un valor parent de la propietat. Amb property=Px | qualifier=Py | qualifier2=Py/Pz pot obtenir el parent d'un qualificador. Aquesta opció finalment no l'he usat però potser és útil en altres casos. Si no està clar l'elimino.
  • Qualificador o propietat. Amb qualifier=/Py, és a dir el parent és el mateix ítem, obté una segona propietat per posar-la com a qualificador. En alguns casos una dada es defineix com a qualificador i a vegades com a propietat, llavors es pot usar qualifier=P81 OR /P81. Això té els seus riscos assignant una segona propietat a tots els qualificadors inexistents en la primera propietat. La sintaxi no sé si és prou clara.

--V.Riullop (parlem-ne) 13:13, 9 des 2018 (CET)

@Vriullop: El primer cas l'he fet servir a {{proves persona}}, actualment pendent de passar a producció. Al tractament de dades de la tesi doctoral, hi ha un parell d'estructures tipus
{{#invoke:Wikidata/proves | claim | property=P69 | qualifier=P1026/P2699 |list=false  |formatting=table |rowformat=$1  }}
, ja que la Tesi doctoral (P1026) és un qualificador de les instàncies (universitats) que apareguin a Formació (P69) i les dades de la tesi (Any, director, URL,,) estan a l'ítem on apunta la P1026.amador (disc.) 19:19, 9 des 2018 (CET)
.
Un altre exemple és el tractament de les parts (P527) d'un retaule desmembrat en diverses Col·lecció (P195). En aquest cas, la propietat és el nom de la part (P527), el qualificador és la Col·lecció (P195) i el qualificador derivat és la Localitzat a l'entitat territorial administrativa (P131) on està la col·lecció.
{{#invoke:Wikidata | claim  | formatting=table |list=firstrank |separator=</td></tr> | property=P527 | qualifier=P518  | qualifier2=P195| qualifier3=P195/P131  |qualifier4=P527/P18 |qualifier5=P527/P217 |colformat1=label | rowsubformat3=($3) | rowsubformat4=[[file:$4|60px|link=]] |rowformat= <tr><td style="background:#eeeeee;">$4</td><td>$1<br/>''$0''<br/>$2 $3<br/>Inv:$5 }}
_
Pel que fa al segon cas, també seria útil en el tractament de les maleïdes tesis, tot i que no ho he fet servir. Tenen una estructura diabòlica perquè no s'han posat d'acord amb l'ontologia i es poden representar de 3 formes diferents. La més habitual (i més incorrecta) és tenir com a propietat la Formació (P69), la Tesi doctoral (P1026) i el Director de tesi (P184), una estructura que només funciona per a qui només hagi adquirit un Grau acadèmic (P512) i només hagi estudiat en una universitat (1 entrada a P69). Hi ha dues més que són similars, però comencen per diferent punt:
Aquestes dues estructures poden tenir, a més a més, la col·lecció de qualificadors que li són propis a la tesi (any, director, URL, presentada a,..) i que acostumen a ser redundants amb el que hi ha a l'ítem on apunta la P1026.
La funcionalitat que descrius permetria assimilar la primera forma (tot propietats) a la segona, o la tercera, dins la mateixa crida.
Val a dir que ara ho resolc aplicant totes les solucions possibles a cada dada amb un If empty, ordenades de més lògica a menys. Ara bé, aquesta solució pot produir resultats amb inconsistències si hi ha unes dades replicades i altres no. En tot cas, estem parlant de resoldre problemes d'estructura de dades que, amb el temps, s'han d'anar depurant. Podem esperar a veure si hi ha situacions més comunes i útils.--amador (disc.) 19:45, 9 des 2018 (CET)
Fet. Volia meditar abans d'enredar-ho si la sintaxi és apropiada, a més de no fer canvis en dies de baixa disponibilitat. --V.Riullop (parlem-ne) 12:03, 19 des 2018 (CET)

Seleccionar una propietat depenent d'un qualificador[modifica]

A la infotaula de vol espacial caldria importar una imatge en concret, la de tripulació. Normalment a P18 tenen varies imatges i no trobo com seleccionar-la. A itwiki, tenen el paràmetre qualifiervalue utilitzat d'aquesta manera: qualifier=P642|qualifiervalue=Q345844. Aquest mòdul italià correspon a en:Module:Wikidata2, diferent al nostre que correspon amb en:Module:Wikidata. Podem implementar res que s'hi assembli. De ben segur que es podria utilitzar per mes casos. Gràcies.--Kette~cawiki (disc.) 19:52, 11 nov 2018 (CET)

@Kette~cawiki:Ara t'ho faig. L'equivalent al que tenen els italians és el paràmetre whitelist. Aquí tens el canvi. Ex.: Apollo 15. Salut ! --amador (disc.) 21:11, 11 nov 2018 (CET)
@Amadalvarez: molt gran, si senyor. Ja l'he provada. Cada dia s'aprèn alguna cosa més.--Kette~cawiki (disc.) 21:54, 11 nov 2018 (CET)
@Kette~cawiki: De res, però has de felicitar el @Vriullop:, que és l'autor de l'eina. Hem fet grans coses gràcies a aquesta funció. Com per exemple, la històrica reivindicació de separar els clubs de les seleccions en l'historial dels futbolistes, o fer que la Conté parts del tipus (P2670) sigui un contenidor generalista de "coses que un ítem té", posant-li com a qualificador S'aplica a (P518) amb el tipus de "cosa" que és. Llavors fas una whitelist amb l'id de la tipologia que busques i ensenyes el valor de la P2670 corresponent. Molt útil quan en una infotaula hi ha paràmetres manuals que mai tindran propietat específica (per exemple: nombre d'entrades d'un edifici o nombre de telescopis que té un observatori, etc.. Merci, --amador (disc.) 22:13, 11 nov 2018 (CET)
@Kette~cawiki:Per cert, he estat pensant que si només tenim una Imatge (P18) amb P642=Q345844, sortirà dues vegades: com a foto normal (perquè no filtra res) i com a foto de tripulació (perquè acompleix la whitelist). Solució ?. Fàcil: fer el mateix, però aplicat al tractament de la P18 i posant la condició contrària, és a dir blacklist1=Q345844, que farà que es tractin les fotos que "no són de tripulació". Què, ho proves ?. amador (disc.) 05:18, 12 nov 2018 (CET)--amador (disc.) 05:18, 12 nov 2018 (CET)
@Amadalvarez: sí, ja ho havia pensat. Aquest cas el tenia controlat abans amb un «if image=no» per no importar res. Ara ja he fet la crida amb el blacklist. Tot i això, faig «trampetes», en alguns casos hi ha més de dues imatges i el controlo amb el list=false però si la primera és de la tripulació no mostra res. En aquest cas canvio el rang a 'preferit'. No he trobat altra forma de fer-ho.--Kette~cawiki (disc.) 10:40, 12 nov 2018 (CET)

Uf, això es complica. El qualificador ja no és un sol, hi ha dues possibilitats per contenir Q345844: P642 (del que es queixa) i el que consideren correcte, P180. És correcte escriure qualifier=P642/P180? --Kette~cawiki (disc.) 22:07, 13 nov 2018 (CET)

@Kette~cawiki: Jo fugiria de tractar dues propietats. En el whitelist no és un problema, però en el blacklist no hi ha garanties dels resultats (allò de la negació de la negació....). Veig que el P180 l'has posat tu a Expedició 6 i estic amb tu que és més adient P180 que P642. Ara bé, la realitat és que hi ha 328 casos de P642=Q345844, o sigui que abans de fer cap canvi de criteri (per raonable que sigui), caldria discutir-ho amb els editors habituals d'aquests ítems (els del món dels astronautes i tal..). Un jardí.--amador (disc.) 07:45, 14 nov 2018 (CET)
@Amadalvarez: sí, només era una prova. Gràcies.

Mòdul>>Module[modifica]

Hola, tengo una propuesta, espero que os parezca bien. Para facilitar la adaptación de estes módulos, las llamadas a submódulos creo que sería mejor hacerlas con "Module", en inglés, en vez de "Mòdul", ya que así esa parte no tiene que cambiarse en otras wikis y creo que funciona exactamente igual. Salut! --Elisardojm (disc.) 11:41, 23 nov 2018 (CET)

@Elisardojm: Tienes razón. En general procuro usar los prefijos en inglés, como Module, pero se me escapa alguna vez con el Mòdul:Utilitats por ser una utilidad con nombre local y provisional. --V.Riullop (parlem-ne) 13:49, 23 nov 2018 (CET)

Codi Q de les unitats del SI[modifica]

@Vriullop: Hi ha forma de recuperar el raw de la unitat d'una dada de tipus numèric ?. Actualment podem demanar formatting=unitcode o unit però com que respon un text, no hi ha garantia en el seu tractament en multilingüe. Tinc un cas en que em cal conèixer en quina unitat de temps està escrit per fer un determinat procés. Ara, la condició es fa amb el text de l'unitcode, però no sé com serà en urdu, àrab o kurd...Bé, per ara no és urgent, perquè està en una infotaula que no està en procés de conversió a multilingüe. Merci,--amador (disc.) 23:06, 12 des 2018 (CET)

No et serveix això? Les unitats internacionals estan totes en anglès i forçant la consulta lang=en és més fàcil per fer qualsevol procés. Si fos necessari no seria difícil afegir l'opció formatting=unitraw. --V.Riullop (parlem-ne) 11:28, 13 des 2018 (CET)
@Vriullop: Sempre tan enginyós !!. Gràcies, mestre. Fet Fet!--amador (disc.) 16:48, 16 des 2018 (CET)

Error de Lua: invalid capture index %2 in replacement string[modifica]

@Vriullop:. Bones festes. Pots fer un cop d'ull a special:permalink/20622303. Posaria la mà al foc que ens havia funcionat, perquè aquest cas està en un joc de proves. En tot cas, és un problema de contingut, perquè en altres situacions similars, funciona. Merci,--amador (disc.) 07:05, 26 des 2018 (CET)

@Amadalvarez: És un problema conegut, que ja havia sortit, per culpa dels %20 en una URL, en general per tots els caràcters d'escapament d'una URL. Per fer-se una idea és com si tingués un $2 que destrossaria el rowformat. En Lua, un % seguit d'un número és una captura d'una substitució. Estava solucionat per un consulta directa però no amb format taula. En proves he fet un tractament específic pels datatype url. El problema és que en una taula hi ha múltiples substitucions posteriors: rowformat, rowsubformat, colformat, expansió de plantilles. Abans de cada substitució cal tractar el %20 i similars. Prova-ho amb les combinacions que se t'acudeixin. --V.Riullop (parlem-ne) 11:25, 27 des 2018 (CET)
@Vriullop:. L'exemple que et vaig passar no m'ha funcionat: special:permalink/20625248. amador (disc.) 11:37, 27 des 2018 (CET)
@Amadalvarez: Cony, em funcionava i al darrer moment li he afegit una condició més per a una combinació estranya. Potser caldrà assumir que amb formats complexos pot fallar. De moment, a veure si funciona amb formats normals. --V.Riullop (parlem-ne) 11:59, 27 des 2018 (CET)
Doncs així serà. Ja se sap que mantenir el mòdul és com passar la pista americana dels carregadors de dades. Merci, --amador (disc.) 16:30, 27 des 2018 (CET)
Fet, actualitzat de les proves. --V.Riullop (parlem-ne) 17:23, 6 gen 2019 (CET)

Línia 315[modifica]

Amb aquesta cerca, apareix un error a les unitats a bastants d'articles. @Vriullop: Hi podries pegar una ullada? Pau Cabot · Discussió 12:24, 10 març 2019 (CET)

Fet, s'havia tocat en la darrera edició faltant una protecció. --V.Riullop (parlem-ne) 13:32, 10 març 2019 (CET)

Reference printing bug[modifica]

Hi, I copied the wikidata-module to se.wikipedia.org and noticed a but with printing the references. Currently, it prints all references of the claim even only a single value is displayed. Reason for this is mw.getCurrentFrame():extensionTag() which pushes the reference to the internal list when it is called.

Example: {{#invoke:Wikidata |claim| item= Q985564| property = P1082|qualifier = P585 |formatting=table|rowformat=* $0 $1|tablesort=1|sorting=-1|list=false|colformat1=Y-m-d|references=true}}

  • 19.831 2007-12-31

My fix for this in sewiki was to call getReferences() later. I also changed the code so that I can change the place of the reference with rowformat. --Zache (disc.) 15:34, 19 març 2019 (CET)

@Zache: Good point. References were really not working properly with filtered tables through list=false or whitelist/blacklist filters. I have updated the module with your fix. @Amadalvarez: FYI, now $R0 is a place holder for references in tables:

{{#invoke:Wikidata |claim| item= Q985564| property = P1082|qualifier = P585 |formatting=table|rowformat=* $0 $R0 $1|tablesort=1|sorting=-1|list=false|colformat1=Y-m-d|references=true}}

  • 19.831 [1] 2007-12-31
--V.Riullop (parlem-ne) 19:08, 19 març 2019 (CET)
@Zache: Thank you for this improvement. By the way, is your module:wikidata a copy of the cawiki module ?. If so, you may use some of our multi-language infoboxes with only a small effort. You have a sample in Usuari:Zache/test infoboxes. amador (disc.) 21:46, 19 març 2019 (CET)
Yes it is, and thanks for the examples. My current plan is to keep sewiki's infobox system pretty simple so sewikis editors can still edit infoboxes so i think that i don't create anything that fancy to it. The idea is to do it like this to add new parameter wikidataN to se:module:infobox which value will be shown if dataN is empty. If dataN is - then nothing will be printed (same as cawikis noWD keyword) (example) --Zache (disc.) 09:03, 20 març 2019 (CET)
@Zache: In fact, we enter no one parameter nor manual nor "noWD". The problem with the solution you propose -similar to commons infoboxes in category or english automated infobox- is when the information have complex structures (qualifiers and second layer information, for instance the year of the competition where a sportman played, the coat of arms of a position held by a person, etc.). In any case, as your WP is still small and, I presume, you have not too much editors to handle the WP maintenance tasks, if you would use our infoboxes -that are permanently maintained- you will save a lot of time and the quality of the articles will be improved. If I can help you, count on me. --amador (disc.) 16:53, 20 març 2019 (CET)

Multilingual Templates and Modules[modifica]

just FYI. There is initiative for mw:Multilingual_Templates_and_Modules and cawikis wikidata-module could be good basic wikidata module for other wikis too because it doesn't have heavy dependencies. --Zache (disc.) 16:47, 17 abr 2019 (CEST)

@Vriullop: Respecte aquest tema, que crec que seria necessari fer servir si volem facilitar el versionat amb els nostres seguidors, saps si el mòdul acompleix els requeriments que es demanen ?. Merci, amador (disc.) 07:26, 7 set 2019 (CEST)
@Amadalvarez: No ho compleix en tres punts: 1) cal un submòdul ../testcases com a prova de que funciona tant el mòdul principal com el ../sandbox, 2) els missatges s'han de cridar amb mw:Module:TNT amb les traduccions a Commons en un Data:, 3) s'han de canviar les crides a altres mòduls, especialment els submòduls, per a que tradueixi els títols via enllaç a Wikidata. És solucionable, però la complexitat del mòdul espanta. De moment estic actualitzant les còpies vigilant quins són els canvis perquè n'hi ha que requereixen un rastreig previ. --V.Riullop (parlem-ne) 11:40, 9 set 2019 (CEST)
@Vriullop: Per dates, no comptava tenir aquest tema resolt al 100% pel WikidataCon (24/10/19), comptant que també hauríem de tenir traduïdes les documentacions de les infotaules. Ara bé, sí que voldria saber a que em puc comprometre si, de sobte, el públic embogeixi i s'hi vol apuntar al carro. No m'imagino mantenint un grapat de versions de forma artesanal. Per cert, això del TNT cal contemplar-lo com a substitutiu del wikidata/labels ? Seria una solució per la documentació, o millor fer-ho amb el langswitch de tota la vida i qui vulgui que es faci la seva versió lingüística ?. Merci, amador (disc.) 17:36, 9 set 2019 (CEST)
@Amadalvarez: Tot és provar-ho. Per exemple {{#invoke:TNT | msg | lang=fr | I18n/Module:JSONutil.tab | err_Qoute }} dóna «Il y a une apostrophe à la place d'une virgule». El primer paràmetre és c:Data:I18n/Module:JSONutil.tab, el segon és l'id del missatge. Sense paràmetre lang pren el valor local del wiki. --V.Riullop (parlem-ne) 21:50, 9 set 2019 (CEST)

Multivalor en funció GetLabel[modifica]

@Vriullop:Seria molt difícil que la funció GetLabel sàpigues tractar una cadena de codis i retornar els corresponents textos/textos enllaçats separats amb el mateix separador que rebi entre codis ?. Si cal que li passi el separador que ha de buscar, no seria un problema. Raonament: Per salvar el problema de que quan crides una plantilla dins el rowformat no pot contenir textos enllaçats perquè ho trenca, faig servir formatting=label i, en casos especials, poso un formatting=raw i la plantilla receptora fa una crida a getLabel per recuperar el text enllaçat. Però quan el resultat d'un qualificador és un multivalor, van tots junts i, òbviament, el getLabel no ho troba. Com que la pregunta és "seria difícil....", pots respondre "millor no ho fem" i aplicaré un pla B .... més salsitxer. Salut !amador (disc.) 07:22, 7 set 2019 (CEST)

@Amadalvarez: M'ho anoto per pensar-ho amb calma i temps. D'entrada sembla una solució particular a un problema particular i que pot afegir complexitat. --V.Riullop (parlem-ne) 11:54, 9 set 2019 (CEST)

Noves idees entorn GetLabel[modifica]

@Vriullop: Aquests dies que estic fent multilingüe les infotaules rumiava sobre el fet que, quan es mostra en una llengua "no local", el wikidata/labels no actua i sempre va a petar al label WD. Això genera -ara- dos problemes menors: l'ús de codis tipus Tnnnn, és a dir "textos" diversos que no estan a WD, i no hi seran sense forçar items poc ortodoxos, no es mostren a la infotaula; i d'altra banda, sovint surten etiquetes incòmodament llargues, sense capacitat d'afinar i que pot ser visualment poc estètic. Pensant en la migració a d'altres VPs, aniria bé tenir una versió en la llengua que estiguem treballant per a fer part del tunning abans de fer el traspàs. Proposta: Podria el getLabel accedir al wikidata/labels/lang si no és la lang local (o sempre, el que et vagi millor) ?. Si no troba la versió corresponent hauria d'actuar com ara, és a dir, passar de llarg i anar a WD. Què ?. Fàcil, oi? amador (disc.) 21:11, 21 set 2019 (CEST)

@Amadalvarez: Estava a punt de dir que no per no enredar el codi amb una necessitat de proves, però és un canvi senzill. Fet en proves, la llengua local continua buscant Wikidata/labels i per altres llengües Wikidata/labels/<lang> amb el codi de llengua. --V.Riullop (parlem-ne) 12:51, 23 set 2019 (CEST)
A notar que només funciona per la taula infoboxLabelsFromId usada per getLabel, no per les altres taules i funcions usades per claim. --V.Riullop (parlem-ne) 13:13, 23 set 2019 (CEST)
@Vriullop: Merci. Demà ho provo. Entenc que si no existeix el modul/labels/lang actua com si no trobés el valor, és a dir, tira milles cap a WD, oi?.amador (disc.) 13:48, 23 set 2019 (CEST)
Mentre esperava he pensat que puc fer els codis amb la lang per davant (langQnnnn) i treballar només amb un mòdul. És més net tenir un mòdul diferenciat per llengua, però si et fa il·lusió, ho fem. Merci, amador (disc.) 13:57, 23 set 2019 (CEST)
Cap il·lusió, prefereixo no tenir pegats estranys en el codi que no són productius. --V.Riullop (parlem-ne) 14:28, 23 set 2019 (CEST)
@Vriullop: Primera prova amb el {{GetLabelFix/prova}}. Amb lang=ca, funciona; amb fr (que no existeix còpia), funciona; amb en, casca. No estic segur si he fet bé la còpia (Mòdul:Wikidata/labels/en), perquè només he copiat la part de la taula i no sé si n'hi ha prou. Merci.--amador (disc.) 21:48, 24 set 2019 (CEST) Oblida-ho. He copiat tot el contingut de /labels i funciona. És correcte copiar-ho tot ?. No es farà un embolic amb codi (no taules) repetit a dos llocs ?. --amador (disc.) 22:56, 24 set 2019 (CEST)
@Amadalvarez: Faltava el return final. Només l'utilitza la funció getLabel. A la funció claim no està activat l'accés a submòduls per lang. He eliminat les altres taules, no s'usen. --V.Riullop (parlem-ne) 12:40, 25 set 2019 (CEST)

@Amadalvarez: Mòdul actualitzat, ja està en viu. --V.Riullop (parlem-ne) 11:41, 30 set 2019 (CEST)

Redirecció[modifica]

La funció GetLabel, si el Qid està redireccionat, no ho detecta. Ex:

La mateixa situació amb wikibase, ho cosidera erroni i no mostra res:

  • {{#invoke:Wikibase|label|Q43402563}}, dona

És solucionable ?. En realitat, una redirecció no és un error. Merci, amador (disc.) 18:14, 10 set 2019 (CEST)

@Amadalvarez: Em temo que no té solució, avui per avui. Una redirecció és una pàgina wiki, no una pàgina de dades. Totes les crides a un qid, sigui amb la funció que sigui, no redirigeixen al nou qid. --V.Riullop (parlem-ne) 18:08, 17 set 2019 (CEST)
Grossen problemen !. Només es pot actuar reactivament quan hom denuncia un "error". Merci, amador (disc.) 18:57, 17 set 2019 (CEST)

@Amadalvarez: Hi ha una solució aplicada en proves, només per getLabel. M'explico, les funcions mw.wikibase no segueixen les redireccions, però n'hi ha una que sí mw.wikibase.getEntity, la que obté totes les dades de l'entitat. En les darreres versions del mòdul evito aquesta funció perquè consumeix recursos quan s'usa amb accés arbitrari. Era allò de "temps d'execució exhaurit" i que per Alemanya no calia descarregat 2M de dades en cada consulta. Llavors per comprovar si un Qid és vàlid consulto el label, funció en principi senzilla. Si no el troba llavors crido el getEntity per obtenir el nou Qid. Problema: si no hi ha label en la llengua local ni en cap de les fallback, bàsicament sense l'anglès, llavors crida igualment getEntity quan no seria necessari. No he trobat cap altra funció senzilla que sigui millor que label per a aquest propòsit. Hi he afegit un rastreig per poder trobar les redireccions i anar-les corregint per a estalviar recursos. En lloc de Plantilla:Rastreig uso Template:Track perquè l'he integrat en el mòdul per millor i18n. És a Special:WhatLinksHere/Template:Track/wikidata/redirect, actualment cap però hauria de sortir en una previsualització com una de les plantilles usades. També hi ha un track pels casos en que no hi ha labels: Special:WhatLinksHere/Template:Track/wikidata/label. No es tracta només que getLabel no l'hagi pogut treure sinó que cal per estalviar recursos, especialment si aquesta solució s'usa en altres casos. L'exemple de dalt {{#invoke:Wikidata/proves|getLabel|Q43402563}} ara funciona. Prova-ho i digue'm en quins altres casos caldria aplicar-ho, amb les precaucions de que és una solució provisional per evitar errors, o resultats estranys, i que al final cal corregir-los. --V.Riullop (parlem-ne) 12:28, 30 set 2019 (CEST)

@Vriullop: Bona notícia encara que sigui limitada. Com et deia a la resposta de les prioritats de la meva discussió, m'amoïnen els white/blacklist perquè determinen comportaments de les plantilles. Un cas que no he provat, però segur que està afectat són les meres comparacions amb ifeq o switch que comparen el valor raw obtingut en un accés bàsic de wikidata per saber quina tipologia és, o per triar procés en funció del valor. Són coses que m'he anat trobant i que abans es feien pel valor del text i les he anat canviant a Qid. per evitar conflictes amb l'idioma i també amb un canvi incontrolat del label. Faré proves del que tenim i faré un cop d'ull a les traces. Merci,--amador (disc.) 15:47, 30 set 2019 (CEST)
@Amadalvarez: Aplicat també als white/blacklists i al formatting=raw. Per a casos simples no és cap limitació, però en casos complexos podem tornar a tenir problemes si s'acumulen redireccions. Cal prendre-s'ho en que evitem un error i tenim un rastreig permanent de les redireccions a corregir. Aquest rastreig no serà efectiu fins que no ho passem al mòdul principal. --V.Riullop (parlem-ne) 16:49, 30 set 2019 (CEST)
@Vriullop: Per si et cal saber les redireccions: https://w.wiki/9Eg amador (disc.) 06:41, 2 oct 2019 (CEST)
És a dir, entre Q1-Q400 hi ha 1000 redireccions! --V.Riullop (parlem-ne) 08:04, 2 oct 2019 (CEST)
@Vriullop: Té la seva lògica. Les Q baixes són conceptes consolidats i populars (estats, ciutats, personatges famosos, etc..). Les redireccions són sempre cap a la Q més antiga, per tant, quan algú sense voler crear un item ja existent, va en benefici dels números baixos. amador (disc.) 17:37, 2 oct 2019 (CEST)
He mirat un parell de casos i provenen de les càrregues des de WPs que creaven items quan no estaven bé els IW i després algú els fusionava. 4 redireccions és bastant freqüent als items < Q100.amador (disc.) 17:47, 2 oct 2019 (CEST)

@Vriullop: Estava fent les proves d'aquest tema i arribo a la conclusió que t'he enredat. Entenc que no ho has posat en producció encara, oi?. M'explico, prenent com a document de referència el joc de proves special:permalink/22041147:

  • A mi em va fallar el GetLabel, una situació en que jo coneixia un codi mitjançant el qual esperava obtenir un valor, un codi que algú ha canviat posteriorment i no m'he assabentat. Però també falla a les lectures normals, és a dir, quan sense que jo sàpiga a priori el Qid, aquest apareix com a valor d'una propietat; llavors el mòdul troba el Qid però no té res per retornar, ni label ni propietats. Entenc que deu haver algun bot que va canviant els valors amb redireccions, perquè no he sabut trobar cap cas en items normals, però si a pàgines "no items" i al sandbox de proves.
  • Proves 1) i 2) segons el previst.
  • Prova 4.2) errònia.
  • Pel que fa als raws, no calia fer-hi res, perquè és un problema sense solució. El que es busca és un valor que coneixíem en un moment donat i algú ho ha redireccionat. Per tant, al codi wiki tenim escrit el Qid antic i, en aplicar-li la redirecció obtenim un resultat diferent al que coneixíem i esperàvem i, per tant, es considera dolent. Si, com et proposo ara, no fem res, funcionarà mentre ningú canviï a WD l'antic valor pel nou (cosa lícita) i llavors serà diferent al que diu el codi wiki i sortirà fals.
  • Proves 3.1 i 3.2.
  • Tema whitelist: Li passa el mateix que als raw. Pel que es veu a les proves 5.3 i/o 5.5 no sembla que s'hagi aplicat el canvi que vas fer, però ara no ve al cas, perquè crec que NO s'ha d'aplicar i cal tornar el Qid que trobes (el redirigit) perquè és el que el codi wiki té escrit fins que ens assabentem via rastreig. O sigui, com a prova 5.4.

Sento haver errat a les especificacions, però quan hom fa les proves, descobreix els error d'anàlisi. amador (disc.) 12:50, 4 oct 2019 (CEST)

@Amadalvarez: Estructuralment hi ha dos casos diferents:
  1. Cas etiqueta amb getLabel que crida una Q. Si està redirigida és raonable que obtingui l'etiqueta redirigida. Això ja ho fa.
  2. Cas valor d'una propietat que està redirigit. Sembla que això s'hauria d'arreglar a Wikidata. He comprovat https://www.wikidata.org/w/index.php?Special:RecentChanges&tagfilter=mw-new-redirect i em trobo un cas Sineancylus, Nom. Nov.: A Replacement Name forAnancylusGutiérrez Gregoric, 2012 (Gastropoda, Ancylidae) (Q56916569) on P50 apunta a una redirecció, acabada de fer. Per d:Wikidata:Project chat/Archive/2019/08#fix redirects sembla que MatSuBot els arregla un cop per setmana. Ho tindré en observació. Si és un problema temporal potser millor no fer res, o enfocar-ho com si no existís.
  • El cas white/blacklist és rebuscat. El que caldria no és seguir la redirecció del valor trobat d'una propietat, el que fa ara en proves i suposadament resolt en una setmana. Caldria comprovar la llista definida en white/blacklist per si algun d'aquests valors és una redirecció. Això és una comprovació prèvia de coherència de paràmetres. Cal tenir en compte que el rastreig només es fa com a resultat de la comprovació de redireccions. Si no fem res, només es faran visibles per incoherència en el resultat. Si és necessari el rastreig i és necessari evitar destrosses amb white/blacklist, el que hauria de fer és afegir el nou Qid en la llista per tenir en compte els dos valors.
  • En el cas formatting=raw, si no fem res acabarà fallant en una setmana, si segueix la redirecció fallarà una setmana abans però tindrem el rastreig.
--V.Riullop (parlem-ne) 16:26, 6 oct 2019 (CEST)
Modifico tema white/blacklist per Special:Diff/22050359, ja ho feia bé. --V.Riullop (parlem-ne) 16:56, 6 oct 2019 (CEST)
@Vriullop: D'acord. però a WD estan una mica llepafils i no sé si deixaran crear conversions que es poden deduir. Estic tenint una discussió amb un que m'ha esborrat algunes coses i veurem com acaba. Estarem al cas. amador (disc.) 10:07, 6 oct 2019 (CEST)
@Amadalvarez: Pren-te un descans. Estava parlant de redireccions, no de conversions. --V.Riullop (parlem-ne) 17:04, 6 oct 2019 (CEST)
@Vriullop: OMG !. m'ha sortit un conflicte d'edició i he agafat el darrer missatge meu que em mostrava i l'he tornat a posar, sense pensar que estava responen a un tema que no estava al final. Si t'hi fixes, la frase està literalment repetida. Bé, el que volia dir era que, estava d'acord amb el teu raonament. Penso que la "bona solució" és corregir el codi de la infotaula ASAP i, per això cal potenciar la detecció. A veure que tal ens va amb els rastreig. Bona feina, amador (disc.) 21:42, 6 oct 2019 (CEST)
@Amadalvarez: :-) Jo també m'embolico amb els conflictes d'edició. Passat a producció i actualitzada la documentació. Surten un munt de redireccions que seran difícils de trobar. Un altre dia ja hi afegiré un rastreig amb l'id per donar més pistes. Per exemple he estat una bona estona per trobar que el problema de les illes Formigues era en les pistes d'esquí! Special:Diff/22058544. --V.Riullop (parlem-ne) 22:47, 7 oct 2019 (CEST)
@Vriullop:Observo que en els getlabel apliques la lògica de la redirecció abans de passar a mirar si està a wikidata/labels, oi?. No passa res, només vull que m'ho confirmis / neguis per saber si tinc un error o només haig de canviar un cas que tinc conflictiu. Merci, amador (disc.) 23:32, 7 oct 2019 (CEST)
Sí, l'aplico el principi de tot però ho haig de revisar perquè sigui més efectiu. --V.Riullop (parlem-ne) 00:27, 8 oct 2019 (CEST)
Actualitzat, ara getLabel comprova la redirecció després de passar per ../labels, si el troba com a excepció no cal que segueixi, a més així evita embolicar-se amb els Txxx. El track ara inclou l'id culpable. --V.Riullop (parlem-ne) 11:11, 8 oct 2019 (CEST)
Bé, no te'n lliuraràs de fer alguna cosa amb els Txxxx. Mira special:permalink/22066811 on tens un joc de prova. Tenim /label en ca i en, però no en fr. Amb això, observa que en fr actua correctament quan són id existents. Ara bé si és un Txxx se'n va a WD i falla tant la Txxx inexistent a la /label catala com la Txxx que no té /label en fr. El resultat correcte seria posar el codi Txxxx, per a que sigui detectable sense que faci un casque. Abans de la redirecció i de la multi /label, era com actuava. Merci, amador (disc.) 17:34, 8 oct 2019 (CEST)
Corregit. --V.Riullop (parlem-ne) 14:32, 9 oct 2019 (CEST)

Noves opcions per getParentValues[modifica]

@Amadalvarez, Paucabot: Revisant el que ha fet el company de kab.wiki a Tema:V6rioxn2z3hfcuyl, hi ha coses interessants que he incorporat en proves. Es poden veure els exemples que ha posat ell mateix:

  • uptolinkid com a substitut de upto; el primer és amb qids i el segon és amb labels, cosa que el fa menys transportable. Per exemple a Plantilla:Infotaula d'ésser viu si cerques "upto" o bé hi ha un label en català o bé invoca un getLabel que es pot estalviar. A més, uptolinkid admet una llista amb separadors en blanc o bé /.
  • showlabelid com a substitut de labelshow, igual que l'anterior.
  • property, admet una llista de valors. Per exemple a Plantilla:Infotaula de llengua, data55, no cal un if empty amb tres propietats diferents.
  • cascade=true és una opció de presentació amb sagnat.
  • include_self=true afegeix el propi article en l'arbre.
  • last_only=true només treu el darrer.

Ja em direu què tal. --V.Riullop (parlem-ne) 17:47, 17 set 2019 (CEST)

No acab d'entendre totes les funcionalitats, però les que entenc, fan bona pinta. Pau Cabot · Discussió 18:40, 17 set 2019 (CEST)
@Vriullop: Tot sona bé. Algun aclariment:
  • tot això és només pel GetParentValues, oi ?
  • a last_only=true, que vol dir el darrer ? el més alt?.
Merci, ho provaré. amador (disc.) 18:48, 17 set 2019 (CEST)
Només per la funció getParentValues. El last_only és el darrer de l'arbre, el més profund obtingut amb les reiteracions que facin falta. Per exemple, per Teià (Q12028) amb uptolinkid=País (Q6256): {{#invoke:Wikidata/proves | getParentValues | item=Q12028 | uptolinkid=Q6256 | rowformat=$1 | last_only=true}} treu Espanya. --V.Riullop (parlem-ne) 19:23, 17 set 2019 (CEST)

Mòdul i documentació actualitzats. --V.Riullop (parlem-ne) 11:42, 30 set 2019 (CEST)

Crides des d'un altre mòdul a getLabel[modifica]

Trobo molt bé que hi hagi la possibilitat d'accedir a propietats d'un element de wikidata amb una crida a la funció _main (com ho acabo d'anotar en la documentació d'aquest mòdul). Però trobo a faltar la possibilitat de fer una crida directa a una funció per tal d'obtenir els valors de les etiquetes (el que s'obté des de getLabel). Ho he provat d'emular, però no me n'he sortit. Si es fes aquesta funció des d'aquest mateix mòdul estaria més que bé. No em sembla que hagi de ser molt difícil (en comparança amb _main). Merci. Jmarchn (disc.) 09:46, 24 set 2019 (CEST)

@Jmarchn: Per a funcions senzilles ja existeixen opcions a mw:Extension:Wikibase Client/Lua, en aquest cas mw.wikibase.getLabel. Per a funcions més complexes amb les opcions d'aquest mòdul, el getLabel no està documentat però també està habilitat per cridar-lo via require. Amb una cerca de getLabel en l'espai mòdul pots trobar exemples. --V.Riullop (parlem-ne) 14:33, 24 set 2019 (CEST)
@Vriullop: Moltes gràcies, ja ho he afegit a la documentació (Crides des d'un altre mòdul).--Jmarchn (disc.) 15:41, 24 set 2019 (CEST)

Maleïts numèrics ![modifica]

@Vriullop: Mira special:permalink/22014226 amb un exemple de com retorna el mòdul una quantitat en funció de la llengua i els estralls que causa. Accepto propostes de treball, si és menester. Merci, amador (disc.) 20:11, 24 set 2019 (CEST)

@Amadalvarez: Ho fa bé, exactament tal com li demanes :-) Per fer un tractament numèric és recomanable usar el format anglès amb punt decimal i sense separadors de milers. Això ho fa el formatnum R. Per exemple aquest és el format usat a Mòdul:Duration. Primer, força la consulta amb lang local i aplica el format invers: {{formatnum:{{#invoke:Wikidata | claim | property=P2873 | item=Q361932 | lang={{CONTENTLANGUAGE}} }}|R}} dóna 229429. El formatnum és sempre amb la llengua local, no et serveix aquí jugar amb el paràmetre lang. La {{EUsec2expr}} no et serveix perquè el format d'entrada és l'europeu. Tal com diu la documentació, millor cridar el mòdul directament {{#invoke:Duration | sumHMS | {{#expr:60*229429 round 0}} }} dóna 159 dies, 7 hores i 49 minuts, amb el format local. Provat a bs.wiki dóna 159 dana, 7 sati i 49 minuta. --V.Riullop (parlem-ne) 21:30, 24 set 2019 (CEST)
Brillant !. Gràcies, mestre. --amador (disc.) 22:34, 24 set 2019 (CEST)
@Amadalvarez: Un plus gratuït: he activat el paràmetre lang al mòdul duration. Ja ho tens en la prova amb Special:Diff/22015571. --V.Riullop (parlem-ne) 13:34, 25 set 2019 (CEST)
@Vriullop:No sé veure l'efecte. He provat en rus i holandès i 159 dies, 7 hores i 49 minuts és la única cosa que surt en un idioma que entenc. amador (disc.) 16:49, 25 set 2019 (CEST)
@Amadalvarez: En el mateix enllaç de dalt: special:permalink/22014226. --V.Riullop (parlem-ne) 17:44, 25 set 2019 (CEST)
@Vriullop:Hi ha alguna cosa que no entenc (o no va bé). El permalink en 3 llengües tenien la llengua via paràmetre |lang=, mentre que el que provo i no funciona tinc la llengua a les preferències. En aquest cas, tota la infotaula surt en la llengua de preferències, però no s'aplica al tema del temps-espai; tampoc m'ha funcionat a la {{somevalue}} i he descobert que el CONTENTLANGUAGE tenia ca. En el cas de somevalue, he optat per canviar el {{if empty|{{{lang|}}}|{{CONTENTLANGUAGE}}}} per un {{#invoke:Wikidata|lang|{{{lang|}}}}} que havies fet quan varem tenir problemes treballant amb els RTL. Mira una demo a special:permalink/22016138 canviant la llengua de preferències. Merci,--amador (disc.) 19:47, 25 set 2019 (CEST)
@Amadalvarez: Ok. El muntatge de la llengua de les preferències el fa el mòdul:wikidata. El mòdul:duration funciona amb un lang explícit, sense passar per la funció del mòdul:wikidata. Pel somevalue, igual, en el primer cas és un lang explícit. La crida a Wikidata:lang està bé. Ja m'estava preguntant per què tenim aquesta funció i si me la podia carregar. Ho pots fer al principi de tot i així l'arrastrarà a totes les subplantilles on lang ja serà explícit. Pel duration que no està en subplantilla també pots usar lang={{#invoke:Wikidata|lang|{{{lang|}}}}}. --V.Riullop (parlem-ne) 21:04, 25 set 2019 (CEST)
@Vriullop: Jo tampoc ho recordava perquè es fa servir a la subplantilla {{OpenDivRTL}} que no la toco mai, però he fet memòria i m'ha vingut molt bé. O sigui que posa-li un missatge de "no esborrar" qe és força efectiva. Ara ho reajustaré. Merci, amador (disc.) 21:18, 25 set 2019 (CEST)
@Vriullop:Codi final: {{#invoke:Duration |sumHMS|{{#expr:60*{{formatnum:{{#invoke:Wikidata | claim | property=P2873 | item={{{item|}}}| lang=ca }}|R}}round 0}} |lang={{LangDefault|lang={{{lang|}}}}} }}. lang=ca per forçar a que mantingui el format amb els punts (amb fr deixava 229 429, i formatnum no ho sap arreglar); {{LangDefault}} és una plantilla que ja vaig fer el seu dia (i no recordava) que fa l'invoke wikidata lang. Quin malson !. Portava anys així i la que s'ha muntat pels idiomes. Gràcies un cop més. amador (disc.) 00:10, 26 set 2019 (CEST)
@Amadalvarez: Per a que la plantilla sigui transportable a altres wikis falta canviar lang=ca per lang={{CONTENTLANGUAGE}}. --V.Riullop (parlem-ne) 10:59, 26 set 2019 (CEST)

fer servir URL de la propietat[modifica]

@Vriullop: Pretenc automatitzar els enllaços tipus pattern agafant la URL directament des de la Format d'URL (P1630) (o altra) de la propietat. Ho he aconseguit amb aquesta sintaxi: {{#invoke:Wikidata | claim | property=P231 |item= Q213511 | formatting= [{{#invoke:Wikidata | claim | property=P1630 |item= P231}} $1] }}. Dues preguntes:

  • M'he embolicat i hi ha alguna altra forma més simple ?
  • Si la resposta a la primera pregunta és "no", t'animaries a pensar una forma en que ho faci el mòdul ?, com ara:
  • {{#invoke:Wikidata | claim | property=P231 |item= Q213511 | formatting= [weblink:P1630 $1] }}

Òbviament, seria per la llista de millores de Nadal o Reis. Merci, amador (disc.) 18:04, 26 set 2019 (CEST)

@Amadalvarez: Si no corre pressa m'ho anoto en els temes pendents. És una millora necessària. M'explico, i així em serveix de recordatori:
  • El format d'un identificador és:
{
    "snaktype": "value",
    "property": "P231",
    "datavalue": {
        "value": "114-07-8",
        "type": "string"
    },
    "datatype": "external-id"
}
  • El format d'un valor string és:
{
    "snaktype": "value",
    "property": "P274",
    "datavalue": {
        "value": "C₃₇H₆₇NO₁₃",
        "type": "string"
    },
    "datatype": "string"
}
  • El format d'un valor url és:
{
    "snaktype": "value",
    "property": "P856",
    "datavalue": {
        "value": "https://www.berlin.de/",
        "type": "string"
    },
    "datatype": "url"
}
El mòdul tracta els diferents tipus de valors segons datavalue.type que en els tres casos és "string". En altres tipus això no passa. Tots els identificadors els tracta com a string. Cal canviar a datatype i fer un nou tractament per "external-id" amb un format per defecte. Entenc que el format d'URL serà sempre la P1630, si existeix, o n'hi ha d'altres? Abans m'agradaria trobar una definició de l'estructura de dades per anar sobre segur en els valors usats. Recordes on es troba a Wikidata? Crec que el datatype abans no existia. En la documentació del mòdul pel "format de text" tenim una opció formatting=weblink que hauria de ser el format per defecte de datatype=url. --V.Riullop (parlem-ne) 19:30, 26 set 2019 (CEST)
@Vriullop: Quan dius "estructura de dades", és això ?. La P1630, és la genèrica però haig de mirar si hi ha alguna especialitzada. Em sona que quan vaig fer lo de les proteccions també m'hauria anat bé. Ja et respondré dilluns, que estic fent la maleta i estaré desconnectat 4 dies !!. amador (disc.) 21:01, 26 set 2019 (CEST)
No és això perquè aquí només mostra el datavalue.type no el datatype. Ho he trobat a mw:Wikibase/Indexing/RDF Dump Format#Value representation, encara que no és el que recordava, i aquí explica el que anomena value type (datavalue.type) i property type (datatype). Entenc que datavalue.type és el tipus de valor i datatype és el tipus de dada, i és aquest darrer el que interessa tractar. Bon viatge. --V.Riullop (parlem-ne) 21:42, 26 set 2019 (CEST)
@Vriullop: Quasi asseguraria que només la P1630 és la que es fa servir a les properties per URLs amb pattern. Als items s'acostuma a posar la Descrit a l'URL (P973), però haig de mirar si en algun cas té format pattern (no ho crec). amador (disc.) 15:34, 30 set 2019 (CEST)

Plantilla Wdtable[modifica]

He creat {{Wdtable}}, millorant modestament la versió anglesa. Serveix per a veure l'estructura de les taules d'una propietat determinada en un ítem. El propòsit és de depuració o de comprensió de les dades en certs casos. --V.Riullop (parlem-ne) 12:29, 28 set 2019 (CEST)

Conversions d'unitats[modifica]

Com a continuació de Mòdul Discussió:Convert#fer servir Qid ?, tractant de resoldre per una altra via els problemes que pot tenir aquell mòdul amb Wikidata. @Amadalvarez: Primeres proves:

  • {{#invoke:Wikidata|claim|item=Q17163|property=P2048|formatting=unitcode}} dóna 178 cm
  • {{#invoke:Wikidata/proves|claim|item=Q17163|property=P2048|formatting=unitcode|convert=Q11573}}, amb Metre (Q11573), dóna 1,78 m
  • {{#invoke:Wikidata|claim|item=Q23|property=P2048|formatting=unit}} dóna 74 polzades
  • {{#invoke:Wikidata/proves|claim|item=Q23|property=P2048|formatting=unit|convert=Q174728}}, amb Centímetre (Q174728), dóna 188 centímetres
  • {{#invoke:Wikidata/proves|claim|item=Q23|property=P2048|formatting=unit||convert=Q174789|lang=fr}}, amb Mil·límetre (Q174789), dóna 1 880 millimètre
  • {{convert|qid=Q23|input=P2048|cm}} dóna 74 polzades (190 cm)

Falta resoldre l'arrodoniment, alguns factors de conversió poden donar molts decimals, alguna idea? --V.Riullop (parlem-ne) 19:14, 30 set 2019 (CEST)

@Vriullop: Et deixo uns casos rars, especialment el tercer que no té cap unitat del SI. Al primer li cal arrodoniment i he mirat que fa {{convert}}. L'explicació de en:Template:Convert#Rounding:_100_ft_is_30_m_or_30.5_m_or_30.48_m? no em semblen malament, començant per respectar la mateixa precisió de l'origen. Una altra seria actuar en funció de la magnitud. P.Ex.: per sota d'equivalent a m./m2./l.... arrodonir a 1 dígit; equivalent a km/km2/tona...arrodonir a 2 digits; superiors, arrodonir a 3 digits. Si tenim algun matemàtic a la sala, potser coneix algun criteri universalment acceptat com a estàndard.
  • {{#invoke:Wikidata/proves|claim|item=Q15341|property=P2046|formatting=unit|convert=Q712226}}, amb Quilòmetre quadrat (Q712226), dóna 30,25 quilòmetres quadrats
  • {{#invoke:Wikidata/proves|claim|item=Q1645501|property=P2046|formatting=unit|convert=Q712226}}, amb Quilòmetre quadrat (Q712226), dóna 126 quilòmetres quadrats
  • {{#invoke:Wikidata/proves|claim|item=Q1645501|property=P2046|formatting=unit|convert=Q232291}}, amb Milla quadrada (Q232291), dóna 49 milles quadrades
amador (disc.) 07:33, 1 oct 2019 (CEST)
@Amadalvarez: La conversió la fa segons Conversió a unitats del SI (P2370) o Conversió a unitats estàndard (P2442), sense fer bucles de conversions que serien masses consultes. Per convertir dúnams a km2 caldria definir el factor a P2442 de Dúnam (Q216795). Fet Fet!
Feta primera versió d'arrodoniment convertint la precisió de l'entrada per arrodonir la sortida, després de cercar diversos trucs per la xarxa. Pot tenir un inconvenient, menor: pel valor 200 no se sap si la xifra significativa és la unitat, la desena o la centena; per defecte considera que la xifra significativa és la centena. Les conversions del SI no tenen problema perquè el factor sempre és 1, més a la dreta o a l'esquerra. Provat l'exemple de l'anglesa, 100 ft dóna 30 m igual que fa la plantilla convert, tot i que seria més precís 30,5 o 30,48. En canvi 101 ft dóna 30,8 m quan la convert arrodoneix a 31 m. Trobo que el mòdul ja ho fa prou bé considerant que 101 són tres xifres significatives com 30,8, en lloc de deixar-ho a les unitats com l'entrada.
Per fer proves fàcils, per comparar amb la convert, he creat una funció provisional: {{#invoke:Wikidata/proves|conv|100|Q3710|Q11573}}.
@Vriullop: Em sembla que li manca la Pnnn. He incorporat la sintaxi a pes i alçada de {{proves persona}}. Prova amb lang=he, per fi surt com cal. amador (disc.) 17:40, 1 oct 2019 (CEST)
@Amadalvarez: Vols dir que manca la P a la funció conv? Els paràmetres són 1=quantitat 2=unitat 3=conversió, més o menys com la convert manual. És per comprovar com converteix, no per veure què extrau de Wikidata. És una còpia simplificada de la funció completa i que al final de les proves desapareixerà. --V.Riullop (parlem-ne) 18:01, 1 oct 2019 (CEST)
Queda pendent la conversió de temperatures. A Grau Fahrenheit (Q42289) està com a somevalue i desenvolupat a Zona de proves - cadena (P370) que no és fàcil de tractar. --V.Riullop (parlem-ne) 12:32, 1 oct 2019 (CEST)
@Vriullop:. Em sembla bé tema arrodoniment. Afegida P2442 a Dúnam (Q216795). Faré proves al llarg d'aquesta setmana. Merci,amador (disc.) 14:28, 1 oct 2019 (CEST)
@Amadalvarez: Ja funcionen també les temperatures després de solucionar un problema tècnic amb les fórmules que he estat a punt d'abandonar. Treu les fórmules de Zona de proves - cadena (P370) però em preocupa que sigui una propietat de proves, en aquest cas hauria de ser estable. --V.Riullop (parlem-ne) 16:18, 1 oct 2019 (CEST)

@Vriullop: Ara que ja m'he meravellat amb el nou gadget, com ho farem servir en un formatting=table?, Tens un cas en que estic treballant a special:permalink/22043361, per si t'animes. amador (disc.) 08:02, 5 oct 2019 (CEST)

@Amadalvarez: Habilitat el convert per a cada columna de taula Special:Diff/22049130. --V.Riullop (parlem-ne) 10:38, 6 oct 2019 (CEST)

@Vriullop:Torno a les conversions. Provo {{#invoke:Wikidata/proves|conv|2|Q828224|Q174728}} i no ho resol. Només són 2 conversions: km>>m>>cm. És així?. Merci,amador (disc.) 16:13, 5 oct 2019 (CEST)

@Amadalvarez: Ho deia més amunt, no fa conversions dobles perquè podríem entrar en bucles imprevisibles i poc productius. Si la conversió km a cm és habitual hauria d'estar definida a Quilòmetre (Q828224). Que en algun cas poc habitual mostri la unitat original tampoc és tant greu. --V.Riullop (parlem-ne) 09:59, 6 oct 2019 (CEST)
@Vriullop: D'acord. però a WD estan una mica llepafils i no sé si deixaran crear conversions que es poden deduir. Estic tenint una discussió amb un que m'ha esborrat algunes coses i veurem com acaba. Estarem al cas. amador (disc.) 10:07, 6 oct 2019 (CEST)

Un petit error[modifica]

{{GetLabelFix|P4728|lang={{{lang|}}}}} = UBio ID Tradueix. Propietat no traduïda, el llapis no enllaça a la pàgina correcta de WD. Falta el "Property:". --Jmarchn (disc.) 17:45, 11 oct 2019 (CEST)

@Jmarchn: Arreglat modificant l'enllaç del llapis via Special:EntityPage. --V.Riullop (parlem-ne) 11:21, 13 oct 2019 (CEST)