Modulo:Software/man
Questa è la pagina di documentazione per Modulo:Software
Modulo Lua per integrare le informazioni espresse nel Template:Software con le informazioni provenienti da Wikidata.
Se alcuni linguaggi sono assenti è un problema di configurazione.
In seguito l'uso di alcune sotto-funzioni.
Uso
isFreeSoftware
{{#invoke:Software|isFreeSoftware}}
Valori di ritorno:
sì
: è software liberono
: è software proprietarionil
: nessuna informazione per determinarlo
isFreeSoftware e Wikidata
A livello implementativo questa funzione cerca di uniformare alcune delle molte modalità con cui si può esprimere questa informazione in Wikidata.
Per quanto riguarda essere software libero:
- Il template {{Software}} ha
SoftwareLibero=sì
? - La voce è istanza di (P31) software libero (Q341) / software open-source (Q1130645)?
- Fra le licenze di questa voce espresse in licenza (P275) ce n'è una istanza di (P31) di licenza di software libero (Q3943414)? (funzione parser dispendiosa)
Per quanto riguarda essere software proprietario:
- Il template {{Software}} ha
SoftwareLibero=no
? - La voce è istanza di (P31) software proprietario (Q218616) / freeware (Q178285)?
- Fra le licenze di questa voce espresse in licenza (P275) ce n'è una sottoclasse di (P279) di licenza proprietaria (Q14624820)? (funzione parser dispendiosa)
specifiesALanguage
{{#invoke:Software|specifiesALanguage}}
sì
: vi sono linguaggi espressi da Wikidata o specificati da {{Software|Linguaggio}}no
: in caso contrario
shouldHaveALanguage
{{#invoke:Software|shouldHaveALanguage}}
Valori di ritorno:
sì
: questa voce dovrebbe (o potrebbe) mostrare l'etichetta dei linguaggi di programmazione. Vale per i software liberi o se vi sono linguaggi specificati.no
: la voce non dovrebbe (o non potrebbe) mostrare l'etichetta dei linguaggi di programmazione. Capita per software proprietario senza linguaggi noti.
languages
{{#invoke:Software|languages}}
Stampa i linguaggi di programmazione unendo i valori dal template con i valori da Wikidata dalla proprietà linguaggio di programmazione (P277) e categorizzando:
- Categoria:Software senza linguaggio
- La voce potrebbe mostrare linguaggi (ad esempio ha linguaggi in Wikidata) però non lo lo fa. Probabilmente sono linguaggi non previsti nella configurazione.
- Categoria:Software libero senza linguaggio
- La voce dovrebbe mostrare linguaggi (è software libero) ma non lo fa. Probabilmente sono linguaggi non previsti nella configurazione.
- Categoria:Linguaggio di programmazione uguale a Wikidata
- I linguaggi specificati nel template sono presenti identici in Wikidata.
- Categoria:Linguaggio di programmazione letto da Wikidata
- Il template mostra linguaggi esclusivamente grazie a Wikidata.
- Categoria:Linguaggio di programmazione differente da Wikidata
- Il template ha linguaggi che Wikidata non ha (o viceversa).
- Categoria:Linguaggio di programmazione assente su Wikidata
- Il template ha linguaggi, Wikidata no.
- Categoria:Linguaggio di programmazione da Wikidata non previsto
- Capita quando in Wikidata c'è un linguaggio assente nella configurazione.
Configurazione
Al momento ogni linguaggio deve essere presente in:
- Template:Software/Linguaggio
- I linguaggi qui presenti sono fruibili dai Wikipediani per inserirli nel template {{Software}}. I linguaggi vengono smistati per richiamare il corrispettivo template {{Software/L}} che si occupa della categorizzazione vera e propria per tale linguaggio e di stampare il wikilink alla voce del linguaggio, come ad esempio mostrare banalmente "C" al posto di "C (linguaggio)". Compilare con cura {{Software/L}} dato che in maniera concisa permette di scegliere quali sotto-categorie prevedere. Ad esempio se c'è una categoria dedicata ai software libero (come Categoria:Software libero in C) ed eventualmente quella per il software proprietario, oppure se entrambe non ci sono, lasciando solamente una più generica Categoria:Software in C.
- Modulo:Software/Configurazione
- I linguaggi qui presenti sono inseribili automaticamente da Wikidata. Ognuno di essi richiamerà Template:Software/Linguaggio.
Risoluzione dei problemi
Se il template {{Software}} non mostra alcuni linguaggi, sebbene vi siano in Wikidata, un linguaggio è assente in Modulo:Software/Configurazione.
Se il template {{Software}} ha l'errore «non in lista», un linguaggio specificato nel template {{Software}} è assente in Template:Software/Linguaggio.