Modulo:Software/man

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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[modifica wikitesto]

isFreeSoftware[modifica wikitesto]

{{#invoke:Software|isFreeSoftware}}

Valori di ritorno:

  1. : è software libero
  2. no: è software proprietario
  3. nil: nessuna informazione per determinarlo

isFreeSoftware e Wikidata[modifica wikitesto]

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:

  1. Il template {{Software}} ha SoftwareLibero=?
  2. La voce è istanza di (P31) software libero (Q341) / software open-source (Q1130645)?
  3. 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, vedi #Albero licenze Wikidata)

Per quanto riguarda essere software proprietario:

  1. Il template {{Software}} ha SoftwareLibero=no?
  2. La voce è istanza di (P31) software proprietario (Q218616) / freeware (Q178285)?
  3. Fra le licenze di questa voce espresse in licenza (P275) ce n'è una sottoclasse di (P279) di licenza proprietaria (Q3238057)? (funzione parser dispendiosa, vedi #Albero licenze Wikidata)

specifiesALanguage[modifica wikitesto]

{{#invoke:Software|specifiesALanguage}}
  1. : vi sono linguaggi espressi da Wikidata o specificati da {{Software|Linguaggio}}
  2. no: in caso contrario

shouldHaveALanguage[modifica wikitesto]

{{#invoke:Software|shouldHaveALanguage}}

Valori di ritorno:

  1. : questa voce dovrebbe (o potrebbe) mostrare l'etichetta dei linguaggi di programmazione. Vale per i software liberi o se vi sono linguaggi specificati.
  2. no: la voce non dovrebbe (o non potrebbe) mostrare l'etichetta dei linguaggi di programmazione. Capita per software proprietario senza linguaggi noti.
TODO
Da novembre 2018 questa funzione è inutilizzata e potrebbe essere rimossa.

languages[modifica wikitesto]

{{#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 libero senza linguaggio
La voce dovrebbe mostrare linguaggi perché è un software libero, ma non lo fa.
Categoria:P277 uguale su Wikidata
I linguaggi specificati nel template sono presenti identici in Wikidata.
Categoria:P277 letta da Wikidata
Il template mostra linguaggi esclusivamente grazie a Wikidata.
Categoria:P277 differente su Wikidata
Il template ha linguaggi che Wikidata non ha (o viceversa).
Categoria:P277 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.

languageCategories[modifica wikitesto]

{{#invoke:Software|languageCategories}}

Categorizza la voce in base ai suoi linguaggi di programmazione espressi in Wikidata (usata internamente in #languages).

licenseCategories[modifica wikitesto]

{{#invoke:Software|licenseCategories}}

Categorizza la voce in base alle licenze con cui è distribuito il software.

Considerazioni implementative[modifica wikitesto]

Albero licenze Wikidata[modifica wikitesto]

Ricostruzione dell'albero inverso delle licenze presenti in Wikidata:

Albero delle licenze

Albero GNU GPL

Notare che GNU General Public License (Q7603) è reputato con i medesimi valori sia per istanza di (P31) che per sottoclasse di (P279), in quanto per alcuni è considerata una vera e propria licenza, mentre per altri una sottoclasse di licenze. d:Talk:Q308915.

Albero BSD

Albero caso peggiore

Attualmente il "caso peggiore" per identificare un'istanza di (P31) licenza di software libero (Q3943414) sembra essere il seguente (albero in cascata):

GNU Affero General Public License, versione 3 (o successive) (Q27020062) :

È perciò possibile limitare un massimo livello di ricorsione a 3 fintanto che questa struttura rimane invariata.

Configurazione[modifica wikitesto]

Lo stesso argomento in dettaglio: Modulo:Software/Configurazione.

Per cambiare il modo in cui è mostrato un linguaggio o una licenza, prova a guardare in Wikidata tale linguaggio o tale licenza. Considera anche che se il nome in Wikidata è troppo lungo, è scelto il nome in breve (P1813).

Per aggiungere una categoria di un linguaggio, o una licenza, vedi Modulo:Software/Configurazione.

Note storiche

Fino a marzo 2017 per cambiare il wikilink alla voce del linguaggio o mostrare banalmente "C" al posto di "C (linguaggio)" occorreva modificare il Template:Software/Linguaggio considerando complesse sotto-inclusioni del Template:Software/L. Inoltre ora non occorre più mantenere parallelamente la documentazione in Template:Software#Linguaggi perchè è generata. Prima era Template:Software/Linguaggio/man.

Risoluzione dei problemi[modifica wikitesto]

Se il template {{Software}} ha l'errore «non in lista» significa che:

  • Potrebbe essere un errore di battitura, si veda quella lista.
  • Se non è un errore di battitura ma manca un linguaggio rilevante, vedere Modulo:Software/Configurazione.

Pagine correlate[modifica wikitesto]