Mòdul Discussió:Wikidata

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


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 (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)

@Amadalvarez: Revisant Especial:Enllaços/Template:Track/wikidata/label que mostra etiquetes que falten i que obliga a fer una comprovació per si és una redirecció, me'n trobo de ben estranyes. Per exemple, Diana Taurasi diu que li falta equip de bàsquet femení (Q60336621). Aquest és un ítem que pràcticament no s'usa i que gairebé no sé a què es refereix, sembla útil només per una categoria de Commons. Em pregunto perquè {{infotaula persona}} va a buscar aquesta etiqueta, cosa difícil de seguir i que no apareix enlloc de la infotaula d'aquest article. A veure si estem fent bucles de consultes innecessàries. Per cert, ja em diràs a banda què tal el WikidataCon, si portes deures nous. --V.Riullop (parlem-ne) 14:32, 28 oct 2019 (CET)

@Vriullop: més fàcil del que em pensava. Està a la P31 del (Q1404649),un dels equips on ha jugat. la P31 es recupera per saber com ha de mostrar la info d'aquell equip, segons que sigui una selecció o un equip, ja que surten agrupats per tipus. Respecte al wikidataCon, jo crec que ha anat bé, tenim alguns clients que ja s'ho estan fent a sobre i altres que no tenen pressa perquè no controlen la seva comunitat. Penso que si fem un desena d'instal·lacions en el proper trimestre, serà fàcil fer-los entrar en raons. Fins i tot els que no pensen fer res, reconeixen que mai podran superar el que tenim i estan en contra de la infotaula única perquè "és massa sosa". Pel que fa al teu mòdul, és conegut per tothom i és un model de referència; i això m'ho deia un que feia un any que no l'actualitzava. Hi ha gent que ho té i no els tenim controlats perquè mai han demanat infotaules ni explicacions de com va. Ens apareix una nova feina perquè ens van demanar i vaig acceptar participar a les proves del Bridge project, aquell que ha de permetre entrar dades a WD via infotaula. Per començar a treballar hem de trobar un protocol per documentar quina informació agafem i com. Sembla un pal, però és el mateix que ens cal per documentar de manera diferent a com ho fem ara, ja que els nous usuaris no estan orientats a param.manual i, per tant, el que han de saber és "què han de posara a WD". Tinc alguna idea, seguim parlant que ara haig d'embarcar. Salut !amador (disc.) 17:24, 28 oct 2019 (CET)

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)
@Vriullop: Un cop assumit que no hi ha conversions dobles (quan em trobi ja lluitaré amb la conversió a unitats del SI (P2370)), que més ens queda fer per poder pujar aquest canvi?. En tot cas, fins dilluns no ho començaria a aplicar perquè no vull sorpreses el weekend. O sigui que si et vols prendre uns dies, no hi ha cap problema. Merci, amador (disc.) 07:49, 23 oct 2019 (CEST)
@Amadalvarez: Actualitzat, tenia diferents coses provisionals i així faig net. Que en algun cas d'unitat estranya no es pugui fer la conversió pot ser normal si és una unitat imprecisa o de factors variables. Si més endavant veiem la necessitat de dobles conversions, ja ho estudiaré però d'entrada prefereixo evitar una complicació. Em preocupa més usar zona de proves - cadena (P370) per la conversió de temperatures. Hauria de ser una propietat estable, no de proves, com a "formula-string" amb variables a substituir, semblant a format d'URL (P1630). --V.Riullop (parlem-ne) 10:25, 23 oct 2019 (CEST)
@Vriullop: Merci. Disculpa la incultura sobre temperatures, i saps que sempre et crec, però quan estudiava física bàsica amb 14-15 anys em van explicar que hi havia una fórmula per convertir entre C, F i K. Ha canviat alguna cosa en aquests darrers 50 anys ?. amador (disc.) 17:10, 23 oct 2019 (CEST)
@Amadalvarez: Les fórmules no canvien, és clar, però no són només tres. Si mires grau Celsius (Q25267) té 7 fórmules, són 8 tipus de graus amb 7 fórmules en cada un, en total {{#expr:7*8}} = 56 fórmules. És cert que es tracta d'un grup tancat i que es podria simplificar fent doble conversió amb 13 fórmules, però em trenca l'esquema general relativament senzill. Una nova propietat "formula-string" tindria sentit si tingués altres aplicacions. M'estranya que totes les conversions siguin a base de factors i no hi hagi implicades més fórmules. --V.Riullop (parlem-ne) 21:15, 23 oct 2019 (CEST)
Bé, mirant els diferents graus només s'usen efectivament els 3 clàssics. Ja m'ho repensaré. --V.Riullop (parlem-ne) 21:23, 23 oct 2019 (CEST)

Un petit error[modifica]

{{GetLabelFix|P4728|lang={{{lang|}}}}} = UBio ID. 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)

Plantilla i module:Label[modifica]

Per compatibilitat amb algunes coses que preparo per documentar a WD, em vindria bé copiar la d:template:label que crida al d:module:label. Mirant que fa, és similar a {{getLabelFix}} + el getLabel d'aquest mòdul, excepte perquè aquest fa dues coses que no té el de WD: tractament del gender i passar a mirar per wikidata/labels. Per l'ús que fins ara m'ha calgut, ja m'està bé fer una còpia exacta, ja que és per documentar i prefereixo que no faci res extra i saber que la documentació la puc exportar sense problemes. Quan m'interessi, ja faig servir la getLabelFix. Et sembla bé copiar-la tal qual?, vols fer algun invent dels teus, millor?. A disposar, --amador (disc.) 05:36, 6 nov 2019 (CET)

@Amadalvarez: No és suficient la funció label de Mòdul:Wikibase? Funciona com la versió de Wikidata pels paràmetres 1 (id) i 2 (lang). Només cal crear la plantilla per cridar el mòdul. --V.Riullop (parlem-ne) 12:56, 6 nov 2019 (CET)
Creada {{Label}}. --V.Riullop (parlem-ne) 13:41, 6 nov 2019 (CET)
@Vriullop: Sí, sí. No m'he explicat bé. Ja estic fent servir crides directes a wikibase, però quan deia "per compatibilitat" era per evitar futures col·lisions si fem sincronització de mòduls i plantilles. No passa res, mentre tinguin la mateixa funcionalitat, si hi ha col·lisió la traurem de la llista de còpies sincronitzades i llestos. Merci, amador (disc.) 16:49, 6 nov 2019 (CET)
@Amadalvarez: No estic segur de com tens pensades les sincronitzacions. Si és amb el bot de Meta només s'actualitza si la versió local coincideix amb alguna versió de l'historial de Meta. Qualsevol canvi local fa que deixi d'actualitzar-se. El que és segur és que quantes més plantilles i mòduls suposa més complicacions. Tinc dubtes sobre l'ús de Mòdul:Wikibase. Ja no sé quin és el master, però la idea era implementar les funcions bàsiques del client Wikibase. Tal com diuen en la versió en anglès, s'haurien d'evitar adaptacions locals. Probablement alguna funció l'hauríem de traslladar al mòdul:Wikidata. --V.Riullop (parlem-ne) 17:55, 6 nov 2019 (CET)
@Vriullop: Ja hi comptava amb això. Em referia a fer el kit d'instal·lació. Pensava fer una llista de que cal tenir i, lògicament, si diem que ha d'estar el mòdul:xxxx i el receptor ja té un que es digui igual i, per prudència no el vol copiar, caldrà verificar que és funcionalment homòleg. Vull dir que, el procés de check-in per veure que "funcionalment són iguals o compatibles", és més fàcil quan més hi hagi que siguin còpies exactes. Un altre tema és que molts dels que avui fan de referent siguin la millor versió en un món multillengua. Molt em sembla que el projecte de creació d'un fons comú de plantilles i mòduls és tan vell com la WP i encara no s'ha avançat gaire. Al WikidataCon va haver un rifi-rafe entre defensors del nucli comú i els "realistes" més que detractors, que li responien "quants anys fa que ho demanes i no s'ha fet ?". amador (disc.) 18:10, 6 nov 2019 (CET)
@Amadalvarez: Digue'm quines funcions del Wikibase utilitzes per veure si són compatibles o bé s'haurien de traslladar al Wikidata. --V.Riullop (parlem-ne) 18:33, 6 nov 2019 (CET)
@Vriullop: Em penso que tots; tinc dubtes del page, però la resta en algun lloc o altre. Cert que són utilitzacions discretes, perquè, per exemple, el label acostumo a tirar de GetLabelFix. Després miro de trobar els casos més científicament. amador (disc.) 07:32, 7 nov 2019 (CET)
@Vriullop: mira llista. Em sembla que hi són totes. Les més importants són les plantilles. Les pàgines d'usuari s'haurien de mirar. Merci, amador (disc.) 08:04, 7 nov 2019 (CET)

magic word per llengua de preferènces[modifica]

@Vriullop: A Mòdul_Discussió:Wikidata#Maleïts_numèrics_! vàrem tocar abastament el tema lang i vas acabar fent el wikidata/lang. Però haig de tenir una fórmula per a l'entorn WD. Allà el CONTENTLANG sempre dóna "en". En concret, per fer servir la global i. Saps com esbrinar-lo, sense comptar amb el mòdul que, encara, no el tenim. Per cert, has pensat lo del canvi de nom de cara a les migracions?, acabo de veure que a Wikidata ja tenen dos mòduls Mòdul:Wikidata (Q12069631) i Mòdul:Wikidata (Q24575438) que té algunes utilitzacions. Merci, --amador (disc.) 17:42, 14 nov 2019 (CET)

@Amadalvarez: En un entorn multilingüe com WD pots usar {{int:And}} perquè surti en la llengua de les preferències.
Sobre el títol del mòdul crec que ja ho vam comentar: no el canvio. Massa tard, masses complicacions. Si a algú no li va bé, té les opcions: que reanomeni ell si no l'usarà, que el copiï amb qualsevol altre nom i que afegeixi una funció pont al seu module:wikidata
function p.claim(frame)
    return require('Module:CatalanWikidata').claim(frame)
end
--V.Riullop (parlem-ne) 18:19, 14 nov 2019 (CET)
@Vriullop: Això de "require('Module:CatalanWikidata')", se li pot dir de quina WP o només funciona dins l'entorn local ?. Vull dir, cal que estigui físicament copiat, o es pot fer un require d'un altre entorn ?. Ho dic perquè WD està molt despoblat de mòduls i intento fer una plantilla cridant coses comunes com el StringFunc i em van esclatan coses com si estigués travessant un camp de mines. Merci, --amador (disc.) 10:58, 17 nov 2019 (CET)
@Amadalvarez: No hi ha plantilles ni mòduls globals, totes les crides són locals. El mateix camp de mines és el que es trobarà qualsevol wiki que ho vulgui instal·lar. El mòdul:StringFunc només el tenen 13 wikis, en 5 d'elles copiat de ca.wiki pel mateix usuari, no és gens comú, en la resta del món wiki els esclatarà. Cal reduir al màxim el nombre de dependències buscant alternatives. --V.Riullop (parlem-ne) 11:29, 17 nov 2019 (CET)
@Vriullop: Ja ho he pensat. De fet, sempre m'ha estranyat perquè les 3 funcions d'aquest mòdul, no estan incorporades a mòdul:string directament. Deu ser un tema de paternitats probablement. Bé l'ús que li dono a WD és esquivable escrivint més. Veure {{multi_P-}}. Merci, --amador (disc.) 11:39, 17 nov 2019 (CET)
Sip, sembla un mòdul provisional amb funcions que haurien d'acabar al mòdul:String: en:Wikipedia:Templates for discussion/Log/2018 April 20#Module:StringFunc. M'ho miraré, algun dia. --V.Riullop (parlem-ne) 11:54, 17 nov 2019 (CET)
@Vriullop: Arreglat lo del And. Li havia posat int: però mantenint el wiki: davant i no li agradava. Nom del mòdul: vols dir que, en el cas que no puguin canviar el seu i ells reanomenin el nostre, només haurien d'incloure una redirecció de la funció claim cap al nostre ?. Entenc que: 1) també haurien de redireccionar les altres funcions; 2) quan canviem el mòdul no podrem automatitzar el upgrade. És això ? amador (disc.) 19:15, 14 nov 2019 (CET)
Sí, cal redireccions de cada funció bàsica. L'actualització via bot de Meta funciona si està en el mateix element de Wikidata independentment del títol que tingui. Una solució pot ser crear un element nou pel mòdul Wikidata multilingüe. En la nota de dalt d'aquesta pàgina tinc identificades 15 còpies, potser s'ho val. L'element actual Mòdul:Wikidata (Q12069631), tal com està definit en anglès, és pel mòdul obsolet que ja no usen a en.wiki. Era el mòdul que hem usat de partida però ja no s'hi assembla gens ni usem un FETCH_WIKIDATA com explica. De totes formes, no les tinc totes de posar el mòdul a Meta. Tal com ha explicat en Joutbis a la Taverna, perds el control i passa a ser d'altres. Potser va bé perquè segurament en sabran més que jo, però llavors el local acabarà sent un fork no sincronitzat o bé cada canvi l'hauràs de demanar a Meta. De moment vaig fent actualitzacions de les còpies supervisant què canvia i que no s'espatlli res. Sovint em trobo amb canvis crítics que depenen d'un rastreig previ d'usos en plantilles o de canvis sincronitzats amb les subpàgines. També, tal com explicava en Joutbis en tinc detectats 4 que ja no són del tot compatibles, que hi han modificat o afegit coses. Notifico Joutbis per agrair-li manualment el comentari encertat sobre el desenvolupament obert. --V.Riullop (parlem-ne) 19:45, 14 nov 2019 (CET)

locationcontext[modifica]

@Vriullop: Fent proves he detectat que el nom del element superior (regió, estat, etc.) surt en català. Veure lloc de naixement a special:permalink/22420584. Merci, amador (disc.) 22:34, 26 nov 2019 (CET)

Corregit Special:Diff/22422083. És configuració local que només s'ha d'aplicar en català. --V.Riullop (parlem-ne) 11:01, 27 nov 2019 (CET)

anys (edat) en rus[modifica]

@Vriullop: Avui he estat amb l'@Amire80: fent proves amb infotaules i analitzant alguns punts oberts que hi ha en el apassionant tema de les "Global templates". Han sortit temes interessant que miraré de anar documentant per compartir-ho, però m'ha detectat un tema aparentment menor que caldrà pensar com resoldre. En rus, el concepte "Anys/years old" s'escriu de forma diferent en funció de la unitat de la xifra. El label de anys (Q24564698) en rus recull una de les formes i a l'àlies han posat un altre (год). Aplicant la lògica que hem marcat que les peculiaritats lingüístiques cal tractar-les a banda, caldria afegir aquesta. Ara bé, si aquest fos la única llengua on es dona aquesta situació, cal fer passar tota la resta ?. Pensem-ho; tenim temps, perquè el rus no sembla que siguin un client immediat. Merci, amador (disc.) 22:57, 26 nov 2019 (CET)

Gràcies, Usuari:Amadalvarez!
Aquestes formes de la paraula "anys" poden ser escrites en sintaxi MediaWiki així: {{PLURAL:{{{years}}}|{{{years}}} год|{{{years}}} года|{{{years}}} лет}}
Potser podeu fer un fitxer com Mòdul:Wikidata/labels/en, posar-hi aquest codi com a "missatge" a la llista de T0001, T0002, etc., i usar Lua per pa mostrar-lo? Lua ja pot processar PLURAL. --Amir E. Aharoni (disc.) 23:15, 26 nov 2019 (CET)
Merci, @Amire80:. A veure que opina el Vicenç. Bona nit ! --amador (disc.) 23:24, 26 nov 2019 (CET)
El que fa ara el mòdul és treure només la xifra. El text el vam deixar lliure però per a que sigui multilingüe amb això hem traspassat el problema a les plantilles. Efectivament ho hauria de resoldre el mòdul. Per exemple en francès surt sempre en singular. Mirant wikt:en:мне ... год no em queda del tot clar però sembla que en rus són tres formes depenent de la xifra de les unitats excepte la primera desena. Altres casos es poden veure a wikt:en:I'm ... year(s) old. Combinar-ho amb el gènere com fan alguns serà més complicat i ho deixo pel post-graduat en Wikidata. El cas de les llengües eslaves em sona al mateix problema de les dates en basc amb els anys en genitiu (segons una base 20!) Això està resolt en la configuració local a eu:Module:Wikidata/i18n amb una funció en el format de dates, i més modestament en català a Module:Wikidata/i18n pels dies primers de mes amb 1r (com seria 1er en francès). Hi ha configuracions que s'escapen de les nostres possibilitats però està prou obert per que cadascú s'hi pugui adaptar.
En definitiva, els "years old" els definiria a /i18n com a configuració local. Per defecte l'etiqueta de Q24564698, per casos complexos amb la possibilitat de crear-hi una funció. Amador, qüestions: 1) cal el singular?, no serà habitual però es pot donar el cas "1 any" que ara no està resolt; 2) què fem amb menors d'1 any?, encara menys habitual però ara surt "0 anys", posar els mesos seria una etiqueta més i no sé si serà una qüestió cultural no universal; 3) com fem la transició per incloure el sufix?, amb una opció prèvia formatting=number per deixar-ho amb sufix per defecte, o bé una opció posterior formatting=suffix deixant-ho per defecte sense.
--V.Riullop (parlem-ne) 10:41, 27 nov 2019 (CET)
@Vriullop: Pregunta: si mai haguéssim posat "anys" i els haguéssim tractat com una altra dada "(edat:18)" o simplement "(18)", hauria passat alguna cosa ?. Ho dic perquè no sé si cal ser tan preciosistes i carregar-nos de tractament d'excepcionalitat que van engreixant la motxilla del set up. Ahir, quan parlava amb l'@Amire80: cercàvem fórmules per a que cada cosa que haguessin de fer els nous administradors/instal·ladors fos molt senzilla de fer, si no pot ser automàtica. Dit això com a reflexió en veu alta, responc les preguntes per si de cas. 1) no crec que calgui el singular. Morts admissibles a WD/WP de tan curta edat, no deuen haver molts, i els que hi hagi, probablement seran poc consultats. 2) Als menors de 1 any, O no els hi posaria res o els hi posaria "< 1 anys". 3) Amb el que he dit al començament, dedueixo que millor formatting=suffix. Merci,
P.S: Convindria estar al cas d'aquests dos temes: [1] i [2]
amador (disc.) 15:08, 27 nov 2019 (CET)
Una expressió equivalent a "years old" és molt comuna. Quasi tots els que usen el nostre mòdul l'han traduït tal qual en les plantilles (bé copiades de versions anteriors o bé en plantilles noves adaptades al mòdul). Si hi haguéssim posat una altra etiqueta estaríem igual sense guanyar-hi res i potser també l'haurien canviat. Les traduccions que cal fer a /i18n són relativament poques, dóna flexibilitat i evita tocar plantilles. Per cert, he creat Module:Wikidata/i18n/en com a plantilla base perquè m'he trobat alguns que copiaven directament la versió en català. Em preocupa més la quantitat de dependències. El mòdul ara funciona sense dependència de cap altre, ni de les subpàgines. Si no existeix /i18n funciona en anglès i la idea és que l'etiqueta "years old" funcioni per defecte segons anys (Q24564698) com fas ara. --V.Riullop (parlem-ne) 17:59, 27 nov 2019 (CET)
Si tu ho veus bé, jo dormo tranquil. amador (disc.) 10:24, 29 nov 2019 (CET)

