Wikisource:Domande tecniche

Da Wikisource.
Jump to navigation Jump to search
Domande tecniche
il punto d'incontro e discussione tra geek e niubbi!
archivio
Filing cabinet icon.svg
2019
2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025

Nuvola filesystems folder blue open.png Categoria: Domande tecniche Bar  Nuvola apps noatun.png Domande tecniche 

Pagina dedicata a domande sul software, sulla struttura organizzativa del progetto, sulla visualizzazione e i bug dei browser. Le comunicazioni Tech News verranno ricevute su Wikisource:Domande tecniche/Tech News.

Transclusione del template VoceIndice[modifica]

In questa transclusione date un'occhiata nelle note. Esiste una soluzione oppure meglio convertire tutto in una tabella? --Luigi62 (disc.) 23:26, 8 gen 2019 (CET)

Sistemato, mi sembra; occorrerebbe organizzare una "pagina di link a esempi per casi difficili", ci penso spesso e non lo faccio mai... :-( --Alex brollo (disc.) 11:50, 19 gen 2019 (CET)

Help.... help![modifica]

Messaggio in bottiglia: mediawiki sta rendendo le cose sempre più complesse, in più sto tentando di passare a Linux come sistema operativo principale per lavorare con BrolloBot.... se c'è qualcuno che ha esperienza di bot sotto Linux, ho bisogno di aiuto. Ma chi cerco dev'essere molto paziente anche in caso di domande veramente banali.

Prima difficoltà: mi sono subito incastrato nel login. Se volessi usare Special:BotPasswords:

  1. devo entrare nella pagina speciale del progetto dove voglio lavorare con il bot, naturalmente avendo l'account bot?
  2. devo farlo progetto per progetto?
  3. devo accedere con l'account personale di "guidatore del bot" o con l'account bot?

Al momento non prendo nemmeno in considerazione l'autenticazione OAuth che è molto più complessa e di cui non capisco nulla. --Alex brollo (disc.) 11:58, 19 gen 2019 (CET)

Funzioni asincrone[modifica]

@Candalua, Ruthven Nonostante gli sforzi, faccio sempre fatica a ragionare in termini di chiamate asincrone, il default delle chiamate ajax, che richiedono una logica particolare per la necessità di "passare" una funzione callback da eseguire a risposta asincrona ottenuta. Vi pongo alcune domande.

  1. se imposto async:false la logica asincrona viene naturalmente aggirata ma ricevo un warning riguardo a conseguenze su "bad experience" dell'utente. Posso ignorare questi warning, quando la risposta è velocissima (frazioni di secondo) e tanti saluti?
  2. immaginiamo di usare le callback. Come passo i parametri necessari alla funzione callback? Come ulteriori parametri?
  3. qua e là i migliori gadget fanno uso di chiamate non asincrone per recuperare il wikitext di pagine varie. Il "bug del febbraio 2019" impedisce di accedere al wikitext nd nsIndice e di nsPagina via index.php?action=raw metre funzionano le routine di lettura del wikitext via api.php, ok. Conosco due API che recuperano il wikitext; una attraverso api.php?action=query, che mi fornisce le revisioni di una pagina o il wikitext anche di pagine multiple, l'altra attraverso api.php?action=parse che può restituirmi il puro wikitext di una pagina. Dovendo ottenere il wikitext di una singola pagina, ci sono motivi per preferire query o parse? --Alex brollo (disc.) 10:13, 24 feb 2019 (CET)
@Alex brollo Allora, credo che ci sia un errore di architettura di fondo. Devi usare le funzioni asincrone, quindi
  1. se fai async:false, allora forzi la sincronia e blocchi (freeze) l'esecuzione del programma in caso di ritardo di risposta al callback. Quindi ti va bene nel caso di server veloce, ma è una cattiva pratica di programmazione. Si chiama "callback Hell": in pratica forzi l'arresto del programma ogni volta che interroghi un server. In realtà, il tuo programma deve andare avanti lo stesso; semplicemente se il server non risponde, la funzione non si esegue (si eseguirà dopo, eventualmente).
  2. Il callback non può cambiare forma (altrimenti non viene riconosciuto). Se fai un callback, vuol dire che stai chiamando un server con una cosa del tipo
      var i = ...
      ajax("api..", function(XXXXX) {  corpo...  }
Nel callback puoi usare unicamente le variabili definite dentro allo stesso o quelle definite fuori e prima (come i nel nostro esempio qui sopra) e non hai bisogno di passarle come variabili. È come se definissi in C una variabile fuori da un ciclo while: dentro al ciclo le puoi chiamare lo stesso. Poi, se vuoi usare quello che ti risponde il server (in modo asincrono), lo puoi fare con i parametri XXXXX della funzione callback. --Ruthven (msg) 17:59, 26 feb 2019 (CET)
@Ruthven Grazie! Se i parametri possono essere definiti "fuori", questo mi chiarisce parecchio. Il C non lo conosco quindi la similitudine non mi aiuta :-). Proverò a fare questo sforzo di "ribaltamento di logica". Alex brollo (disc.) 19:04, 26 feb 2019 (CET)

Problema python[modifica]

@Candalua Adesso lavoro in Linux Mint, dual boot con Windows 7 (del 10 mi sono liberato). Python sotto Linux va che è una meraviglia; stranamente ogni tentativo di installazione di Python sotto Windows 7 mi dà uo strato errore; non funzionano nè os.system, nè le chiamate subprocess, stesso errore codice -1. Ho reinstallato 4 volte, diverse versioni di python2.7, niente. sempre lo stesso errore. Io sospetto del dual boot: ci sono altre ipotesi? --Alex brollo (disc.) 09:15, 26 feb 2019 (CET)

Aggiornamento messaggi[modifica]

Salve a tutti. Segnalo che in settimana ho aggiornato su translatewiki il messaggio che definisce il contenuto del tasto "modifica wikitesto" in alto, trasformandolo in "modifica sorgente" (e lo stesso per alcuni messaggi correlati, elencati sotto). Questo è dovuto al fatto che la dicitura "wikitesto" non si applica a tutte le pagine (ad esempio lua o JS), e perché il messaggio originale dice proprio "edit source": "wikitesto" è una traduzione assolutamente libera. Su itwp qualche anno fa era stato deciso di cambiare "modifica sorgente" in "modifica wikitesto" perché "sorgente" poteva scoraggiare gli utenti novizi (vedi discussione), ma la modifica riguardava solo itwp. Qualora anche voi preferiste "wikitesto" a "sorgente", gli admin possono ripristinare la vecchia dicitura nei seguenti messaggi:

Segnalo che alcuni di questi hanno ancora la dicitura "wikitesto" perché non sono arrivate le nuove traduzioni. In questo caso, le soluzioni sono due: o aspettate che arrivi la nuova traduzione per modificarli, oppure fate un dummy edit per crearli (ad es. aggiungendo uno spazio in mezzo) e poi ripristinate il vecchio messaggio (vedi come ho fatto io su itwp). Approfitto dell'occasione per ricordare che il testo dei messaggi, in generale, non va mai usato nelle linee guida: altrimenti, ogni volta che cambia un messaggio vanno cambiate tutte le linee guida che ne riportano il testo. È invece buona abitudine transcluderli direttamente, vedi esempio. Per una lista di possibili utilizzi, vedere questa ricerca approssimativa. Per qualsiasi informazione o richiesta di aiuto, cortesemente pingatemi perché non seguo la pagina. Grazie, --Daimona Eaytoy (disc.) 11:08, 23 mar 2019 (CET) PS: Per favore, aggiornate il maledetto filtro 1... È impensabile non whitelistare almeno i link a progetti wiki...

@Daimona Eaytoy Non so che nome si vorrà usare qui, se "testo", "wikitesto" o "sorgente" (quest'ultimo più informatico che libraio). Di contro, non sarebbe meglio rimuovere il filtro 1 ed usare piuttosto MediaWiki:Spam-blacklist e MediaWiki:Spam-whitelist? --Ruthven (msg) 09:28, 24 mar 2019 (CET)
@Ruthven Sulla preferenza del testo da usare non saprei... C'è anche da dire che ho aperto T219056 per poter avere "modifica" e "modifica visuale", che risolverebbe forse tanti grattacapi. Riguardo al filtro, in realtà un po' ne capisco la necessità, ma diamine, scatta anche con un link interno come https://it.wikisource.org/wiki/Pagina_principale... Ovviamente se serve aiuto anche per quello basta chiedere. --Daimona Eaytoy (disc.) 09:55, 24 mar 2019 (CET)
@Daimona Eaytoy ✔ Fatto --Ruthven (msg) 15:19, 24 mar 2019 (CET)
@Ruthven, una volta questo filtro bloccava solo gli utenti con meno di 3 contributi, ora invece sta bloccando tutti... se vogliamo tenerlo così, dovremmo mettere in whitelist tutti i siti esterni che usiamo regolarmente, tipo archive.org, wmflabs.org, books.google.com ecc. @Daimona Eaytoy ci puoi dare una mano? se serve ti possiamo dare temporaneamente il flag di sysop. Can da Lua (disc.) 16:34, 25 mar 2019 (CET)
@Candalua Beh, al momento è molto meglio della prima versione, se non altro... Darei una mano volentieri, ma ricostruire un filtro da capo è un po' oltre ciò che posso fare al momento... Suggerisco invece di dare un'occhiata ad altri progetti (magari mediawiki.org, dove c'è tanto spam) e scopiazzare un po' i loro filtri antispam. --Daimona Eaytoy (disc.) 16:49, 25 mar 2019 (CET)
@Candalua Non credo che sia cambiato il fatto che blocchi solo gli utenti con meno di 3 contributi. Se qualcosa non ti è chiara, parliamone in privato magari (via email). --Ruthven (msg) 17:30, 25 mar 2019 (CET)
Beh sì, ha bloccato anche me :D (e pure, che è più grave, il MediaWiki message delivery...) Se la cosa non è voluta, allora cerco di rimetterlo com'era (credo manchi solo un paio di parentesi). Can da Lua (disc.) 17:49, 25 mar 2019 (CET)
@Ruthven ora dovrebbe essere a posto. Teniamo d'occhio il registro nei prossimi giorni Can da Lua (disc.) 17:55, 25 mar 2019 (CET)

Casella ricerca anche nelle sottopagine ns0[modifica]

@Candalua, OrbiliusMagister Penso sarebbe utile far comparire la casella Ricerca anche nelle sottopagine ns0, o almeno in alcune (es. nelle sottopagine di Storia della letteratura italiana (Tiraboschi, 1822-1826), corrispondenti ai vari tomi). Posso provarci ma non ho idea di dove trovare il codice che la genera. --Alex brollo (disc.) 07:40, 10 apr 2019 (CEST)

OK, trovato. In Template:IncludiIntestazione/Sandbox una possibile soluzione: aggiungendo un parametro ricerca=si si apre il box input Ricerca come in pagina principale. Resta da discutere se è utile/se è bello. --Alex brollo (disc.) 00:23, 12 apr 2019 (CEST)