@Amadalvarez, Amire80: Fet en proves. Al final he fet cas de l'Amir, com no, usant el PLURAL en versió Lua: mw:Help:Magic words#Localization. He definit per provar-ho a Mòdul:Wikidata/proves/i18n tal com hauria d'estar la configuració en rus, o altres llengües eslaves que segueixen el mateix patró, amb les formes singular, plural i paucal:

  • Per Lleó IX (Q58559): {{#invoke:Wikidata/proves|yearsOld|item=Q58559|lang=ru|formatting=unit}} dóna 51 год
  • Per Carles Cardó i Sanjoan (Q2939056): {{#invoke:Wikidata/proves|yearsOld|item=Q2939056|lang=ru|formatting=unit}} dóna 73 лет
  • Per Juli Cèsar (Q1048): {{#invoke:Wikidata/proves|yearsOld|item=Q1048|lang=ru|formatting=unit}} dóna 55 года

En la resta de llengües només caldrà definir el singular i el plural. Semblava estrany però tenim unes quantes biografies d'1 any com Miquel da Paz que ara no surt bé. Si no està definit llavors ho treu de anys (Q24564698) com fins ara. --V.Riullop (parlem-ne) 19:20, 3 des 2019 (CET)

Gràcies! Però ha de ser així:
@Amire80: Doncs efectivament és així a wikt:en:мне ... год. Llavors, està bé la documentació? A mw:Help:Magic words#Localization explica la form 1 (per l'1), form 2 (pel 0, 5...) i form 3 (pel 2, 3...) amb un enllaç a translatewiki:Thread:Portal talk:Ru/Plural changes in many languages que explica que efectivament van canviar d'ordre. Jo he interpretat les formes 1, 2 i 3 com els paràmetres de {{PLURAL:$1|form 1|form 2|form 3}} però veig a ru:Участник:Vriullop/Черновик que no és aquest ordre, sinó l'anterior al canvi explicat, o potser no he entès res :-) --V.Riullop (parlem-ne) 20:46, 3 des 2019 (CET)

Arreglat canviant les formes 2 i 3 malgrat el que diu la documentació. Està actualitzat al mòdul i documentat a Module:Wikidata/en/ús#Function yearsOld. @Amadalvarez: ja es poden arreglar els casos d'1 any. Fent la cerca "1 anys" en surten uns quants. Alguns són errors que s'haurien de corregir a Wikidata traslladant-ho a floruit (P1317) però no sé com indicar-ho amb circa un rang d'anys. --V.Riullop (parlem-ne) 15:01, 4 des 2019 (CET)

@Vriullop: Per posar un rang d'anys es fa amb la combinació després de (P1319) i abans de (P1326), que és compatible amb posar-li circumstàncies de la font (P1480) = circa (Q5727902) o presumiblement (Q18122778). Les dates de floruit, la infotaula les fa servir al nivell de la data de mort, si no està informada, altrament, la fa servir com a període actiu. Dit això, no sé molt bé que haig de fer: 1 any vs 1 anys, ho arregla el mòdul, oi?. També estaven els de <1 any que no sé com ho volies fer. Jo proposava l'expressió aritmètica "<1 any". He fet un SPARQL: https://w.wiki/DHC , però surten com a falsos positius els que tenen una precisió de segles, perquè no sé filtrar-la. Bé, ja em diràs que haig de fer. amador (disc.) 18:31, 4 des 2019 (CET)
@Amadalvarez: Afegit el cas < 1 any. Exemple d'ús: Special:Diff/22444240, posant els parèntesis fora de l'invoke perquè ja està dintre d'un altre if. Una alternativa és posar-los directament a /i18n amb plural="($1 anys)". T'estalvies un getlabelfix que ja gestiona el mòdul quan canvies de llengua. Amb això ja surt Miquel da Paz en singular i Joan I de França menor d'1 any.
Els casos a corregir no els acabo de veure com. Si poso floruit em demana una data abans de posar els qualificadors. A Frontinià (Q20100602) ho he arreglat posant-ho en el càrrec, però no surt a la infotaula. Altres casos com Gabriel Yoly, Vicente Esquivel, Orscand de Vannes, Flavià (prefecte d'Itàlia 382-383), Dost Khan, Leonci de Constantinoble, Hierax (heretge), Mahakashyapa no sé com arreglar-los. --V.Riullop (parlem-ne) 11:20, 5 des 2019 (CET)
@Vriullop: A pams. El que vaig explicar dels qualificadors de les dates no aplica a floruit; en aquesta propietat, és posen 1 o 2 dates com a multivalor, per dos motius: acostumen a ser dates concretes i, perquè ja estaven escrites així a WD els casos que em vaig trobar. Casos arreglats per a que vegis com queda: Frontinià, no ho pot atribuir ni a naixement ni a defunció i ho deixa com a "Floruit". Gabriel Yoly, ho indica com a pista a data naixement, ja que la defunció és coneguda. En aquest cas, no es pot calcular els anys, però surt el parèntesi buit. Al Vicente Esquivel m'he atrevit a especular quan podria haver nascut i mort (a escala de mig segle) i el floruit li surt al lloc d'activitat; aquí també li passa el tema dels (). Ja tens una mostra per treballar els (), mentres jo arreglo els altres que m'has passat. amador (disc.) 08:28, 6 des 2019 (CET)
@Vriullop: el tema () també afecta a la precisió superior a dècada, és a dir, quan no es calcula. Cas Dost Khan. amador (disc.) 09:36, 6 des 2019 (CET)
Doncs solució alternativa amb els parèntesis traslladats a Mòdul:Wikidata/i18n per a que els gestioni el mòdul. Si calgués un altre format es pot continuar usant formatting amb un pattern, però llavors sense distingir singular de plural. --V.Riullop (parlem-ne) 12:23, 6 des 2019 (CET)
Tots els casos arreglats, llevat del Mahakashyapa on la incertesa és tan gran que qualsevol cosa que no sigui segle és incorrecta.--amador (disc.) 10:27, 6 des 2019 (CET)

Wikidata Bridge[modifica]

Captura de pantalla

Seguint l'avís de l'Amador, he fet una ullada a mw:Wikidata Bridge, la nova funció que permetrà editar Wikidata des de les infotuales, i ja he fet un primer comentari a mw:Topic:Vbwgq4opce534w8i. Caldrà obrir un subprojecte de seguiment? --V.Riullop (parlem-ne) 18:43, 27 nov 2019 (CET)

@Vriullop: Seria convenient. Durant el WikidataCon vaig estar parlant amb ells i volien que participéssim amb les nostres infotaules. Una de les dificultats que tenen és com relacionar els conceptes que es mostren amb la propietat que els mostra. Em vaig comprometre a preparar la nova documentació orientada a que els hi servís com a guia. Òbviament el que jo estic resolent de forma visual, a ells els hi caldrà tenir-ho en una mena de XML o taula d'equivalències que els hi permeti industrialitzar-ho per qualsevol infotaula. Penso que estar a la cuina ens pot permetre incorporar un concepte necessari:la millora de la interface de manteniment de WD.amador (disc.) 19:10, 27 nov 2019 (CET)
Per cert, el meu comentari és després de veure una captura de pantalla del prototip que poso aquí. De fet ja podríem enllaçar a la propietat usada per modificar-ne el valor, però abans cal resoldre què indica el llapis. --V.Riullop (parlem-ne) 20:07, 27 nov 2019 (CET)
Si entenc bé el prototip, sembla que és per editar el valor, no? Pau Cabot · Discussió 20:14, 27 nov 2019 (CET)
@Vriullop, Paucabot: Efectivament. Ells van partir d'una plantilla sense cap mancança de labels i van tenir la mateixa idea al triar una icona d'entrada de dades. En tot cas, el prototip no enllaça a la interface clàssica de WD com fem ara nosaltres, sinó a un formulari de ""data-entry amable" que es mostra emplenat amb els valors de WD (el que s'acaben de veure a la infotaula) i que pots canviar/ampliar. El Bridge és responsable de construir i presentar el formulari i de desar les dades entrades a WD. La dificultat que tenen no és com la infotaula le indica les dades (perquè les torna a recuperar Bridge), sinó saber quines són les propietats implicades "darrera de cada llapis". Amb la primera idea això no es plantejava com un problema perquè les infotaules sense WD són força lineals: 1 paràmetre manual = 1 propietat = 1 línia a la infotaula, o com a molt una llista separades per BR's; fixeu-vos que l'exemple que posen respon a això. Quan comencen a veure les nostres infotaules i les dels russos, s'adonen que la construcció del formulari ha de ser un reflex invers del que mostra la infotaula i llavor els hi cal comptar amb una mena de meta-llenguatge de deconstrucció que, si ho aconsegueixen, ens podria servir a nosaltres per construir; però ara encara és precipitat saber cap on anirà. amador (disc.) 23:41, 27 nov 2019 (CET)
@Amadalvarez, Paucabot: Com veieu el comentari que he fet a MediaWiki? Si usen el llapis al Bridge per accedir als valors llavors hem de canviar el nostre llapis que indica etiquetes no traduïdes. No hi ha pressa però s'hauria de pensar abans d'entrar en proves reals on som candidats. Un canvi precipitat de la funció del llapis pot provocar confusió. Canviar-lo per una indicació amb el codi de llengua pot donar més informació, i evitem tenir dues icones. Alguna idea al respecte abans de fer res? Per exemple en la versió en sami septentrional (codi se) hi han fet un afegit per marcar i categoritzar les etiquetes que existeixen en certes llengües (nòrdiques més les grans). Se suposa que seran les més accessibles per a traduir, com si aquí diguéssim es, fr, en, tot i que no ho veig gaire necessari. --V.Riullop (parlem-ne) 22:55, 28 nov 2019 (CET)
@Vriullop, Paucabot: No t'ha deixat gaire marge la Lea. S'ha apropiat de la imatge del llapis. Podríem posar una etiqueta d'aquelles que porten un cordillet Noun Project label icon 1116097 cc.svg. amador (disc.) 23:41, 28 nov 2019 (CET)
No em sembla malament la icona de l'etiqueta que penja, però vaig més enllà. Amb el Bridge ens podem trobar amb dues icones: Polytechnic Secondary School Templin Noun Project label icon 1116097 cc.svg Arbcom ru editing.svg. No ho veig ni estètic ni clar. Si el Bridge assumeix l'enllaç a l'etiqueta igualment caldria indicar que allò no està en català. Per això pensava en situació final: Polytechnic Secondary School Templin (en) Arbcom ru editing.svg
Analitzant les modificacions que explicava de se.wiki hi ha un motiu de fons. Moltes etiquetes no traduïdes són de noms de persona o de noms de lloc que de fet no es tradueixen. Jo prefereixo que estiguin també en català i amb una descripció, però entenc que al final fa mandra si no es veu la necessitat. En llengües menors que el català les infotaules queden plenes de coses a traduir i, de fet, n'hi ha que no cal. La lògica seguida a se.wiki és que si en les llengües del meu entorn totes les etiquetes són iguals és que no cal traduir-la. Per exemple, si el nom d'un francès l'hem tret de l'etiqueta en anglès segurament la podem donar per bona i no cal dir que allò està en anglès. Profunditzant, podem ampliar les llengües alternatives. Ara tenim occità i anglès com alternatives al català. En general són poques i sovint l'anglès com a única. Podríem usar altres etiquetes en altres llengües quan no existeixi en anglès, per exemple evitar Q56230686 que ara mostra Angela Merkel quan existeix una etiqueta en alemany com a nom original. Per això, a més de la icona, crec que és el moment de repensar-ho. --V.Riullop (parlem-ne) 10:56, 29 nov 2019 (CET)

Documentació en anglès[modifica]

He creat Mòdul:Wikidata/en/ús. La manca de documentació en anglès era un dels hàndicaps del mòdul. Ping Amadalvarez. Alguns clients hi tenen un enllaç al Google translator i cap ho té prou actualitzat. --V.Riullop (parlem-ne) 11:47, 2 des 2019 (CET)

Gràcies, amador (disc.) 19:32, 2 des 2019 (CET)

No tenim alcaldesses[modifica]

@Vriullop: No sé des de quan, però no feminitza la P6. Exemples: Barcelona (Q1492) i Pardines (Q12294). Merci, amador (disc.) 18:46, 3 des 2019 (CET)

Arreglat. És una seqüela de Plantilla Discussió:Ordinal on els vaig corregir en taules però faltava amb infoboxlabel. --V.Riullop (parlem-ne) 14:53, 4 des 2019 (CET)