Discussioni utente:Alex brollo

Da Wikivoyage.
Jump to navigation Jump to search

Per non disperdere le discussioni su varie pagina, vi chiedo di proseguirle sempre sulla stessa pagina dove la discussione inizia. Se tardo a rispondere, datemi una "svegliata": mi trovate in s:Discussioni utente:Alex brollo. Grazie! --Alex brollo (discussioni) 17:06, 19 dic 2012 (CET)


Benvenuto[modifica]

Ciao Alex brollo!

Benvenuto su Wikivoyage e grazie per la disponibilità.

Adesso l'utenza Alex brolloBot dovrebbe essere in grado di apportare le modifiche richieste. Gobbler (discussioni) 17:50, 18 dic 2012 (CET)

Occhio alex che gobbler da quel che vedo non ha flaggato Alex brolloBot come bot ma come amministratore Rippitippi (discussioni) 17:54, 18 dic 2012 (CET)
OK adesso appartieni ad ambo i gruppi per cui hai pieni poteri. Gobbler (discussioni) 18:27, 18 dic 2012 (CET)
I diritti di amministratore servono in modo che tu possa modificare anche quelle pagine, protette, nelle quali ho visto sono presenti quei pestiferi link errati. Infatti su alcune pagine è stata adoperata la protezione ricorsiva per cui la protezione si è estesa a molte pagine che in realtà centrano poco. :) Raoli (discussioni) 16:18, 19 dic 2012 (CET)
C'è qualcosa che non va. Non riesco a loggarmi con il bot. Adesso verifico un paio di cose! --Alex brollo (discussioni) 17:06, 19 dic 2012 (CET)
Ok. Se hai ancora problemi chiedo ad un botolatore di Wv. mi risulta difficile capire dove ho iniziato la discussione corrente. Quindi da ora in poi ti scrivo solo qui. :) Raoli (discussioni) 17:19, 19 dic 2012 (CET)
Si grazie, molto meglio.
Il problema è sempre quello: stranamente il tentativo di login mi restituisce "ERROR: Username for Wikivoyage is undefined". Bisognerebbe chiedere a un botolatore (meglio a un admin o a un burocrate) se manca qualche passaggio locale, qui sul progetto, per l'attivazione dei bot; io non saprei da dove cominciare con le verifiche. Un po' strano che il gruppo bot risulti rosso (ossia che non esista ancora la pagina puntata dal link) --Alex brollo (discussioni) 22:26, 19 dic 2012 (CET)
Chiesto oggi alle 16 ma non risponde ancora. Comunque un altro bot di Romaine era passato quindi non capisco perchè tu no. --Raoli (discussioni) 22:38, 19 dic 2012 (CET)
Io non sono un bot "globale", quelli sono autorizzati ad agire come bot su qualsiasi progetto. Provo a creare la pagina Wikivoyage:Bot con un contenuto dummy (ci metterò un link alla mia pagina utente) --Alex brollo (discussioni) 22:40, 19 dic 2012 (CET)
Ok, giusto. Ora va? Ho chiesto aiuto anche ad un altro admin di de.wikivoyage. Può essere che il gruppo utenti bot non sia attivo su questa wiki? Raoli (discussioni) 22:51, 19 dic 2012 (CET)
Non ho idea.... non conosco le procedure per avviare un progetto nuovo. Se sono il primo bot "vostro", autorizzato da voi e non globale (il quale ha ricevuto i permessi altrove), potrei essere una "cavia" per verificare se le procedure di attivazione sono corrette. Stasera riprovo (da qui non posso farlo per vari motivi). Di certo, il problema mi si verifica solo su wikivoyage e su nessuno degli altri siti nonostante i settaggi dell'utente bot, per quanto riguarda "il mio lato", siano apparentemente identici a tutti gli altri settaggi per gli altri progetti.

In che namespace stanno i link che dovrei cancellare? Vorrei vederne qualcuno "a mano". --Alex brollo (discussioni) 10:14, 20 dic 2012 (CET)

In tutti i namespace. Puoi vederli per esempio anche nella pagina utente di Utente:Gobbler oppure in Europa centrale o Wikivoyage:Come puoi aiutare Wikivoyage e un po' ovunque. Senti, dovresti spiegare il problema a DerFussi nella pagina utente di de.wikivoyage. Già gli ho accennato che stai avendo difficoltà, ma più di questo non so. Scrivi a DerFussi in Bot in it.wikivoyage. Raoli (discussioni) 13:46, 20 dic 2012 (CET)
Problema risolto (stamattina, a mente fresca): sono riuscito a loggarmi. Tecnicamento ho spiegato il bug (che sta nella libreria di pywikipedia) a DerFussi pregandolo di occuparsi della segnalazione (odio Bugzilla); semplicemente, in wikivoyage-family.py invece di scrivere il nome wikivoyage sta scritto Wikivoyage; tanto basta per bloccare tutto .... :-P
Stasera muovo il bot, verifico le routine, e poi parto. Mi spiace del contrattempo. Uno dei due bot potrebbe essere cancellato: direi di cancellare Utente:Alex brolloBot e di conservare Utente:Alebot, ma lo facciamo fra qualche giorno dopo eseguite delle verifiche più approfondite (si sa mai che venga fuori qualche altro problema). --Alex brollo (discussioni) 08:29, 21 dic 2012 (CET)
Ok. Sia ringraziato Alex brollo. Grande!! Finalmente panifichiamo in massa su Wikivoyage. Smile Raoli (discussioni) 16:44, 21 dic 2012 (CET) P.S. Vuoi un rinfresco sulle attività da fare? Raoli (discussioni) 16:45, 21 dic 2012 (CET)
Appena hai un attimo sarebbe gradito, in quanto tu sei amministratore di Wikivoyage, un voto su queste 4 richieste di nuove funzioni. WikiLove, Article Feedback Tool, Gruppo utente autoverificati, Importa. Il consenso gli serve per potere essere portate a termine, lo dicono su bugzilla. Grazie Raoli (discussioni) 02:59, 22 dic 2012 (CET)

ottimo[modifica]

Serve una bella ripulita e solo un bot può farlo gli articoli sono pochi quindi ogni operazione non dovrebbe comportare una gran perdita di tempo infatti ne ho richiesta già un altra :-) Rippitippi (discussioni) 23:28, 21 dic 2012 (CET)

Estensioni sulla stringa[modifica]

Conosci questa pagina Extension:StringFunctions ? sembrano interessanti! Raoli (discussioni) 06:42, 24 dic 2012 (CET)

La conosco. E' un'estensione largamente disabilitata sulla maggior parte delle wiki perchè consente eccessiva complicazione dei template; in particolare, risulta odiosa a Tim Starling.
Potendone fare a meno, ne farei a meno per rispettare una policy diffusa. Eventuali template che si basino su questa estensione non sono esportabili in quasi nessun progetto wiki: si rischierebbe la sindrome "Torre di Babele". --Alex brollo (discussioni) 08:52, 24 dic 2012 (CET)
Per esempio però su en.wikipedia ci sono molti template che la utilizzano e per questo non mi sembra un cattiva idea utilizzarli per qualcosa. A prima vista sembra di stare in Paradiso. Non so se possiedi la bacchetta magica, ma al momento della proposta non speravo ci riuscissi a farla. Davvero un ottimo risultato hai conseguito! Un risultato importantissimo perché collega tutto il progetto agli altri. Ora ricontrollo a campione. Inoltre, se ricordi, tempo fa, ti proposi di utilizzare la trasclusione Iwt per le categorie di quote. Ora, invece mi è venuta una bella idea, penso. Potresti portare qui su WV tutti quegli aggeggi e codici alla trasclusione? Pensi si possa trascludere questa pagina Main Page/potd di Commons qui su Wikivoyage? In questo modo non c'è più bisogno di importare ogni volte la versione dell'Immagine del giorno poiché essa verrebbe visualizzata automaticamente (cioè tipo alla Ugo Foscolo) Raoli (discussioni) 15:55, 24 dic 2012 (CET)
Non credo che sia abilitata l'estensione, penso che Tim schiatterebbe; in realtà, fino a qualche mese fa, i terribili hackers di en.pedia avevano costruito una serie di template (complessissimi) per sfuttare alcune padleft e padright, mi sembra, e aggirare il divieto di Tim. ;-)
Dopo l'esperienza di quote, ho raffinato un template Iwt che agisce in tandem con uno script Iwt e può fare belle cose. Ne vedi un esempio su wikisource, es. s:Wikisource:Autore citato/Isaac Casaubon dopo aver abilitato il gadget "Abilita la transclusione interwiki". Una cosa alla volta però! Adesso il mio obiettivo è quello di costruire uuna pagina-itinerario dummy e implementarci le varie soluzioni possibili, a partire dalla più semplice (transclusione diretta). Immagino che qui esistano tutti gli accrocchi per tabelle e collassabili, vero? Se avrò difficoltà, ti faccio un fischio; ma intanto farò qualcosa di elementare. --Alex brollo (discussioni) 17:20, 24 dic 2012 (CET)
Ti confermo: su en.wiki l'estensione StringFunctions non è abilitata (non ce n'è traccia nella lista di estensioni.... ;-) --Alex brollo (discussioni) 17:24, 24 dic 2012 (CET)
Perfetto, ok. Ho importato qui come gadget Iwt ed è di default per tutti in modo che si posso utilizzare anche per funzioni importanti e visualizzabile da tutti gli utenti senza perdere la velocità di caricamento e avendo il minor dispendio di risorse grazie a ResourceLoader. --Raoli (discussioni) 19:23, 24 dic 2012 (CET)

Buon Natale[modifica]

Ecco, probabilmente ti ho sommerso troppo con le cose da fare, dimenticandomi che è Natale. Tanti auguri e buon riposo! Ciao Raoli (discussioni) 23:29, 24 dic 2012 (CET)

La casa è silenziosa, gli ospiti dormono, e io un'oretta l'ho rimediata. Il Iwt adesso è rivoluzionato; pensato per lavorare su un unico template Iwt per pagina, adesso funziona per un numero qualsiasi di template Iwt per pagina. Vedi test nella mia pagina utente. Però non ho risolto un problema: come gadget, non funzia; funzia se lo script MediaWiki:Gadget-Iwt.js viene brutalmente caricato con un importScript, vedi il mio vector che lavora con il gadget disabilitato. Siamo lontani dalla perfezione, bisogna creare un pulsantino "chiudi", ma la strada è aperta.
Buon Natale anche a te. :-) --Alex brollo (discussioni) 00:09, 25 dic 2012 (CET)
Perfetto! Forse Iwt non supporta ResourceLoader o forse c'era anche un codice da copiare nel Common.js. Cmq la tua prima frase è stupenda e fa trasparire un calmo entusiasmo misto ad una voglia di veder realizzato un sogno. La copio tra le citazioni wikimediane: essa rimane un cioccolatino. Raoli (discussioni) 03:30, 25 dic 2012 (CET)
Ora non funziona. Sbaglio io qualcosa? Raoli (discussioni) 03:36, 26 dic 2012 (CET)

Discussione[modifica]

Puoi tranquillamente parlare con me nella tua pagina di discussione 82.51.123.247 01:28, 25 dic 2012 (CET)

Benissimo! Siccome il tuo TCP/IP è difficile da ricordare e comunque cambia, lo "collego mentalmente" con un nick informale: Anonimo1 (che fantasia eh! :-P ). Intanto, di nuovo buon Natale, Anonimo1. Io sono un fermo sostenitore dell'idea che sul web la cosa importante sono le pure idee, vive e reali come le persone fisiche che le concepiscono; quindi non mi disturba minimamente la tua scelta di perfetto anonimato. --Alex brollo (discussioni) 08:08, 25 dic 2012 (CET)

Re:Come va con la programmazione?[modifica]

Dico la verità, non è che mi sia esercitato tanto su Javascript. Il fatto è che in Java è una palla perchè tocca compilare prima e poi eseguire e ci sta sempre un errore. Non è molto intuitivo, ma la strada del guerriero è dura e solitaria per cui stringo i denti e vado avanti. Sotto Natale, causa Wikivoyage ho interrotto gli esercizi di programmazione a oggetti, ma sta mutando in me qualcosa, che mi dice che devo fare il politico. Non so, ma la prospettiva di passare la vita davanti un computer a programmare non mi piace molto, cioè preferirei starci si, ma non per la maggior parte della giornata. Per il resto comunque mi sto leggendo come applicare la programmazione alla vita reale. Ma credo comunque che andrò avanti. D'altra parte quello che non mi piace è che non ho i risultati subito o perlomeno vedere che succede. Sulla questione Pagina principale non mi è piaciuto quello che ha scritto, come l'ha scritto e il fatto che voglia screditare me (vedi mia pagina di discussione Ora capisco perché sei ). Mi sembra un attaccabrighe e molto semplicisticamente parte dal presupposto che lui ne sa più degli altri. Rispetto il suo diritto all'anonimato, ma penso che dovrebbe contribuire al progetto prima di lamentarsi. Non è che la pagina principale l'ho tirata su così in un click. Quindi sentirsti dire certe cose e in una certa maniera fa male, indipendentemente che è ip o no. Anche io mi inserisco nella categoria Amministratori operatori perchè ho voglia di fare più che di operare. Se possibile vorrei rendere questo wiki qualcosa di sperimentale, cioè qualcosa in cui le idee vengono coltivate e incubate e non per forza bloccate sul nascere. Per questo mi batto contro le persone che fissano i paletti tipo su nessun progetto Wikimedia esiste una pagina principale grigia. Per chi la scrive, la pensa o la fa capire sembra che siccome nessuno l'ha fatto allora non lo deve fare nessuno. Una cosa che mi da fastidio sono quelli che quando si fa qualcosa di nuovo partono in quinta con le critiche, mentre se ne stanno zitte sui vecchiumi che vedono davanti agli occhi. Nel momento del cambiamento tutti criticano o si lamentano. Sono pochi quello che danno un'alternativa. Quindi, se vuoi vedere la pagina principale con l'altra combinazione di colori, basta che vai nelle preferenze --> accessori --> pagina principale e lo cambi: nulla di più semplice. Raoli (discussioni) 03:58, 26 dic 2012 (CET)

L'ho pur detto, che Anonimo1 è secco. Gli attacchi personali poi, basati sulla persona (virtuale) di un nick, a cui chiaramente corrisponde una persona reale, sono sempre antipatici. Ciò nonostante, e fermo il diritto di esporre un'opinione dissonante, ho l'impressione che possa dare qualcosa di buono.
Quanto ai rapporti e similitudini fra Java e Javascript, si possono riassumere in una sola parola: nessuno. Sono perfettamente agli antipodi: il primo compilato e rigidamente "a oggetti", il secondo interpretato e non rigidamente "a oggetti". Il primo richiede studio e fatica per produrre "Hello world", il secondo lo produce istantaneamente con una singola istruzione. Ti re-invito a prendere in considerazione Javascript, anche come linguaggio propedeutico a Python, con cui ha notevolissime analogie. Altrimenti, a chi darò quel poco che so in eredità? :-) --Alex brollo (discussioni) 10:55, 26 dic 2012 (CET)
Hai ragione! --Raoli (discussioni) 17:29, 26 dic 2012 (CET)

Per Anonimo1[modifica]

Tu sai programmare in python o in Javascript? --Alex brollo (discussioni) 10:56, 26 dic 2012 (CET)

javascript me la cavo ma non conosco il sistema usato qui su wiki82.51.123.27 20:30, 28 dic 2012 (CET)
Bè, se ce la faccio io, che sono un assoluto principiante ed autodidatta, sarei felicissimo di spiegarti quel poco che so di "specifico" di wiki e di chiederti qualche dritta. Purtroppo, senza una pagina utente temo che tu non possa memorizzare e utilizzare i tuoi script; a meno che tu non utilizzi quella magnifica estensione di Chrome, Shortcut Manager, che ti permetterebbe di scrivere script esterni e di lanciarli con una combinazione di tasti direttamente dal browser bypassando completamente il sistema di memorizzazione in uno spazio personale wiki.
Una cosa da sapere e tenere presente è che la libreria jQuery è caricata ed attiva in wiki. --Alex brollo (discussioni) 20:40, 28 dic 2012 (CET)
Uso firebug su firefox che permette qualcosa del genere jquey lo conosco molto molto bene purtroppo quello che mi manca è il tempo ma magari un occhiata a qualche problema la posso dare 82.51.123.27 21:05, 28 dic 2012 (CET)
Firefox non ha nulla di simile a Shortcut manager di Chrome. Io ormai uso solo ed esclusivamente Chrome, con la sua console e con gli altri strumenti nativi ottengo ogni risultato che riesco ad immaginare.
Grazie della disponibilità, ne approfitterò parcamente se mi incastro.... :-) --Alex brolloBot (discussioni) 22:28, 28 dic 2012 (CET)
Ok quando vuoi, tieni conto che sto programmando un sito molto complesso che mi prende tutta la giornata e quindi butto qui un occhio ogni tanto, ora che gli edit sono pochi riesco a vedere tutte le modifiche ma se mi dovesse sfuggire un tuo messaggio riscrivi pure P.S dai un occhiata alle richieste per il bot, non mi sembra il caso che le voci rimandino a wikitravels se possibile elimina almeno quelle87.6.185.8 01:47, 29 dic 2012 (CET)
Grazie, me n'ero scordato.... --Alex brollo (discussioni) 08:38, 29 dic 2012 (CET)

Alex hai poi trovato il modo di sistemare il gallerytable che sta intorno al quickbar? 87.16.68.179 16:47, 30 dic 2012 (CET)

Sì: era un banale errore dentro il codice di Common.css (mancanza di una parentesi graffa di chiusura). Adesso la classe funziona regolarmente. --Alex brollo (discussioni) 17:05, 30 dic 2012 (CET)
Si si intendevo il modo di toglierla dato che li non serve a nulla se non a fare confusione anche in vista del fatto forse si cambierà il quickbar 87.16.68.179 19:15, 30 dic 2012 (CET)
Ho guardato il codice di quickbar e mi sono ritratto inorridito come una chiocciola scottata. Mi basta aver sistemato il funzionamento dello style della classe, adesso il float:right funziona, a me basta così. :-) --Alex brollo (discussioni) 09:46, 31 dic 2012 (CET)
Se eventi di forza maggiore non si metteranno sulla mia strada penso di mettere una parola fine a questo quickbar: nome in inglese, codice in mezzo tedesco e italiano, template richiamati a buffo per indicare una sola lettera, cose dell'altro mondo o meglio dell'altr'anno. Come ho messo nel cestino il vecchio Babel così farò per il QuickBar di it.wikivoyage. --Raoli (discussioni) 02:37, 1 gen 2013 (CET)

Richiesta[modifica]

Visto che stai contribuendo principalmente con l'utenza AlexbrolloBot visto che sei amministratore vorrei chiederti se sei favorevole ad unificare su questa wiki i contributi di Alexbrollo con quelli di AlexBrollo bot o preferisci restare così. --Raoli (discussioni) 18:27, 28 dic 2012 (CET)

Due utenze bot non mi servono e quindi se sei d'accordo proporrei:
  1. di unificare le due utenze sotto Alex brollo utente normale (non bot)
  2. di trasferire i "privilegi" di sysop a Alex brollo (mi servono assolutamente per sistemare file di sistema se vi serve una mano: vedi recente modifica di Common.js).
Approfitto per chiederti: quali sono le pagine che protette in modo ricorsivo hanno disseminato di protezioni indesiderate un bel numero di pagine? E quali sono le pagine che certamente vanno bloccate - oltre, com'è naturale, la Pagina principale? E pensate di applicare a qualche gruppo di pagina la "semiprotezione" ossia di riservare l'edit agli utenti registrati? --Alex brollo (discussioni) 18:49, 28 dic 2012 (CET)
Ok. Hai ragione riguardo all'ip: penso di essermi sbagliato, ma anche lui come me. In Speciale:PagineProtette si trovano tutte le pagine protette finora. Mi sembra di aver abolito dove esisteva, la protezione ricorsiva a meno che non andassero protetti anche i template inclusi. Dato l'appianamento che c'è stato sulla questione pagina principale abbasso la protezione agli autoverificati, tanto non hanno mai fatto male. Se e qualora si verificassero atti di vandalismo o modifica indesiderata alla pagina principale la ri-proteggerò subito. Voglio vedere se rendendo la pagina principale modificabile anche dagli utenti, qualche ip si fa utente o giunge da noi qualche nuovo utente. Se dessi un tuo assenso in ognuna delle funzionalità do questo gruppo di discussioni Richieste di funzionalità magari ne trovi qualcuna utile anche su Source. Per la questione unificazione procedo. Raoli (discussioni) 00:30, 29 dic 2012 (CET)
La pagina principale è la prima pagina da proteggere gelosamente: non sproteggerla!!!! Il nsMediaWiki spero che sia protetto di default; io metterei una semiprotezione anche nell'intero nsTemplate e nel nsWikivoyage.
Quanto alle funzionalità e estensioni, a costo di deluderti ammetto di non essere per niente un appassionato, non mi attira l'idea di studiarmele. --Alex brollo (discussioni) 00:40, 29 dic 2012 (CET)
Neanche questa Labeled Section Transclusion? Raoli (discussioni) 05:02, 29 dic 2012 (CET)
X mark.svg Non fatto Non mi viene permesso di rinominare Alex brolloBot in Alex brollo poichè l'utenza Alex brollo, mi dice, esiste già. Hai qualche idea? Raoli (discussioni) 07:05, 29 dic 2012 (CET)
Sì. Se sei d'accordo, dai a Alex brollo lo status di sysop, e poi cancella Alex brolloBot .... oppure lo lasciamo semplicemente così, inutilizzato. Se ho un'utenza sysop bot e un'utenza normale sysop, posso fare tutto quello che serve.
#lst: certo che sì. provocatore.... :-) E anche DynamicPageList. --Alex brollo (discussioni) 08:44, 29 dic 2012 (CET)
Faccio la prima che hai detto. --Raoli (discussioni) 11:49, 29 dic 2012 (CET)
...che non posso fare poichè non posso cancellare un utenza quindi niente. Da norma devo bloccare Alex BrolloBot e dare i privilegi di questo ad Alex brollo. Come ti senti ad avere 3 utenze su 3 come amministratori. Puoi avere sempre la maggioranza dovunque! 3 a 2 Accetti il blocco infinito di Alex brolloBot e il passaggio dei suoi attuali diritti ad Alex brollo? Raoli (discussioni) 11:55, 29 dic 2012 (CET)
Benissimo: ma non tutti i diritti, solo sysop, "leva" pure anche a Alex brolloBot il flag bot. --Alex brollo (discussioni) 13:47, 29 dic 2012 (CET)
Non posso levare diritti, posso solo darli. Devi chiedere a Vito (Vituzzu) che è uno steward di Meta per la rimozione di un flag a meno che non si introduca anche qui come in Source il flood flag: Wikisource:Bar. Raoli (discussioni) 23:04, 29 dic 2012 (CET)
Inviata richiesta di deflagging sysop + bot per Utente:Alex brolloBot a Vituzzu. Appena sarà diventato "utente normale" vediamo il da farsi (potrebbe essere unificato con Utente:Alex brollo bis, il mio utente puppy su wikisource, che uso per "vedere il progetto come utente comune"). --79.24.1.178 14:57, 30 dic 2012 (CET)
✔ Fatto! --Vituzzu (discussioni) 19:17, 30 dic 2012 (CET)
Grazie Vito! --Alex brollo (discussioni) 20:25, 30 dic 2012 (CET)
✔ Fatto anche per quanto riguarda il passaggio dei diritti. Raoli (discussioni) 03:35, 4 gen 2013 (CET)

reindirizzamento[modifica]

Ciao alex ho visto che bot hai inserito gli interwiki, stavo sistemando questo reindirizzo non funzionante [1], ma se funziona il redirect non funziona l'interwiki sbaglio qualcosa io o il bot ha errato? (c'era del codice html che diceva di non modificare sotto quella linea se non sbaglio doveva essere rimosso da tutte le pagine) 82.51.123.27 19:22, 28 dic 2012 (CET)

Sicuramente il tl|Interprogetto va sistemato nella pagina "buona". Dopodichè ci sono due casi: o la pagina di pedia ha esattamente lo stesso nome della pagina wikivoyage (e allora basta la w) oppure ha un nome anche leggermente diverso, e allora occorre usare la sintassi w=nome pagina di pedia.
Il problema di Sipan/Sipán su pedia è che la pagina Sipan è una disambigua (e ritengo sbagliato puntare un interwiki su un redirect o su una disambigua) mentre la pagina Sipán (corretta) non esiste ancora. Suggerirei di puntare su [w:Sipán] anche se non esiste ancora, e di chiedere nel posto giusto ai pediani che se possono creino la voce. Se poi tu frequenti pedia, e sai come si costruisce una voce geografica decente, l'optimum sarebbe che tu scrivessi almeno uno stub, aggiungendo l'interwiki vs. wikivoyage. Io conosco troppo poco pedia, mi ci muovo poco e male: mi intimidisce. --Alex brollo (discussioni) 19:49, 28 dic 2012 (CET)

Nuvola apps important.svg Urgentissimo Nuvola apps important.svg[modifica]

Occorre che il tuo bot importi i template da Pedia. Te la senti? Sono 600 circa. Se si devi anche importare l'intera cronologia di ogni singolo template. Se no, devi supportarmi in Meta perché chiederò il diritto di Importatore che comprende il diritto importupload che permette di importare le pagine. Uso gli imperativi perché questa è la cosa più importante ora da fare entro 24 ore dato che entro il 15 gennaio deve essere tutto a posto e funzionante. A te la scelta. Per me fa lo stesso. Raoli (discussioni) 03:40, 4 gen 2013 (CET)

Troppo poco tempo! Non so nulla della procedura di importazione. E non ho - in 24 ore - il tempo di capirci qualcosa (i miei neuroni viaggiano piuttosto lenti, tranne qualche scatto improvviso e inaspettato...) . Per il supporto in Meta, senz'altro, ma chiedi anche a chi può farlo di farlo (in wikisource ci sono parecchi sysop e in quel progetto sei simpatico!). --Alex brollo (discussioni) 08:32, 4 gen 2013 (CET)
La questione è complicata. È abbastanza difficile spiegare per bene come importare i template e piazzarli qui e poi, non vorrei approfittarmi di altri utenti oltre te e Orbilius. Apro una discussione per il consenso necessario su Meta al Lounge. Raoli (discussioni) 16:01, 4 gen 2013 (CET)
Grazie! Mi servirebbe un aiutino sia per tradurre il contenuto di questa pagina Utente:Raoli/XML in italiano che per decidere cosa vale la pena tradurre e cosa non serve ai fini pratici per chi volesse modificare e importare un file XML. (La prima parte presenta il contenuto tradotto in italiano da Google.) --Raoli (discussioni) 20:38, 6 gen 2013 (CET)

Bot[modifica]

Ciao Alex, prima di riuscire a formulare una richiesta sensata vorrei finire di testare il template Quickbar che sto sistemando il sandbox. A tendere dovrebbe rimpiazzare il template:divisione amministrativa un po' avventatamente importato da 'pedia ma non molto utile (se non dannoso) su questi lidi...Grazie per la disponibilità! Mi farò senz'altro viva nei prossimi giorni --Civvì (discussioni) 21:49, 19 gen 2013 (CET)

OK. Attendo. Se tardo a rispondere dammi una svegliata, per mail (è abilitata) o con un messaggio su source. --Alex brollo (discussioni) 22:05, 19 gen 2013 (CET)

Preload[modifica]

Ciao Alex, ho bisogno di qualcuno che mi metta in condizione di intervenire sul preload. Purtroppo non ho nessuno cui rivolgermi eccetto te. Ciao --Gobbler (discussioni) 22:02, 21 gen 2013 (CET)

Spiegami bene il problema.... a dire il vero non conosco il preload canonico, ma posso realizzarlo con semplici tecniche do it yourself; in totale libertà, quindi; cerca di immaginare (e di riferirmi con precisione) quello che vorresti. E... non aspettarti che ti risponda subito qui.... ti tocca "darmi una svegliata" su wikisource. :-)
Quindi: spiegami bene il problema, se possibile qui, o linkami la pagina in cui ne state parlando. --Alex brollo (discussioni) 16:24, 25 gen 2013 (CET)
Quando vai a creare una nuova voce appaiono in alto nel box di modifica una serie di voci: città sottoregione, quartiere. Io dovrei aggiungerne altre che trovi in :mascheine o nei templates Template stato, Template regione, Template sottoregione, Template città, Template distretto cittadino, Template parco, Template sito archeologico, Template itinerario, Template frasario.

Ne parliamofra 1/2 ora che devo uscire un attimo? --Gobbler (discussioni) 23:38, 25 gen 2013 (CET)

Non sapevo nulla di preload (qua se ne impara sempre una!!!!) ma sapevo dove cercare, ed ecco qui: tu studia questa pagina, MediaWiki:Newarticletext, procedi by example e non dovresti avere alcun problema. Ti ho reso in condizione di operare. Se sbagli qualcosa, invoca S. Rollback e tutto si risolverà d'incanto. --Alex brollo (discussioni) 01:56, 26 gen 2013 (CET)
Gli articoli qui hanno una struttura rigida a differenza di wp. Da qui la necessita del preload. In en/wv fanno così. Ho visto la pagina che mi hai indicato ed è facile, facile apportarvi le modifiche. Volevo solo un consiglio: ci metto le mascherine o i templates? Da uno sguardo a en/wv. Grazie infinite. Poi ho un'altra cosetta un po' urgente.--Gobbler (discussioni) 02:03, 26 gen 2013 (CET)
Come faccio a bloccare la funzione del caricamento immagini nel nostro archivio multimediale?--Gobbler (discussioni) 02:04, 26 gen 2013 (CET)
Se hai tempo da uno sguardo a questa discussione relativa a un probabile bug Discussioni_utente:Andyrom75#Buone idee. --Gobbler (discussioni) 02:14, 26 gen 2013 (CET)
  1. su wikisource abbiamo modificato i link della sidebar lasciando solo quello che punta su Commons; fine del problema. E' vero che "quelli bravi" possono benissimo aggirare la cosa.... ma quelli che continuano a postare locale non sono "quelli bravi" ;-). Ci provo.
    1. Ok; ho nascosto Carica un file e truccato Carica su Commons. Ultime due righe di Common.js.
  2. Vediamo.... ma dopo svolto il punto 1. --Alex brollo (discussioni) 16:21, 26 gen 2013 (CET)
    1. Il secondo problema non l'ho capito... la discussione è scritta in wikivoyagese, lingua che non conosco a fondo.... :-) --79.40.235.86 07:52, 27 gen 2013 (CET)

BOT per benvenuto ai nuovi iscritti[modifica]

Mi ha detto Globber che tu potresti dar mano per realizzarne uno. Ti va? --Andyrom75 (discussioni) 01:12, 2 feb 2013 (CET)

Mi pare che ce ne siano di pronti, nel qual caso riscriverne uno sarebbe tempo perso.
Colgo l'ocacsione per sottolineare che un bot non è altro che uno speciale utente che opera mediante programmi; se questi programmi sono pronti (e ce ne sono una caterva) lanciare un bot può essere la cosa più facile del mondo. A me piace scrivere cose per risolvere problemi specifici; lanciare programmi pronti con Alebot, mi sembrerebbe solo una perdita di tempo. --Alex brollo (discussioni) 17:07, 18 feb 2013 (CET)
allora saresti così gentile da recuperarne uno atto allo scopo? Grazie mille --Andyrom75 (discussioni) 20:43, 18 feb 2013 (CET)
Chi vuole usarlo deve installare python, poi installare pywikipedia (che è una grossa libreria di programmi python). All'interno di pywikipedia esiste il programma welcome.py che fa esattamente quello che chiedi, con un sacco di opzioni. Per lanciarlo non serve la minima competenza nel linguaggio python, ma bisogna avere un po' di "agilità" per installare python e pywikipedia sul proprio pc. Cercansi volontari.... tu pensi di farcela? Puoi "passare voce" per vedere se c'è qualcuno che se la sente? Installata pywikipedia, ci sono parecchi script per bot pronti, fatti apposta per essere lanciati con facilità. Ovviamente potrei dare una mano in fase di avvio (ci sono alcuni piccoli intoppi in cui una mano è una benedizione...) --Alex brollo (discussioni) 21:45, 18 feb 2013 (CET)
Se non è pesante lo installo su un PC muletto che ho riesumato. Visto che la tua preferenza verte sulla scrittura di parser dedicati, non è che ci daresti una mano a svilupparne uno che sistema le immagini utilizzate dal template quickbarcity. Guarda ad esempio la sbavatura su Firenze. E' dovuta ad un cambio di parametri in input. Il parser dovrebbe semplicemente individuare il parametro "image" ed eleminare "[[Immagine:" (o se fosse stato utilizzato File anche File) e "|200px]]" (o qualunque altra dimensione in pexel). Per come è fatto oggi credo che si possa lasciare la "|descrizione immagine" perchè se non erro viene mostrata lo stesso .... sono conscio che un lavoro pulito dovrebbe però prevederne la cancellazione... su questo fai te :-) --Andyrom75 (discussioni) 22:13, 18 feb 2013 (CET)
Vedo. Mi organizzo.... una buona occasione per rispolverare e testare due piccoli script adatti all'uopo (maneggiano template tipo infobox). Tranquillo: python e pywikipedia sono leggeri leggeri. Ti trovi ad aprire una finestra di sistema, cdm.exe o simili? Che windows hai sul muletto? --Alex brollo (discussioni) 23:53, 18 feb 2013 (CET)
Meno male che me l'hai chiesto.... così ho scoperto che lo script sta (senza backup) sulla mia chiavetta USB, che però ho smarrito. Buona occasione per riscriverlo daccapo (e stavolta metterlo là dove deve stare....). Ti chiedo un paio di giorni di pazienza. Lo script di cui parlo si chiama parseTemplate(), trasforma qualsiasi template in un "oggetto" maneggevole, comunque sia scritto e qualsiasi cosa contenga (la cosa non è per nulla semplice....), in modo da poter intervenire a colpo sicuro su un campo/su un parametro specifico. --Alex brollo (discussioni) 10:16, 19 feb 2013 (CET)
PS: Correggete l'esempio ingannatore sul man di QuickbarCity, oppure gli utenti nuovi continueranno a sbagliare! :-) --Alex brollo (discussioni) 23:54, 18 feb 2013 (CET)
Ho corretto l'esempio ingannatore ... grazie della segnalazione ;-) --Andyrom75 (discussioni) 11:42, 19 feb 2013 (CET)
Alex, visto che ci sono: te che traffichi in python, se ti chiedessi una cosa semplice semplice, avresti tempo per farmi uno script ad hoc? sul chan di it.wiki è una settimana che piango con tutti ma nessuno mi aiuta e per adesso mi sono processato un paio di centinaia di pagine a mano, ma di questo passo finisco nel 2020.--Wim b (discussioni) 23:59, 18 feb 2013 (CET)
Ah, è un lavoro relativamente urgente su wikt, ho provato a farlo a mano ma ci mettevo secoli, ho provato a farlo con un software ma ho fatto casino, se tu riuscissi a farlo con un bot, te ne sarei grato, si tratta solo di creare un (o due) liste. Fammi sapere--Wim b (discussioni) 04:23, 19 feb 2013 (CET)
Purtroppo non ho un account bot su it.wiki.... e francamente mi guardo bene dal chiederlo, ho grande ammirazione per gli utenti it.wiki ma non fa per me, mi riempio di bolle. Sono fautore del "piccolo è bello" ;-) --Alex brollo (discussioni) 10:12, 19 feb 2013 (CET)
Sì, hai ragione, mi sono spiegato male, sul chan di wikipedia è dove ho pianto per impietosire qualcuno, però lo script sarebbe per wikizionario, quello è piccolo e bello volendo :). Se non hai tempo e/o voglia non ti preoccupare, continuerò a piangere sul canale irc di wikipedia. --Wim b (discussioni) 11:05, 19 feb 2013 (CET)
In effetti ho preso un wikt per un wiki. Ma non ho un bot nemmeno su wikt; e il progetto lo conosco pochissimo. Tuttavia.... prova a spiegarmi di cosa si tratta, o dammi un link alla descrizione del lavoro se esiste, magari un giro dibot sflaggato una tantum la comunità lo potrebbe accettare. Però sta a te assicurarmi giurin giurello che la comunità e i suoi "capi" (perchè in ogni progetto wiki, alla fin fine, ci sono...) sono d'accordo ;-) --Alex brollo (discussioni) 12:51, 19 feb 2013 (CET)

BOT per quickbarcity[modifica]

Rispondo ai tuoi punti:

  1. immagino che sia stato scritto in tutti quei modi ... di fatto è un campo libero...
  2. li tratti come se fossero buoni, perchè alcune immagini commentate (non tutte) sono buone... non saprei perchè son state commentate in passato...
  3. Corretto. Non so perchè Civvì ha modificato solo il primo parametro. Una volta sistemato chiederemo a lei.
  4. codice bold sul prefisso? A che ti riferisci?
  5. Su questo punto non concordo è meglio lasciare così. Su alcune nazioni ad esempio ho messo anche due riferimenti specificando se si trattasse di una stima o di un censimento.
  6. Parliamone :-)

a questo punto: VAI! :-)

Riuniamo la discussione. Ti segnalo un problema: il campo didascalia dell'immagine. O lo elimino, lo conservo; per conservarlo ci sono varie strategie ma nessuna è semplicissima. Una possibilità è il "campo a valori multipli" per cui nel caso di Lesbo il campo image invece che:
[[Immagine:LocationLesbos.PNG|250px|Cartina dell'isola di Lesbo]]
si scriverebbe:
LocationLesbos.PNG|Cartina dell'isola di Lesbo
ma occorre modificare il template con cura e modificare pure le istruzioni.... :-( --Alex brollo (discussioni) 22:46, 19 feb 2013 (CET)
Come ti avevo anticipato l'altra volta io la descrizione la terrei. Col parser non ragionerei nell'individuare la descrizione, piuttosto nell'eliminare il resto. Mi spiego meglio. togli l'inizio e la fine identificati dalle doppie quadre (ed è quello che fai al momento, suppongo). Poi togli i vari: left, right, center, float, thumb. Poi togli la dimensione in px. Ad ogni eliminazione devi togliere anche un simbolo "|". Se non ho tralasciato nulla ciò che ti rimane è il nome del file con la sua estensione un solo "|" e la descrizione. Che te ne pare? --Andyrom75 (discussioni) 22:49, 19 feb 2013 (CET)
Faccio delle prove a mano; temo che un carattere | isolato impappini il template; in caso di problemi meglio usare {{!}} se ce l'avete (controllo). --Alex brollo (discussioni) 23:53, 19 feb 2013 (CET)
Confermo. Il template si impappina con il solo |, e avete {{!}}, quindi bisogna usarlo. Test su Lione ok. Devo però ricostruire e testare per bene un piccolo "parser di link file" prima di partire. --Alex brollo (discussioni) 00:01, 20 feb 2013 (CET)
Mi sfugge la differenza tra il carattere | e il template ! che lo produce. Non dovrebbero produrre lo stesso effetto? --Andyrom75 (discussioni) 00:04, 20 feb 2013 (CET)
Ho appena fatto una prova che conferma quanto dicevi, ma io continuo a non capire il perchè di tale differenza. Riesci a spiegarmelo? --Andyrom75 (discussioni) 00:16, 20 feb 2013 (CET)
(rientro) Certo. Lo sciocco linguaggio template, che è "mal conformato", prende il carattere | come marcatore di un nuovo parametro, quando è "nudo"; {{!}} invece gli ficca il carattere | dopo che il parser ha deciso quali sono i parametri del template principale e non ci pensa più. ;-) --Alex brollo (discussioni) 00:47, 20 feb 2013 (CET)
PARTITO! Tienilo d'occhio e tieni incrociati "i diti". Se sei amministratore, bloccalo al primo segno di impazzimento....--Alex brollo (discussioni) 00:50, 20 feb 2013 (CET)
Finito. Nota: il programma "normalizza" a suo modo il template su cui interviene, e in questo caso troverai alcuni spazi aggiunti dopo i caratteri "|" che suddividono i parametri; non causano alcun problema al codice, spero che non diano fastidio a voi. Salvo lo script (e i due script parseTemplate() e rewrite()) in una sottopagina di Alebot. --Alex brollo (discussioni) 07:36, 20 feb 2013 (CET)
E' vero, ho capito la differenza, non ci avevo pensato. In effetti attualmente tutto funziona perchè il quickbarcity richiama subito la direttiva "immagine" (o similari), ma se ci fosse un'altro template a parametri si verificherebbe lo stesso problema. Bene a sapersi per il futuro. Leggendo il codice del tuo script (che per altro ha funzionato benissimo: grazie) mi è venuta un'idea. Non è che potresti scriverne una variante per individuare l'uso di parametri errati (perchè inesistenti o perchè scritti male) o mancanti? La lista completa dei parametri la trovi ovviamente sul template. Per omogeneità eviterei di aggiungere i parametri mancanti in fondo, quindi sarebbe opportuno che lo script riordinasse tali parametri in accordo al template. Ho notato che sul quickbar (non city) fu fatta una cosa del genere (a mano o col bot) e per non sbattersi i nuovi parametri son stati messi in fondo, ma questo complica le revisioni. Nel mentre lascio un messaggio a Civvì per estendere la modifica dell'immagine principale anche a stemma e bandiera. --Andyrom75 (discussioni) 08:59, 20 feb 2013 (CET)
Visto che non avevi in mente il problema |, ti metto in guardia riguardo l'altro carattere critico che crea mali di capa: il carattere =. Se un parametro contiene il carattere = "nudo", ossia fuori di una struttura "chiusa" tipo template o link, in un template che funziona con parametri posizionali (senza =), allora succede che lo stupido software interpreta quello che viele prima di = come "nome del parametro" con errori terribili.
Sono entusiasta che tu abbia potuto leggere il codice python. Allora ti dico che sotto sotto ci sono altre due funzioni critiche, che sono le colonne del mio personalissimo stile di programmazione: find_stringa() e produci_lista(), i miei personali strumenti "chiavistello". Fanno cose che sono impossibili via regex - "parsano" le strutture annidate. I parser html e xml (con gran fatica) ci riescono con i tag formalmente corretti (tipo div annidate) ma nulla possono in caso di codici wiki annidati (es. template annidati a n livelli). Non c'è script dove non usi una o entrambe le funzioni. Fra l'altro, possono essere usate anche per parsare rapidamente html o xml, e esendo basati su sola ricerca di sottostringhe senza regex nè complessi sistemi di stack, sono almeno 10 volte più veloci.... forse di più. --Alex brollo (discussioni) 09:36, 20 feb 2013 (CET)
Riguardo al problema del riordinamento del codice template: avrai visto che la funzione parseTemplate becca il template dentro testo e restituisce un dizionario d e una lista l; il dizionario contiene le coppie parametro:valore, la lista contiene i nomi dei parametri nell'ordine di apparizione. rewrite() ricostruisce il template leggendo il dizionatio voce per voce, nell'ordine della lista. Ergo: variando la lista e ridando il dizionario+nuova lista a rewrite(), si può fare quel che si vuole (eliminare parametri-riordinare parametri) e variando qualcosa di rewrite() si può anche ottenere un effetto "beautify" normalizzando gli spazi, indentando un pochino in modo ordinato, eccetera.
Al momento, parseTemplate() gestisce solo template a parametri esclusivamente nominali, esclusi i parametri posizionali, ma posso ritoccare il codice per far gestire questi e quelli (l'avevo già scritto, e l'ho perso....:-( )--Alex brollo (discussioni) 09:44, 20 feb 2013 (CET)
I parametri non dovrebbero essere divisi da un |? Quindi se scrivo: "| condizione = var1 + costante = var2", non dovrebbe essere corretto? nel senso che condizione è il parametro e "var1 + costante = var2" il suo valore...
Sebbene siano anni che non programmo più... ho sviluppato sw per web in php per un paio d'anni e il pytohn è abbastanza simile. ...e comunque ho programmato per metà della mia vita in quasi tutti i linguaggi esistenti all'epoca (quelli non a oggetti per intendersi) quindi sono molto familiare con le strutture e le logiche di programmazione. Io come parser ho sempre usato il perl, è davvero duttile, ma alla fine un linguaggio vale l'altro...
Non vedo la definizione di find_stringa() ma ad occhio estrae dal primo parametro tutti i caratteri compresi tra il secondo e il terzo. Non mi è chiara la funzione del quarto (l'1) e il quinto (che non usi sempre quindi deduco che sia opzionale). produci_lista mi sembra che faccia qualcosa di simile, ma non vedendone il codice non ne sono così sicuro.
Se non erro rewrite(d,l) prende in input i parametri e i valori estratti dal parser, mentre guardando parseTemplate, il suggerimento che posso darti per il riordinamento consiste in:
1) crearti un array con la lista di tutti i parametri del quickbarcity nel corretto ordine.
2) controllare che nella pagina non ci siano altri parametri .... in tal caso categorizzi la pagina come "errata" e dovrà essere corretta a mano (come ho notato che hai già fatto)
3) se non ci sono errori, la riscrivi seguendo l'ordine dell'array e prendendo i valori da quelli estratti dalla pagina.
Ti può tornare?--Andyrom75 (discussioni) 11:17, 20 feb 2013 (CET)
Esempio. Come verrà espanso, per te, questo codice: {{Maiuscoletto|Bianco=Nero}}? Provare per credere. ;-)
I parametri di find_stringa() in forma "discorsiva" significano: dal testo testo estrai la prima stringa che inizia con .... e finisce con ....; nella stringa restituita comprendi (1) o escludi (0) le sottostringhe inizio e fine; e infine stai attento che potrebbero esserci all'interno altre stringhe che iniziano per ...., considerale elementi annidati".
Conclusione: sia testo il seguente:
bla bla bla...{{Maiuscoletto|{{Centrato|parola}}|altro}} bla bla bla....
la chiamata: find_stringa(testo,"{{Maiuscoletto|","{{Maiuscoletto|",1,"{{") mi ristituisce {{Maiuscoletto|{{Centrato|parola}}|altro}} mentre find_stringa(testo,"{{Maiuscoletto|","{{Maiuscoletto|",0,"{{") mi restituisce {{Centrato|parola}}|altro. Senza il parametro finale, la ricerca stringa termina al primo }}, sbagliando. Il numero di annidamenti a cui il template resiste è illimitato. produci_lista() esegue ripetutamente, con identica sintassi, find_stringa(), estraendo la lista ordinata di tutte le strighe trovate nel testo.
Con questi strumentucci, "parso" un orrendo xml da centinaia di megabyte (il dump dell'intera wikisource) in poche decine di secondi... il parser python ci mette un tempo tale che di solito mi stufo di aspettare e chiudo la finestra. ;-) --Alex brollo (discussioni) 11:47, 20 feb 2013 (CET)
Capito grazie mille. Per la verifica dei parametri errati/mancanti e per il riordinamento che ne pensi? --Andyrom75 (discussioni) 12:19, 20 feb 2013 (CET)
Direi di pensarci per bene, in modo dettagliato, e fare una passata generale unica previa modifica (se sarà il caso) anche del codice del template. Riordinare/rinominare/eliminare parametri non sarà un problema (anche rinominare: ho notato che alcuni parametri iniziano con la minuscola, altri con la maiuscola, occorrerebbe decidere uno "stile" e poi renderlo una linea guida generalizzata; una seconda linea guida, che sarebbe molto utile, sarebbe "i nomi dei parametri fatti di una sola parola", ma è duretta). --Alex brollo (discussioni) 12:33, 20 feb 2013 (CET)
Sull'iniziale concordo direi di utilizzare tutte maiuscole (seguendo sia la maggioranza che il layout finale). Su questo punto quando sei pronto fammi un fischio che io modifico il template (e gli altri correlati) e te passi il BOT. Sull'usare solo parametri "mono-parola" temo che non sia fattibile. --Andyrom75 (discussioni) 12:48, 20 feb 2013 (CET)
Ho ritoccato il template, adesso accetta (temporaneamente) entrambe le versioni: image|Image, nome originale|Nome originale. Ti prego di illustrare nei dettagli la proposta in bar (o dove altro vuoi) in modo che non nascano diatribe. --Alex brollo (discussioni) 13:54, 20 feb 2013 (CET)
Dubito che nascano diatribe per una maiuscola/minuscola e per un riordinamento dei parametri (tutte cose invisibili ad un lettore)... Le discussioni vale la pena di farle per i contenuti. --Andyrom75 (discussioni) 14:52, 20 feb 2013 (CET)
Hai ragione.... tuttavia forse sarebbe meglio formalizzare la richiesta nel punto giusto, ossia nella pagina Utente:Alebot/Richieste di intervento, dove chiunque (se vuole) può trovarla. Qui, la trova solo chi segue con attenzione Ultime modifiche. --Alex brollo (discussioni) 15:07, 20 feb 2013 (CET)
Fatto. --Andyrom75 (discussioni) 15:41, 20 feb 2013 (CET)
ATTENZIONE! Ho trovato un bug del parser che hai lanciato! Vedi qui: Bangalore Quando ci sono quattro quadre a fine stringa se le mangia tutte anzichè solo 2! Controlla il tuo codice e poi cerca di capire se ci sono altri casi come questo al fine di sistemarli in automatico (se son tanti) o a mano (se son pochi). --Andyrom75 (discussioni) 18:15, 21 feb 2013 (CET)
Io ho risolto così--Wim b (discussioni) 20:36, 21 feb 2013 (CET)
Wim direi che è ovvio che sia sufficiente inserire due parentesi quadre in fondo :-) quello che mi premeva dire ad Alex è che col bot deve ricercarle tutte e correggerle. In quella pagina ci sono incappato quasi per caso. Un'idea per filtrarle potrebbe essere quella ci cercare tutte quelle che hanno nel campo image "[[" senza le corrispettive "]]" --Andyrom75 (discussioni) 21:15, 21 feb 2013 (CET)

Pagina Richieste di intervento[modifica]

Ho appena creato la pagina Wikivoyage:Bot/Richieste di intervento su richiesta della comunità. Potresti dare una mano a compilarla o a fornirmi links da altri progetti donde possa trarre ispirazione o importarla di sana pianta? Chiedo scusa se la richiesta dovesse sembrarti inopportuna ma è un campo dove mi sento un po' handicappato --Gobbler (discussioni) 18:38, 20 feb 2013 (CET)

Se non ti scoccia, suggerisco di modificare la pagina aperta da Gobbler, al fine di renderla simile alla tua. Mi piace molto l'idea del pulsante che precompila il form. --Andyrom75 (discussioni) 10:47, 21 feb 2013 (CET)

Maledetto parser![modifica]

Ho bisogno di supporto perchè sto girando da più di un'ora intorno ad un problema senza trovarne la soluzione. Il problema che non riesco a risolvere sta su Template:Regionlist. Ti spiego in dettaglio.

Per esigenze pratiche/estetiche ho introdotto la possibilità di inserire titoli che raggruppano le regioni attraverso: {{ #if: {{{region3title|}}} | {{RegionlistTitle|{{{region3title}}} }} }}

Tutto funziona, tranne il fatto che quando i vari "regionNtitle" sono vuoti, il parser pensa bene di inserire questo codice HTML: <p><br /></p>

Se il pezzo di codice nuovo lo colloco nella stessa riga di quello esistente: {{ #if: {{{region4title|}}} | {{RegionlistTitle|{{{region4title}}} }} }} {{ #if: {{{region4name|}}} | {{Regionlistitem|{{{region4color}}}|{{{region4name}}}|{{#if: {{{region4items|}}} | {{{region4items}}}}} {{{region4description}}} }} }}

L'indesiderato HTML non compare più, purtroppo la tabella non viene creata correttamente ... anzi, il risultato è proprio disastroso.

Ho provato a creare direttamente un nuovo template Template:RegionlistRow per evitare la doppia riga. E funziona, pure, però INSPIEGABILMENTE, almeno ai miei occhi, il parametro del colore (e.g. region12color) sebbene trasmesso correttamente, non viene recepito dall'ultimo template (i.e. Legenda) creando un quadrato nero anzichè colorato (come se il parametro fosse vuoto, ma non lo è perchè l'ho stampato).

Dopo mille prove ho messo una bruttissima pezza temporanea abbastanza funzionante, ma vorrei pulire il codice.

Visto che hai più dimestichezza col codice wiki, mi potresti dare una mano?--Andyrom75 (discussioni) 17:02, 21 feb 2013 (CET)

FYI Wim ha fatto un tentativo ma il problema su Mali persiste (la tabella viene creata male e alcuni spazi a più tabella sono ancora presenti). Qualora ti riconnettessi buttaci un'occhio. --Andyrom75 (discussioni) 09:03, 22 feb 2013 (CET)
La logica del template mi lascia molto perplesso, proprio nella sua "filosofia". Io lo costruirei come un insieme di tasselli elementari, ognuno che crei una riga della tabella (un template testata; un template chiusura; un template che crei il boxino regione); quei parametri numerati mi fanno un po' specie. Penso che valga la pena ripensarlo by scratch. Provo in sandbox. --Alex brollo (discussioni) 18:35, 22 feb 2013 (CET)
Il template di fatto fa quello. Se mi dai un 15 minuti ci sentiamo in IRC, così ne ragioniamo realtime. --Andyrom75 (discussioni) 18:45, 22 feb 2013 (CET)
Io ci sono, collegati in IRC che si chiacchiera (vedi link sulla mia home) --Andyrom75 (discussioni) 19:11, 22 feb 2013 (CET)
Hai trovato il link dell'IRC? --Andyrom75 (discussioni) 19:31, 22 feb 2013 (CET)
Scusa... adesso proprio non ce la faccio! --Alex brollo (discussioni) 19:49, 22 feb 2013 (CET)
ok, appena ci sei fammi un fischio almeno ti condivido le mie considerazioni per regionarci meglio insieme. --Andyrom75 (discussioni) 19:55, 22 feb 2013 (CET)
✔ Fatto!!! Il problema era sugli spazi e invii! Guarda il codice, è illeggibile ma perfettamente funzionante! :-D --Andyrom75 (discussioni) 23:56, 22 feb 2013 (CET)
passa su IRC. --Andyrom75 (discussioni) 15:15, 23 feb 2013 (CET)

Input guidato[modifica]

Screenshoot visti. Direi che è un buon inizio. Riesci ad agganciare l'edit ad un tag anzichè ad un titolo? --Andyrom75 (discussioni) 19:04, 23 feb 2013 (CET)

Che tag? Nello screenshot l'edit è agganciato al tag p che contiene la frase (è sganciato dal titolo nascosto). Vedo se hai fatto la bozza di template; il template dovrebbe generare l'intera struttura (titolo h6, p contenitore, contenuto). --Alex brollo (discussioni) 23:39, 23 feb 2013 (CET)
Forse ho capito; ho trovato la pagina dei listing. Guarda in sandbox test e bozza di template Template:See collegato al tag see. Sono in irc e ci sto ancora un po' come Guest39727. La struttura generata dal tag see non è complessa, è un semplice ul con un solo elemento li al cui interno c'è anche la descrizione. Larisposta è sì: posso inserire il link alla fine del tag li, generato dal tag see, sia che sia generato dal tag direttamente che se viene generato dal template. Il titolo di sezione è essenziale per permettere un edit di sezione. --Alex brollo (discussioni) 00:21, 24 feb 2013 (CET)
Scusa ma ieri sono andato a letto presto. Allora ci avviciniamo a quello che ho in testa. Io vorrei eliminare dal template il titolo di sesto livello che hai inserito (i.e. "item"). Per quanto riguarda la maschera di input, visto che ad oggi non riusciamo a ricreare la finestrella potremmo usare lo stesso meccanismo che mi avevi mostrato nell'altra wiki. Il primo step che vorrei implementare è il seguente. Aggiungere ad ogni sezione che prevede un listing (e.g. Deove mangiare, Dove alloggiare, ecc...) un link che sta accanto all'edit di sezione chiamato "Aggiungi voce". E questo guardando i tuoi screen shoot lo possiamo già fare. Una volta che si fa click li, si accede ad una mascherina di input (tipo quella dell'altra wiki) che mostrerà una mascherina di input (se mi dai il link di quella già esistente la creo io quella nuova) che una volta compilata non farà altro che accodare al contenuto di quella sezione, le tutte informazioni inserite incasellate nel tag. Poi una volta implementato e testato l'inserimento passiamo alla modifica. Che te ne pare? --Andyrom75 (discussioni) 09:53, 24 feb 2013 (CET)
Nella mia sandbox trovi già qualcosa, sotto "draft scripts", copiaincollali in console javasctipt e lanciali stando direttamente nella pagina in view. Per accentuare la "novità" dell'approccio io ci metterei, al posto del "modifica" grigino, un'immagine standard di edit: modifica la voce
Penso che nella mia scaletta dovrò affrontare, adesso, la questione del form che è comune sia all'aggiunta che alla modifica di una voce. --Alex brollo (discussioni) 10:44, 24 feb 2013 (CET)
Quando vuoi sono su IRC --Andyrom75 (discussioni) 10:56, 24 feb 2013 (CET)
Ho un'idea per risolvere il problema del "see non HTML". Quando il template see crea il codice wiki/html, deve aggiungere uno span avente come attributo class="see" (il nome poi lo generalizzeremo) e come attributo univoco id="nome voce". Il primo ti serve per intercettare il codice html a cui associare l'edit, il secondo ti serve per estrapolare il testo da modificare. Quando rientri ne parliamo. --Andyrom75 (discussioni) 11:46, 24 feb 2013 (CET)
Per visualizzarlo devo aggiornare qualche js? PS sono su irc. --Andyrom75 (discussioni) 21:23, 24 feb 2013 (CET)
per motivi di esportabilità, vorrei fare in modo che funzionasse anche con il solo tag di estensione. Altrimenti, sarebbe stato meglio "rullare" il tag e scrivere daccapo un template. Vediamo il parsing di <see.... /> come va... devo ripassarmi per l'ennesima volta le regex (maledeeeeetteeee!) --Alex brollo (discussioni) 22:54, 24 feb 2013 (CET)
Sicuro che devi procedere col parsing di see? La tua osservazione sul fatto che non esiste in html era corretta. Secondo me, come ti dicevo sopra, va cercata una classe predefinita all'interno di uno span che sta dentro un ul/li che sta all'interno della sezione di competenza. Quindi a naso tramite js dovresti accederci gerarchicamente con qualche if. --Andyrom75 (discussioni) 23:03, 24 feb 2013 (CET)
In realtà, non ce n'è bisogno. Se si segue il modifica grigio, si arriva in una sezione dove c'è un unico blocco h6 seguito da un unico blocco ul che contiene un unico li; quindi, una struttura univoca. Il bello di lavorare per sezione e non sull'intera pagina è questo. Il form è costruito; adesso manca la routine che dal form editato ricostruisce il codice template. Infine manca l'aggancio allo script che apre il form in automatico in fase di modifica. Questa è una cosa un po' delicata, ma c'è in chiaro il nome del tag (es: {{#tag:see ) e questo dovrebbe essere sufficiente, avendo sottomano l'elenco dei tag possibili. Ok, per ora rinuncio al parsing diretto del tag. --Alex brollo (discussioni) 23:49, 24 feb 2013 (CET)
il vantaggio dell'uso dell'H6 m'è chiaro, ma resto dell'opinione che prima d'implementazione in massa delle maschere di input, dovremmo slegarlo da quel tag. Mi rendo conto che è più laborioso da un punto di vista di programmazione, ma verrà fuori un codice wiki più pulito e senza vincoli. Ora vado a letto che domani faccio una levataccia. --Andyrom75 (discussioni) 00:19, 25 feb 2013 (CET)
Ok, grazie mille per la spiegazione, e lungi da me dal considerarti ottuso :-) Allora dai, terminiamo questa prima fase che è importante per più wiki e poi successivamente vedremo come modificarla. ...e sempre grazie per il tuo supporto --Andyrom75 (discussioni) 09:42, 25 feb 2013 (CET)
Ci sei su IRC? Per circa 45 min dovrei esserci. --Andyrom75 (discussioni) 11:31, 25 feb 2013 (CET)
No.... :-( Non accedo da qui. --Alex brollo (discussioni) 11:54, 25 feb 2013 (CET)
Anzichè nasconderlo, è possibile mettere il classico riquadro di testo in sola lettura? (se vuoi sono in IRC) --Andyrom75 (discussioni) 19:23, 25 feb 2013 (CET)

QuickbarCity: Posizione[modifica]

Ho bisogno di un check al volo. Potresti lanciare il tuo bot per vedere se il template contiene una delle seguenti due casistiche:

  1. | posizione=no
  2. | posizione=nein

Se non esistono tutto ok. In caso contrario mi servirebbe la lista degli articoli che li contengono. E' che ho corretto un bug di tale template, ma non vorrei averne introdotto un'altro come side-effect :-) --Andyrom75 (discussioni) 13:36, 24 feb 2013 (CET)

In questi casi, perchè non aggiungere al codice template un "generatore di categorie di errore"? Ci provo (sono alle prese con il debug di parseTemplate(), WIP). --Alex brollo (discussioni) 22:07, 24 feb 2013 (CET)
In effetti così è molto più veloce :-) --Andyrom75 (discussioni) 22:25, 24 feb 2013 (CET)
Perfetto: non ce ne sono, allora la patch è andata a buon fine. :-) ...non sono molto presente perchè sto impazzendo con la redazione di una Tematica... vorrei finire entro stanotte --Andyrom75 (discussioni) 22:50, 24 feb 2013 (CET)
Non è detto... ci vuole un po' di pazienza; il purging generale viene fatto a cadenza di 24-48 ore. Riguarda domani e dopodomani. --Alex brollo (discussioni) 22:51, 24 feb 2013 (CET)

Input guidato 2[modifica]

Basta col vecchio thread era troppo indentato :-). Senti, a parte la considerazione che ti ho scritto sopra, devo tornare a petulare sul tema dell'H6 Vs. Tag. Un side effect di questa scelta è che nel log anzichè venir salvato il nomer della sezione "percepita dall'utente" (e.g. Dove dormire) viene chiaramente salvata la sezione "reale del codice" (i.e. quella nell'H6). Come ovvia patch possiamo mettere i due nomi uguali, ma temo che di cerotto in cerotto ci si possa incartare nel lungo periodo. ...ti prego, non odiarmi: lo faccio a fin di bene :-) ... e comunque complimenti per il risultato, che a parte i problemi con cui ti assillo è ben fatto ;-) --Andyrom75 (discussioni) 19:35, 25 feb 2013 (CET)

Il sistema ignora completamente il titolo di sezione. Potremmo usare il parametro "name" del tag. Ci provo, non è difficile. C'è una ulteriore possibilità: disabilitare completamente (se c'è il form) l'edit dell'area testo. Che ne dici? --Alex brollo (discussioni) 11:27, 26 feb 2013 (CET)
Toolserver dà i numeri.... comunque funzia: in effetti il nome di sezione è totalmente indifferente. Al omento il gadget non funziona, l'ho disabilitato e ho abilitato di nuovo il mio vector.js. Non so cosa pensare (ma sospetto toolserver). --Alex brollo (discussioni) 12:11, 26 feb 2013 (CET)
L'area di testo deve essere in sola lettura, anche perchè quando fai salva viene sovrascritta. Immagino già gli sproloqui di chi si è confuso... Per il log, analogamente a quanto accade su wt è opportuno che venga salvata la reale sezione. A naso immagino che carichino l'intera sezione, ma editino solo una porzione di testo che nel caso di add listing viene accodata, mentre nel caso di edit listing viene sostituita alla precedente. ...non so se mi sono spiegato... --Andyrom75 (discussioni) 12:13, 26 feb 2013 (CET)
Al momento no, non viene sovrascritta sempre; se salvi normalmente con il pulsante solito (in basso) si salva solo la textarea e il form viene ignorato. Ma sono d'accordo sul metterla a sola lettura. In questo momento, però, se uno salva con il pulsante inferiore (il normale) dopo aver editato il form ma non salvato su textarea, perde l'edit.... devo pensarci. la seconda parte del tuo messaggio non la capisco bene... --Alex brollo (discussioni) 14:40, 26 feb 2013 (CET)

Template:MappaComprimibile[modifica]

Su richiesta di Gobbler ho cercato di sviluppare questo template ma ha due problemi.

  1. l'etichetta si posiziona nella riga successiva anzichè amalgamarsi col testo
  2. ogni tanto non compare la mappa e resta lo sfondo grigio

Ci puoi dare un'occhiata? --Andyrom75 (discussioni) 01:30, 26 feb 2013 (CET)

L'immagine non mi si visualizza; c'è una pagina dove hai provato a usarlo? Non trovo nulla in "puntano qui". --Alex brollo (discussioni) 16:09, 26 feb 2013 (CET)
Uso la pagina stessa. Ho fatto mille prove. Se tiro fuori il blocco dell'openmap si vede benissimo. Se lo lascio dentro spesso (non sempre) la visualizzazione va a gallina. Ho fatto anche una versione più semplice da un punto di vista di JS, ma ha lo stesso problema. Il vantaggio di questa seconda versione è che ho risolto il problema dell'allineamento, mi sono però arenato per inesperienza su wikipedia: non so come pubblicare codice html. Per tua info salvo questa seconda versione su Utente:Andyrom75/Sandbox‎ così gli dai un'occhio. --Andyrom75 (discussioni) 16:43, 26 feb 2013 (CET)
Intravedo due problemi.
  1. non si possono includere "tag di estensione" in un template (come see di cui mi sto occupando): occorre usare la sintassi {{#tag:}} o rinuciare.
  2. non si possono includere nel codice wiki alcuni tag html ed in particolare il tag a in nessuna delle sue varianti.
detto questo, e manomesso il codice del template MappaComprimibile,


fammi vedere qui una mappa funzionante. Che estensione produce il tag slippymap? Non sono mica riuscito a trovarla.... :-( --Alex brollo (discussioni) 18:35, 26 feb 2013 (CET)

slippymap lo trovi dentro Template:OpenStreetMap. Tra i vari tentativi ho provato anche a bypassare tutti i template per vedere se c'era qualche interferenza. Quando dici mappa funzionante intendi "comprimibile"? PS Devo passare a far la spesa ma se dopo ci sei (e sarebbe più semplice chiacchierare realtime) ne proviamo a discutere un po' --Andyrom75 (discussioni) 18:52, 26 feb 2013 (CET)
Buone notizie. Niente da fare con i tool standard; ma come vedi dal template semplicemente includendo l'immagine (che è un iframe) in una div a assegnandole uno stile di default display:block, tutto va bene; e modificandolo in display:none, l'immagine sparisce; e di nuovo dando display:block ricompare! Questa è una strada; bisogna lavorarci un po' su ma con questo sporco trucco si può costruire una buona emulazione del "mw-collapsible". --Alex brollo (discussioni) 19:24, 26 feb 2013 (CET)
Il meccanismo mi era chiaro, infatti avevo implementato la funzione VisibilitySwitch dentro Utente:Andyrom75/common.js che con le immagini statiche funziona egregiamente, ma con l'openmap mi dava i problemi di cui sopra. Il link che volevo inserire (vedi mia sandbox) mi serviva per attivare l'onclick. Apprendo che non lo si può inserire direttamente da codice, ma magari lo si riesce a costruire tramite js, che ne pensi? --Andyrom75 (discussioni) 19:32, 26 feb 2013 (CET)
Certo che si può! Ma per semplificare il codice di MappaComprimibile: perchè non montarci dentro semplicemente il template OpenStreetMap? Ci provo. Poi guardo il tuo codice. --Alex brollo (discussioni) 20:26, 26 feb 2013 (CET)
e' la prima cosa che avevo fatto e poi (come ti ho scritto sopra) ho fatto altri tentativi tra cui slippymap. Non cambiava nulla. --Andyrom75 (discussioni) 20:46, 26 feb 2013 (CET)
Ci siamo. Con il template così com'è :
function viewtoggle() { 
    if ($(".slippymap .thumbinner").css("display")=="block") {
         $(".slippymap .thumbinner").css("display","none");
         $(".slippymap span").text("mappa");
    } 
    else {
         $(".slippymap .thumbinner").css("display","block");
         $(".slippymap span").text("nascondi");
    } 
}
$(".slippymap span").attr("onclick","viewtoggle()");

--Alex brollo (discussioni) 23:01, 26 feb 2013 (CET)

il codice js sembra buono, ora lo provo. Se come immagino funziona gli faccio solo due ritocchini. --Andyrom75 (discussioni) 23:16, 26 feb 2013 (CET)
per il js vedi da Gobbler, mentre per le tue idee, direi che sono osservazioni corrette, però le affronterei una volta che abbiamo terminato il codice su tutti gli aspetti base e che lo abbiamo implementato in una pagina di prova in cui sono presenti parecchie mappe, giusto per valutare l'effetto grafico attuale e capire meglio in quale direzione andare. --Andyrom75 (discussioni) 08:25, 27 feb 2013 (CET)
da quello che ho evinto guardando un po' il comportamento dei div, non è possibile inserire il testo in esso contenuto in linea ad un paragrafo di testo (quanto meno in modo compatibile con tutti i browser). Non so se a te viene in mente qualcosa in tal senso. L'unica strada che vedo è legare una label esterna al div (che chiaramente può essere piazzata ovunque) alla mappa (che sta dentro il div). La strada è un po' laboriosa ma forse con qualche id univoco si dovrebbe poter percorrere. In alternativa, usando una soluzione tutt'altro che generale, potremmo pensarla alla rovescia, ossia, tenendo conto della sua applicazione, mostrare la mappa per albergo, ristorante ecc..., potremmo inserire il testo della struttura all'interno del div, prima dell'etichetta che attiva la mappa. Se sfondiamo col caso A abbiamo un bell'oggetto generico utilizzabile ovunque, altrimenti abbiamo un semplice caso B che va personalizzato su ogni template. --Andyrom75 (discussioni) 09:23, 27 feb 2013 (CET)
se su Utente:Andyrom75/MappaComprimibile.js ci puoi scrivere anche te va bene. (ho notato che io sulla tua vector.js sono in sola lettura, ma forse è una questione di privilegi) --Andyrom75 (discussioni) 10:03, 27 feb 2013 (CET)
Prima lezione di sysop candidato.
I sysop scrivono su qualsiasi pagina js (sia di sistema, sia personali dell'utente) mentre gli utenti normali scrivono solo le pagine js sottopagine della propria pagina utente. Quindi tu potrai scrivere sulle mie pagine Utente:Alex brollo/.....js non appena avrai i tastini; io invece, con l'utenza sysop/bot che ho sotto Utente:Alebot, potrei scrivere sulle tue (e visto che mi dai il permesso, posso). --Alex brollo (discussioni) 11:31, 27 feb 2013 (CET)
Ottimo. Allora nel frattempo ho creato la js separata, inoltre ho risolto il problema del testo in linea estraendo lo span dal div. Ho impostato anche che la mappa inizialmente è chiusa. Ho provato inoltre anche a modificare l'attributo block della mappa a inline, ma inspiegabilmente (quanto meno non sono riuscito a spiegarmelo...) non funziona, nel senso che la mappa da nascosta compare, ma poi non scompare più. Sicuramente è un problema di un if, ma mi sembrano scritti bene. ...a parte la curiosità personale per vedere l'effetto non è nemmeno detto che serva l'inline... --Andyrom75 (discussioni) 11:48, 27 feb 2013 (CET)
Mi sa che adesso è giunto il momento di implementare un ID univoco, perchè se sono presenti più mappe, il toggle influisce (erroneamente) su tutte. Inoltre è tornato lo spettro dello sfondo grigio per la seconda mappa, che a naso reputo legato sempre al discorso dell'ID non univo. Ora imposto la Template:MappaComprimibile/man con due mappe così facciamo le prove li. --Andyrom75 (discussioni) 11:58, 27 feb 2013 (CET)
Un ID univoco non è necessario: vedi caso dei listings. Basta specificare il percorso nel DOM che unisce il bottone alla mappa. Il bottone sta in uno span figlio di slippymap e fratello di thumbinner: quindi se diciamo in jQuery qualcosa come "io sono lo span cliccato; modifica il display di mio fratello thumbninner" (e si può fare) non serve impelagarsi in un ID, e si evita pure il bug di wikitravel. ;-)
Tu prepara e predisponi, stasera dò una bella occhiata.... --Alex brollo (discussioni) 13:21, 27 feb 2013 (CET)
Quello che dici è corretto quando entrambi stanno dentro ad uno stesso div e quindi sono fratelli. Però per mettere il linea il link che attiva/disattiva la mappa, ho dovuto togliere lo span dal div e di conseguenza non sono più "parenti" :-) è per questo che mi serve un id per collegare il link alla mappa. Non so se mi sono spiegato. --Andyrom75 (discussioni) 14:16, 27 feb 2013 (CET)

Gira[modifica]

La funzione js è fatta! Fuori da wiki funziona pefettamente, ma dentro wiki ho il seguente problema, gli id che imposto da js non sono gli id che vengono impostati nel codice e non so se questa è una cosa normale/standard che con una piccola variante al js si aggiusta tutto, oppure devo procedere diversamente. Esemplifico. Nel /man ho impostato i seguenti due id: "1" e "seconda mappa", ma nel codice html mi trovo nello span: "span1" e "spanseconda_mappa" mentre nel div "div1" e "divseconda_mappa". Se questo è un comportamento normale, aggiusto il codice per fargli leggere gli id con quella codifica, se non è normale va risolto in altro modo. --Andyrom75 (discussioni) 16:37, 27 feb 2013 (CET)

Risolto; mancavano due virgolette "escappate" :-) --Alex brollo (discussioni) 16:49, 27 feb 2013 (CET)
Grazie mille. Curioso che a causa dell'assenza delle "virgolette" si mi modifica l'id in quel modo. Adesso mi faccio una pagina di prova per vedere la mappa in un contesto reale e poi decidiamo come svilupparla (i.e. incasellarla meglio nel testo, o creare una finestra volante). --Andyrom75 (discussioni) 17:06, 27 feb 2013 (CET)
Pagina di test fatta, il risultato estetico non è male già com'è adesso. C'è da risolvere un paio di punti. Uno tecnico, quindi come sempre risolvibile ;-) l'altro statistico/filosofico, al quale dobbiamo trovare una soluzione tecnica (la più pulita possibile). Guarda Utente:Andyrom75/Sandbox; i problemi li ho evidenziati con gli alert. Premessa, ho scelto come id il nome che l'utente da all'item, ci può esserci scritta qualunque cosa. In fondo trovi il problema tecnico: i caratteri speciali compromettono il codice, quindi va utilizzata una funzione di codifica. A metà trovi il caso in cui due o più item hanno lo stesso nome (statisticamente è davvero difficile che accada, ma in ogni caso va gestita l'eccezione). Idee per una stringa univoca da appendere al nome dell'item? --Andyrom75 (discussioni) 17:39, 27 feb 2013 (CET)
Con il nuovo codice in Utente:Andyrom75/MappaComprimibile.js l'ID non serve più. onclick passa direttamente l'oggetto DOM (this) e viewToggle lo riceve; e cerca "l'elemento zio", fratello del padre. Che è la div contenitore della mappa. --Alex brollo (discussioni) 19:28, 27 feb 2013 (CET)
La modifica del this nella seconda parte mi piace molto, la vedo solida e sintetica. Su quella precedente ho una perplessità per la poca familiarità col jQuery: se modificassi la struttura del template il giochino ".parent().next()" funzionerebbe lo stesso o no? A naso mi sembra legato al disegno del template. Se così fosse, preferirei (se possibile) trovare una soluzione che sfrutta le informazioni contenute nel this per individuare univocamente un oggetto (come hai fatto nella seconda parte), ma senza passare dalla struttura dell'HTML perchè magari potrebbe cambiare in futuro (prossimo o remoto). L'uso dell'attributo ID svincolava dalla struttura ma aveva i problemi che ti accennavo prima. ....ora mi faccio un tortellino e poi mi connetto su irc ;-) --Andyrom75 (discussioni) 19:49, 27 feb 2013 (CET)
Tramite anchorencode ho codificato gli id; teoricamente nel modo corretto. Però ho notato che se l'id contiene un punto (".") la funzione s'inceppa. E' la prima volta che mi capita di avere problemi col carattere "punto". Idee?
Strano!!! A me funzia con lat e long che ne contengono; per gli ID tutti i caratteri a-z A-Z 0-9 .:_ sono permessi. Vado a vedere. --Alex brollo (discussioni) 22:51, 27 feb 2013 (CET)
Ho letto il tuo commento sulla modifica, ma i primi id che usai erano "1" e "2" e funzionavano bene. Adesso invece (anche con l'iniziale A) se c'è il punto non vanno :-( ... non capisco... Nell'attesa che io capisca: si può fare agilmente un replace su wiki? --Andyrom75 (discussioni) 23:10, 27 feb 2013 (CET)
Wiki per me è off limits. Dov'è quel template con punto che incastra la mappa? In ogni caso, rollbacka pure se ti va; il formato per gli ID li ho trovati come raccomandazioni ufficiali. --Alex brollo (discussioni) 23:17, 27 feb 2013 (CET)
In alternativa che dici, faccio un replace "postumo" da jQuery? PS ho letto solo ora quello che scrivevi su irc, mi si era incantato lo scrolling e t'aspettavo in vano :-))) Il problema delle stesse coordinate (ergo lo stesso id) di due item in una stessa pagina è che se facciamo click sul secondo, la mappa che viene aperta è quella del primo, che potenzialmente potrebbe anche essere in una posizione non adiacente obbligando il lettore a scorrere la pagina. --Andyrom75 (discussioni) 23:20, 27 feb 2013 (CET)
Mi è sfuggito un tuo commento sulle mappe popup (che comparirebbero fisse sullo schermo senza scrollare con la pagina, e dovrebbero avere un loro sistema di chiusura). Quella sarebbe una soluzione per il problema degli id sinonimi. --Alex brollo (discussioni) 23:28, 27 feb 2013 (CET)
Si, se facciamo comparire una finestra flottante, il problema è risolto. Ma non saprei come fare. Servono per caso degli attributi sul DIV o è necessario qualcosa di più? PS Per il punto ho anche provato un $(this).attr("id", $(this).attr("id").replace(".", "x") ); che funziona nel ripristino, ma incredibilmente non funziona il toggle.... --Andyrom75 (discussioni) 23:38, 27 feb 2013 (CET)
che pirla! Avevo invertito 2 istruzioni.... ora va aggiorno il template e forse è il caso che vado a letto :-))) --Andyrom75 (discussioni) 23:56, 27 feb 2013 (CET)
Abbi pazienza, che mi ci butti un'occhiata? Fuori da wiki funziona correttamente, mentre su wiki no. Non capisco perchè. --Andyrom75 (discussioni) 00:18, 28 feb 2013 (CET)
Tramite "position: fixed;" faccio comparire la mappa sopra il testo. Facendo così l'impaginazione dell'articolo resta immutata, però va gestito il caso di un articolo piccolo in cui non è possibile fare scrolling e se la mappa compare proprio sopra il link nascondi, questa non si può più chiudere. Vedo due strade: farla comparire altrove (sarà possibile?) o aggiungere un link di chiusura proprio sulla mappa. Facci una pensata. Tieni presente che la mia spada di Damocle è quel maledetto puntino.... --Andyrom75 (discussioni) 09:51, 28 feb 2013 (CET)
Direi di lasciar perdere per ora il fixed-draggable.
Il puntino è doppiamente eliminato con un replace regex (il replace semplice javascript fa solo 1 rimpiazzo) e in più sommando lat+lon e moltiplicando per 100000 (risulta un numero intero). Per ora mi fermio qui. --Alex brollo (discussioni) 11:11, 28 feb 2013 (CET)
Davvero furba l'idea della moltiplicazione! Non c'avevo pensato! Complimenti! :-) E l'espressione regolare (che comunque mi sa essere sufficiente) supplisce anche ai puntini che si trovano nel nome della struttura (e.g. Azienda S.p.A.). Ho letto in giro che il fixed-draggable non è una cosa immediata. Provo comunque a perderci un po' di tempo perchè potrebbe essere utile anche per la mascherina di input in stile wt. --Andyrom75 (discussioni) 11:44, 28 feb 2013 (CET)
Draggable implementato con successo! E' stato più facile del previsto. :-) C'è un altro aspetto che non mi piace e vorrei cambiare. Durante il caricamento della pagina vengono mostrate le mappe che poi vengono nascoste dinamicamente dal js. Questo è davvero brutto. Ho provato ad inserire direttamente nel codice style="display:none;" (al posto di style="display:inline;) nel div della mappa, ma questo rovina il meccanismo di toggle (e non ne capisco il motivo). Idee? --Andyrom75 (discussioni) 12:13, 28 feb 2013 (CET)
Grazie della patch. Con bottom:100; su Utente:Andyrom75/Sandbox visualizza la mappa in un punto non visibile/accessibile dello schermo. So che c'è perchè col "find nome struttura" trova due occorrenze quando apro la mappa. Se ripristino bottom:0 la mappa funziona ma torna il problema della visualizzazione durante il caricamento. Come soluzione ho pensato di azzerare bottom tramite js a valle del caricamento e sembrerebbe funzionare. Visto c'ero ho fatto tutto in un unico ciclo (dovrebbe essere più veloce). Però, come al solito :-), accade qualcosa di non previsto. Premesso che non è normale che pagina del template e quella del Sandbox si comportino diversamente (come col bug sopra citato), ho notato che se faccio "un po'" di refresh del template (con F5), accade che le mappe restano visualizzate (a volte nemmeno tutte), come se ad ogni refresh si attivasse il toggle. Non capisco... --Andyrom75 (discussioni) 15:16, 28 feb 2013 (CET)
Ottimo, con la sincronizzazione "onload" il bug del refresh è risolto. Resta il fatto che sul template (non sulla sandbox), quando carico la pagina, vedo le mappe prima che vengano oscurate (io uso Chrome). Te lo fa anche a te? Se si, hai idea del perchè? Ho provato a impostare display:none al div della mappa, fiducioso del suo effetto e ho fatto una preview, ma non ci son stati cambiamenti. PS L'idea di chiudere tutte le eventuali mappe aperte nello schermo quando se ne apre una nuova non era male, l'hai commentata per un motivo specifico? --Andyrom75 (discussioni) 17:00, 28 feb 2013 (CET)

Rientro[modifica]

Stai facendo dei passi da gigante.... l'altro giorno non conoscevi jQuery e adesso lo maneggi.... che invidia: io ho dovuto fare più tentativi e ci ho messo settimane ....

Allora. La chiusura di tutte le mappe al momento del click su un pulsante "mappa" (bisognerà metterci un'iconcina, prima o poi...) è buona ma come l'ho scritta non funzionava. Ci arriveremo.

Al momento non ho idea del perchè avvenga il fenomeno della visualizzazione in caricamento; ma tentando di impostare inizialmente display:none, ricevo un errore.

C'è un altro problema che forse non hai ancora incontrato. Tutto l'ambaradan si sfascia se la frase, a cui è accodata la mappa, è preceduta da un codice wiki che viene espanso in una lista: vedi "La Piazzola" nella tua Sandbox. Questo (ovviamente) mi ha frustrato nel tentativo di mettere la mappa dentro un template listing, che al momento prevede di default un * iniziale.

Un'altra cosa. Avrai notato che la "maniglia" automatica per la funzione draggable è il margine inferiore dell'immagine, là dove sta scritta la didascalia. Quello, secondo me, è lo spazio giusto per infilarci un'icona "chiudi". Come infilarcela, non so ancora ma non dovrebbe essere impossibile. Forse anche altre iconcine, se serve qualche funzione furba utile a mappa visualizzata.

Infine, sarei curioso di capire cose succederebbe se tentassimo di rendere la mappa non solo draggable(), ma anche resizable(). ;-)

A questo punto devo però abbandonare le mappe nelle tue mani.... e dedicarmi ai listing. Procedi tu, ormai penso che tu abbia esperienza sufficente! --Alex brollo (discussioni) 17:56, 28 feb 2013 (CET)

Non farci caso, sono un essere strano... a 8 anni ho scritto le mie prime istruzioni in basic sul Commodore 64 :-) Poi purtroppo per scelta di vita circa 7 anni fa ho cambiato completamente lavoro dando l'addio a computer, progettazione e programmazione. Mi diverte molto "risporcarmi le mani" con questo jQuery :-) L'aspetto negativo è che rispetto ai miei ricordi mi sento davvero un impedito perchè non riesco a fare subito quello che ho in testa; mi sento come un ottantenne che da giovane ha fatto il centometrista! :-) Ma torniamo a noi... Alla chiusura globale, al resizeable e al pulsante di chiusura provo a darci un'occhiata stasera. A tal proposito pensavo di spostare la didascalia in alto anche perchè è più comoda da cliccare per gli spostamenti. A me il display:none non dava alcun errore (o quanto meno non l'ho notato) semplicemente non fungeva; che errore ti dava?
Quando la mappa è all'interno del testo descrittivo del listing mi sembra che funzioni bene (vedi sand box), mentre quando è nella lista puntata hai ragione, non va. Proverò a ragionarci un po' su.
Ah e non sperare di non essere interpellato ogni qual volta che mi blocco! Saresti un illuso! ;-) --Andyrom75 (discussioni) 18:57, 28 feb 2013 (CET)
Ho bisogno di un supporto. Ho impostato il resizeable ma non è ancora terminato. Vorrei fare le seguenti cose ma ho diverse difficoltà:
1) Durante il resize del div più esterno, vanno ridimensionati anche tutti gli elementi al suo interno. Ho provato una strada laboriosa: forzare le dimensioni degli elementi interni ma sembra funzionare (parzialmente) solo per l'altezza. Forse una soluzione più elegante è tramite l'uso dell'opzione alsoResize, ma mi sono incartato col resto e non c'ho nemmeno provato.
1bis) tutte quelle istruzioni relative alla forzatura, volevo implementarle col this all'interno del ciclo MappaComprimibile, ma non sapevo come legare il this ai tag sottostanti (p e iframe). Anche se trovi una soluzione più elegante, fammi sapere come si fa che son curioso
2) Il movimento del resize è davvero macchinoso, spesso capita che "s'incanti". Non so se è perchè l'ho implementato male o se è la sua natura. Penso la prima, perchè ho fatto delle prove con un div vuoto e il movimento è piuttosto fluido.
Per quanto riguarda il fatto che le mappe vengono mostrate all'inizio, immagino sia dovuto al fatto che le nascondiamo all'onload, quindi c'è un ritardo tra quando compaiono e quando scompaiono. Dovremmo impostargli il display:none fin dall'inizio. Fammi sapere che errore ti da. Io ho provato su wiki e funziona tutto tranne il "solo" fatto che manca la mappa dentro :-)
Unica nota positiva della serata è che ho implementato il "chiudi tutto". Il codice potrebbe essere ottimizzato con un filtraggio sulla prima istruzione e un ciclo con this sulla seconda, ma visto che non lo so fare di getto ho desistito :-))) --Andyrom75 (discussioni) 23:16, 28 feb 2013 (CET)
A 8 anni sul Commondore 64? Adesso mi spiego perchè annusavo una certa agilità nella programmazione: sei un ragazzino! A quell'epoca io ne avevo più di trenta.... :-P
Sto esaminando il problema add listing, non è affatto banale ma pochi minuti fa mi è venuta un'idea creativa (sempre sfruttando le normali caratteristiche del software mediawiki corrente). Se è come penso, non è affatto terribile :-) --Alex brollo (discussioni) 00:53, 1 mar 2013 (CET)
Ho iniziato l'evento resize all'interno della funzione resizeable ma ha ancora parecchi bug... vado a letto, ma magari dagli un'occhiata. Questa dovrebbe essere la strada buona per fare un resize fluido e con un codice pulito. --Andyrom75 (discussioni) 00:57, 1 mar 2013 (CET)
Mi rifiuto tassativamente. Se mi sfugge l'idea dei listing chissà quando la ritrovo. --Alex brollo (discussioni) 01:03, 1 mar 2013 (CET)
Si può fare. Si può identificare le sezioni che contengono listing, e ciascuna delle eventuali sottosezioni. Si può aggiungere al [modifica] un link [aggiungi listing] quasi identico (lancia sempre un edit della sezione) ma truccato in modo che l'edit della sezione abbia un aspetto particolare. Ci siamo quasi, con un meccanismo totalmente diverso da wikitravel (tanto da non essere nemmeno lontanamente parente). --Alex brollo (discussioni) 01:39, 1 mar 2013 (CET)
Non so come l'hai pensato, ma secondo me l'add listing dovrebbe fare semplicmente un banale append al testo di sezione. Il nome sezione (che deve essere standard per tutte le pagine) identifica il tipo di listing da usare (do, buy, drink, ecc...) e di conseguenza apri il form relativo. Una volta compilato, appendi al salvataggio. (sicuramente è più facile a dirsi... :-)) --Andyrom75 (discussioni) 09:00, 1 mar 2013 (CET)
Eheheh... anch'io lo pensavo, ma noi dobbiamo fare una cosa diversa: aggiungere una sottosezione anche a uno sottosezione. Il normale meccanismo section=new aggiunge solo una nuova sezione di primo livello in fondo alla pagina. Guarda la mia sandbox, dove orribilmente il Museo è listato anche sotto "enoteche" e "pizzerie", sottosezioni di terzo e quarto livello (h3 e h4). --Alex brollo (discussioni) 09:57, 1 mar 2013 (CET)
Alex, ho bisogno di un supporto. Ho ripensato le mappe. Fuori le ho testate e vanno abbastanza bene. Le ho implementate in in Utente:Andyrom75/MappaComprimibile.js testandole su Template:MappaComprimibile/Sandbox ma qualcosa non va; come se avesse problemi con l'oggetto OpenLayers. Ci puoi dare un'occhiata per piacere? Di fatto l'unica funzione da guardare è init() che è attivata da una delle tre istruzioni a piè script. Grazie, --Andyrom75 (discussioni) 15:18, 1 mar 2013 (CET)
PS Notavo che nello script avevi aggiunto "mw.loader.using('jquery.ui.draggable'" ... non è che devo caricare qualche libreria? PPS Col nuovo script sembra che la versione wiki s'incanti nella fase di download dei dati da toolserver.org. --Andyrom75 (discussioni) 15:35, 1 mar 2013 (CET)
Ho avuto l'impressione che toolserver sia in difficoltà.
Ti suggerirei di aprire una seconda pagina degli scripts js in evoluzione rollbackando quella principale a una delle versioni più semplici, ma funzionanti, che hanno avuto vita breve.
Il mw.using non serve tanto a caricare i moduli necessari, ma ad attendere che siano caricati prima di lanciare gli script; purtroppo ResourceLoader carica in asincrono, con magnifici vantaggi in termini di rapidità di caricamento ma creando un guazzabuglio temporale per cui non si è mai certi che quello che serve sia stato effettivamente caricato. Quindi, sì, se usi, ad esempio, jquery.ui.resizable è una buona idea aggiungere anche lui all'mw.loader.using (controlla la sintassi).
Listing + mappe: nei listing ci sono i due parametri lat e long apposta, penso, per essere passati automaticamente a un template OpenStreetMap; ho provato a farlo in template:See, con un if che lancia il template mappa solo se lat e long ci sono, ma non funziona, e non so se dipende da un errore nei nuovi script o dal fatto che, come tempo, toolserver è impallato. Per questo rinnovo il suggerimento di lasciare in Template:Mappa
Sebbene le funzioni erano distinte, il tuo suggerimento è corretto. Ho separato i due gruppi di js, uno in MappaComprimibile.js e l'altro in MappaComprimibileWIP.js. Nel primo ho del tutto eliminato la caratteristica di resize, perchè percome è strutturato l'openStreetMap non è applicabile. E' per questo che è ho provato a costruire la mappa da un livello più basso. Nel nuovo modello che ho pensato anche io avevo la necessità di passare i parametri alla mappa e l'avevo fatto i parametri "data-" accettati dal div (parametri con nomi diversi mi venivano cancellati dal parser wiki. --Andyrom75 (discussioni) 16:32, 1 mar 2013 (CET)

Linguaggi di programmazione[modifica]

Cambiando tema, qualche giorno fa chiedevi della classificazione degli utenti in stile babel, ma per la conoscenza dei linguaggi di programmazione.

Spulciando un po' tra le cose già fatte ho trovato Template:Userbox che può fare al caso nostro. Un esempio della sua applicazione è Template:Utente_SUL. In questo modo è sufficiente creare a manella le casistiche dei vari livelli dei vari linguaggi ed è fatta.

Per capire se c'erano soluzioni più eleganti, volevo vedere come lavora {{#Babel:it-0}} ma non ho capito dove sta il codice del parser che elabora i tag speciali. E' accessibile? --Andyrom75 (discussioni) 11:52, 28 feb 2013 (CET)

Odio Babel :-) --Alex brollo (discussioni) 00:54, 1 mar 2013 (CET)
ok... quindi dobbiamo scrivere qualcosa custom? --Andyrom75 (discussioni) 08:56, 1 mar 2013 (CET)

Listings e mappe[modifica]

Spiegati meglio...--Andyrom75 (discussioni) 08:57, 1 mar 2013 (CET)

Colpo di scena....[modifica]

link=//tools.wmflabs.org/wikivoyage/w/poimap2.php?lat=43.78333&lon=11.25&zoom=auto&layer=M&lang=it&name=Alex brollo 43°46′00″N 11°15′00″E

...D'ora in poi utilizza Template:MappaListing (domani lo rifinisco meglio)

E che "diamine"! Che colpo!!!!
Tu prova a usare il template See, com'è usato nella mia Sandbox. :-) --Alex brollo (discussioni) 07:52, 2 mar 2013 (CET)
Il tuo attuale common.js mettilo su wikidata.js così importiamo solo quello. Mentre tu importa nel tuo common il mio MappaListing.js. --Andyrom75 (discussioni) 08:17, 2 mar 2013 (CET)
Stamani ho fatto un po' di manualistica e gestione degli errori. Dagli un'occhiata per usare la mappa e fammi sapere se hai qualche idea/commento per migliorarne qualche aspetto. --Andyrom75 (discussioni) 10:42, 2 mar 2013 (CET)

ajax[modifica]

Alex, ho visto che nel js di wikidata riesci ad accedere ad un file cross dominio grazie al codice lato server www.wikidata.org/w/api.php. Avrei giusto la necessità di implementare una funzione che verifichi l'esistenza di un file su altre wiki (dove chiaramente il nome del file è un parametro letto da html). Sai mica dirmi come modificare quella funzione per il mio scopo? --Andyrom75 (discussioni) 16:33, 2 mar 2013 (CET)

Certo che sì.
Trovi alcuni script già attivi nel gadget Iwt.js, che significa "interwiki transclusion". Sono tutti script miei.... ho avuto un gran piacere nel vedere che stavo battendo la strada giusta, e che lo script per leggere i dati wikidata aveva lo stesso schema. Occhio però: occorre maneggiarli con la logica della programmazione asincrona, io ci ho messo un bel po' per cominciare a capire vagamente come funziona. --Alex brollo (discussioni) 16:42, 2 mar 2013 (CET)
Mi son studiato un po' lo script ma ho qualche dubbio. Se passi in IRC è meglio... Intanto ti scrivo. Mi aspettavo all'interno dell'ajax le direttive "success: & error:" che di fatto mi sarebbero state utili come discriminante dell'esito. Non vedendole ho pensato che ci fosse un if dopo ma non l'ho trovato, quindi immagino che quando attacchi il sorgente recuperato, se è vuoto si limita a non appendere nulla. Quello che vorrei fare è controllare il prima possibile l'esito e possibilmente scaricando la minor quantità di dati per velocizzare i tempi di risposta. A tal proposito funziona type:'HEAD' o qualcosa di simile? --Andyrom75 (discussioni) 17:48, 2 mar 2013 (CET)
Non so... certo che a seconda delle varie richieste API il messaggio "Pagina non esistente" varia; talora è un errore ajax, talora no.
Guarda qui la versione che ho generalizzato e raffinato un po': c'è perfino un minimo di doc. ;-) --Alex brollo (discussioni) 07:47, 3 mar 2013 (CET)
Quale versione considero: quella tua o l'ultima modificata da un IP non registrato? Non mi sono studiato ancora lo script, ma finalmente vedo degli if associati ad un esito, quindi mi rende la cosa più familiare :-). Domanda: mi sembra che lo script continui a scaricare l'intera pagina html, è possibile scaricare solo l'intestazione tipo per ottenere il classico codice "404 page not found"? --Andyrom75 (discussioni) 09:40, 3 mar 2013 (CET)
Sei libero di inserire nella richiesta AJAX qualsiasi cosa sia una buona richiesta API. Io non ho trovato quello che cercavi (una semplice verifica di esistenza) ma lo schema è sempre quello; richiesta ajax, restituzione di data, analisi di data, mmorizzazione di data in una variabile globale o in un contenitore .data() per non perderlo. API è duro, ma se vuoi procedere tocca familiarizzarsi con questa interfaccia. Nota: al momento, la richieste tipo "text" è molto più leggera di quella tipo "html". Se mi servirà verificare l'esistenza di una pagina, userò lei. --Alex brollo (discussioni) 13:46, 3 mar 2013 (CET)
Solo adesso capisco quando parlavi delle difficoltà sulla programmazione asincrona; la mia testa ha bisogno di un "="! :-))) Se ho capito bene con "getIwPage=function (title, site, query) {...}" stai dichiarando una funzione che dovrà essere lanciata da un oggetto. Ho fatto qualche tentativo ma mancandomi le basi è stato un misero fallimento. Potresti scrivere 2 righe di numero in cui la richiami per testare l'esistenza di 2 pagine (una che esiste e una no)? graze mille --Andyrom75 (discussioni) 16:23, 3 mar 2013 (CET)
Ho provato a limare il codice "alla cieca" in base alle mie specifiche esigenze, però, per quanto ti possa suonare assurdo, non riesco a testarlo! :-) Mi scriveresti un piccolo script/html di test per piacere? Con questo ajax mi sento davvero impedito! :-)
Di seguito il codice che a naso penso funzioni:
getIwPage=function (title, site) {
  data= {format: 'json',action: 'query',titles: title,   prop: 'revisions',rvlimit: '1',rvprop: 'content'};
  $.ajax({
    url: 'https://'+site+'/w/api.php',
    async:false,
    data:data,
    dataType: 'jsonp' // this is the important one!
  }).done(function (data) {
      $("body").data("outputAjax",data);
      // >0: la pagina esiste
      // =0: la pagina NON esiste
      $("body").data("CheckPage",$("body").data("outputAjax").lenght);
     });
}
--Andyrom75 (discussioni) 01:19, 4 mar 2013 (CET)
Ti ho aspettato al varco ieri sera su irc, ma non ti ho beccato.
La difficoltà del "ragionamento asincrono" sta nel fatto che data una chiamata alla funzione asincrona nel listato dello script, js non attende di ricevere il risultato ma passa immediatamente all'istruzione successiva che è ignata della risposta della chiamata ajax. I tentativi di scrivere qualcosa che utilizzi il risultato della chiamata falliscono miseramente. Tutte le "cose" da fare dopo che la funzione ajax ha corso vanno messe (nell'esempio) all'interno di .done(); sia come funzione anonima, sia come richiamo a una funzione esterna ("callback").
Quindi occorre ragionare in questo modo: cosa devo fare in base al risultato della chiamata ajax? Tuttoi quello che devo fare va ficcato dentro il .done().
per "vedere l'effetto che fa" dentro il done puoi metterci semplicemente un alert:
 alert(data); 
Se è l'utente che deve fare delle scelte sulla base del risultato, è facile: basta visualizzare il risultato e organizzare le cose in modo che l'utente possa agire solo dopo che il risultato è visualizzato. Però è bene che il risultato sia memorizzato da qualche parte; altrimenti svanisce. Il sistema più furbo di memorizzare il risultato (ossia data) è ficcarlo dentro una variabile .data() di un elemento html. Quindi:
 $("body").data("risultatoAjax",data);
alert(data); 
Una volta che compare l'alert, data è certamente memorizzato in $("body").data("risultatoAjax") e puoi guardartelo e "sezionarlo" comodamente dalla console js. --Alex brollo (discussioni) 09:01, 4 mar 2013 (CET)
Proviamo a beccarci stasera su IRC. PS Quando ci sei fammi uno "squillo" sulla mia home perchè non sempre mi connetto a IRC. PPS Ma alert funziona anche su wiki? Pensavo che venisse bypassato... --Andyrom75 (discussioni) 10:34, 4 mar 2013 (CET)
Certo che funziona; funziona anche prompt(). Entrambi vengono schifati perchè "grossolani". Io li userei volentieri, invece.... A stasera (come si fa a "fare uno squillo"? Nulla a che vedere con "farsi una squillo", spero...)--Alex brollo (discussioni) 10:50, 4 mar 2013 (CET)
 :-)))))))) Intendevo lasciami un messaggio sulla home di wikivoyage che mi appare l'alert così so quando ci sei e mi collego a IRC. Grossolanamente ho capito la logica di ajax e credo anche di aver capito come gestire i dati "dopo" che la funzione ha terminato il suo corso. Ho però una domanda terra-terra: con quale istruzione richiamo una funzione così dichiarata: getIwPage=function (title, site) {...} Mi da errore se la butto così com'è nel sorgente. ...quant'è brutta l'ignoranza... --Andyrom75 (discussioni) 11:58, 4 mar 2013 (CET)
Per farla eseguire ho sostituito getIwPage con window.onload ...da qui a dire che ho fatto una cosa sensata ce ne corre... --Andyrom75 (discussioni) 13:24, 4 mar 2013 (CET)
Nessun errore nella console aperta su una pagina wiki, dove ho caricato getIwPage. Sicuro di non aver dimenticato l'ultima graffa chiusa? Alle volte con il copiaincolla succede.
Caricata la funzione in console prova queste due chiamate (che ho provato dalla console in quiesta pagina:
  1. getIwPage("Ugo Foscolo", "it.wikipedia.org"); // (caso di pagina esistente)
  2. getIwPage("Ugo Foscollo", "it.wikipedia.org"); // (caso di pagina non esistente) --Alex brollo (discussioni) 15:15, 4 mar 2013 (CET)
Dai un'occhiata alla fine di Utente:Andyrom75/MappaComprimibileWIP.js. Sembra che non mi entra nell'evento "done", che se non ho capito male dovrebbe essere sempre eseguito indipendentemente dal "success" o "error". --Andyrom75 (discussioni) 15:45, 4 mar 2013 (CET)
Finalmente entra in "done". Ma sebbene abbia testato il caso ("Ugo Foscolo", "it.wikipedia.org") sia $("body").data("CheckPage") gli output che ricevo sono identici. Dov'è che sbaglio? --Andyrom75 (discussioni) 17:01, 4 mar 2013 (CET)
Lo squillo te lo faccio io... ;-) --Andyrom75 (discussioni) 21:15, 4 mar 2013 (CET)
Stamani da più lucido ho capito cosa intendevi con id doppio, ti riferivi a id="interProject". Su quello ci posso fare poco perchè lo crea il template degli interprogetti. Ora, sebbene un id per antonomasia dovrebbe essere unico, ho cercato di trasformare il seguente loop:
$("#interProject div ul li a").each( function() {
alert("Do something..");
});
(che funziona) in
$("#interProject").each( function() {
  $(this).children("div ul li a").each( function() {
    alert("Do something else...");
  });
alert("Do something...");
});
(che non funziona: non entra nel loop interno) e con
$("div[title='Collegamenti verso gli altri progetti Wikimedia']").each( function() {
  $(this).children("ul").children("li").children("a").each( function() {
    alert("Do something else...");
  });
alert("Do something...");
});
(che funziona parzialmente: entra nel loop interno, ma solo per la seconda istanza di div ).
Riesci a spiegarmi il perchè? --Andyrom75 (discussioni) 08:55, 5 mar 2013 (CET)
Altra cosa strana. Se vado in Zimbabwe ad esempio, dove c'è un solo id="interProject", se interrogo la console con $("#interProject div ul") non mi ritorna niente, eppure la struttura html è corretta. Idee? --Andyrom75 (discussioni) 09:07, 5 mar 2013 (CET)
Non sono sicuro ma forse ho capito... andando a ritroso ($(".extiw").parent().parent().parent().parent()) vedo che il padre di quelle ancore è un altro, evidentemente a monte c'è stato uno script che li ha spostati di posizione. Agirò in modo diverso... --Andyrom75 (discussioni) 09:19, 5 mar 2013 (CET)
Alleluia! Fatto tutto, mi manca solo l'ultima istruzione di hide()! Sicuramente sbaglio il passaggio dell'oggetto $(this) da nascondere; mi ci dai un'occhiata? PS Come pagina di test usa Zimbabwe, perchè ha un output standard generato dal quickfooter; non usare quelle con un output custom come Venezia. --Andyrom75 (discussioni) 11:53, 5 mar 2013 (CET)

"Mi aspettavo all'interno dell'ajax le direttive "success: & error:" che di fatto mi sarebbero state utili come discriminante dell'esito" in jquery nelle chiamate ajax viene riportato il successo o meno della chiamata e se la pagina chiamata da un output dentro la condizione di success si puo utilizzarlo con tutti gli if del caso esempio

function aggiorna(ordinevar){
 $.ajax({
 type: "POST",
 url: "index.php",
 cache: false,
 data:{ 
 ordine:ordinevar,
 azione:"riordina"
 },
 success: function(risposta){
  se la chiamata ha avuto successo risposta conterrà la risposta della pagina chiamata per esempio
 if(risposta=="fatto"){
   fai qualcosa
 }
 }
 });
 }

95.246.185.136 14:09, 5 mar 2013 (CET)

Ripasso in seconda serata perchè esco, comunque come ti scrivevo fammi sapere se capisci come mai il liItem.hide(); non mi funziona. L'ho testato con la pagina Zimbabwe e fa tutto il ciclo perfettamente tranne la sparizione finale. Ho provato diversi oggetti ma non sono riuscito a trovare quello giusto, e teoricamente liItem è quello giusto... --Andyrom75 (discussioni) 18:49, 5 mar 2013 (CET)
Fatto e funzionante! Dopo creo un js a se stante e poi nel WIP vedo di estenderlo. --Andyrom75 (discussioni) 09:33, 6 mar 2013 (CET)
L'ultima versione stabile la trovi qui: Utente:Andyrom75/Quickfooter.js. Ho fatto un po' di prove con relativo debugging; adesso mi sembra che funzioni abbastanza bene e piuttosto velocemente (sebbene ci siano ancora buoni margini di miglioramento. Tra i vari test che ho fatto ho incontrato un curioso errore sulla pagina Wikivoyage:Mascherina regione: Uncaught TypeError: Cannot read property '-1' of undefined . Facile intuire da dove provenga quel "-1", ma non ho chiaro il problema. Se hai modo prova a darci un'occhiata. --Andyrom75 (discussioni) 16:06, 6 mar 2013 (CET)
Ti vedo lanciato e sono molto, molto contento di averti dato qualche dritta iniziale. In questi giorni ho da fare su wikisource, attorno a un problemino che risolto importerò anche qui. Il -1 undefined, ci giurerei, riguarda una situazione in cui la risposta ajax non comprende l'oggetto "padre" di [-1]. Verifica la struttura dell'oggetto restituito proprio da quella richiesta ajax. --Alex brollo (discussioni) 16:22, 6 mar 2013 (CET)
Finalmente! Bug trovato e rimosso! ...ora sono in attesa di trovare il prossimo... :-P Implemento la modifica sul sito, così se vedrà se è tutto ok o se c'è ancora qualcosa da sistemare. --Andyrom75 (discussioni) 20:56, 6 mar 2013 (CET)
(rientro) Congratulazioni!!! Io sono sempre uccel di bosco, sto rivedendo un aspetto cruciale dei miei script, se mollo sono spacciato. Ma uso anche molte delle cose che ho imparato grazie alle tue sollecitazioni (grazie!) --Alex brollo (discussioni) 15:54, 8 mar 2013 (CET)
Grazie a me? Grazie a te! Per avermi ristimolato l'istinto il vecchio istinto del programmatore! Ti aspetto qua per nuove missioni! :-) PS Studiandomi l'API ho modificato un piccolo parametro velocizzando e di parecchio la risposta. Ad oggi l'unico modo per velocizzarlo ulteriormente consiste nel cambiare completamente approccio, ma visto che non è necessario mi occupo di altro. A presto! --Andyrom75 (discussioni) 18:43, 8 mar 2013 (CET)

Invito[modifica]

Non son sicuro di aver capito. Apro IRC così in caso mi dici meglio. --Andyrom75 (discussioni) 09:40, 9 mar 2013 (CET)

AWB[modifica]

La prima volta ha dato problemi anche a me: Options->preferences->site->custom: http:// + it.wikivoyage.org/w/

Poi chiaramente su File->Login/profiles metti username+password.

Gli annidamenti li risolvi appunto con il "not match" è per questo che mi sto incaponendo su questo aspetto. Poi chiaramente, massimo rispetto a find_stringa()! ;-) --Andyrom75 (discussioni) 09:40, 29 mar 2013 (CET)

Proprio come html, il codice wiki usa annidamenti; con la complicazione ulteriore che il linguaggio non è "ben cnformato" come html-xml. Prima di incapunirti leggi qui: http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html
Che find_stringa funzioni perfettamente là dove le regex falliscono miseramente è una cosa che mi rempie di non poca soddisfazione.... certo, usare un parser è molto più sicuro, ma find_stringa usa solo banali ricerche di sottostringhe e quindi la sua velocità è almeno 10 volte maggiore di quella di un parser.
Se usi regex su costrutti template che potrebbero essere annidati, stacci attento, ma molto attento.....
Il fatto che conosca poco le regex dipende dal fatto che "penso in find_stringa()". --Alex brollo (discussioni) 15:44, 29 mar 2013 (CET)
Per AWB, grazie, avevo scovato un esempio chiarificatore. Incredibile che sulla pagina di aiuto non sia messo come PRIMA cosa: eppure non lo è (li possino). Purtroppo da qui non mi gira (si appoggia su IE, orrore!, e qui mi gira una versione primordiale, una 6.0 penso). --Alex brollo (discussioni) 15:47, 29 mar 2013 (CET)
Una precisazione; non voglio usare le regex con l'intento di crearmi un DOM del documento, bensì per scovare e correggere elementi specifici, quindi non mi crea problemi lavorare su un codice HTML o sul testo della Divina commedia :) Concordo sulla scarsa documentazione di AWB. Quello che mi serve lo sto imparando passo, passo; a volte pure per caso :-D
Detto ciò, mi resta questo cruccio del not matching :-( --Andyrom75 (discussioni) 16:17, 29 mar 2013 (CET)
I problemi non nascono in casi particolarmente complessi; bastano due template uno dentro l'altro e le regex impazziscono. Ti illustro il problema. Se scorri il sorgente di questa pagina, troverai vigorosi annidamenti di div una dentro l'altra. Non sai quanti; sono variabili. Ora, ogni tentativo regex di riconoscere il div di chiusura di un determinato div di apertura, pechè non c'è modo di distinguere il </div> giusto da tutti quelli che chiudono div interne. Nei template (che possono essere annidati quasi senza limite e senza preavviso) il problema è identico e ugualmente insolubile; in più c'è il problema di riconoscere le due graffe di chiusura di un template da, mettiamo, le tre graffe di chiusura di un parametro. Analogo problema nei maledetti apostrofi che possono essere annidati, a coppie (italico) o a gruppi di tre(grassetto). Questo è il problema... eppure io ho scritto parseTemplate() che si "mangia" senza colpo ferire un template qualsiasi, abbia o non abbia annidamenti.... come ho fatto? Con find_stringa(). :-)
Ciò nonostante, da quando conosco un po' di regex sono molto più tranquillo; ma non sto a mpazzire se vedo che non possono farcela. --Alex brollo (discussioni) 16:24, 29 mar 2013 (CET)
Capisco quello che dici. A livello generale è corretto, però per i problemi più spicci non rappresenta un vincolo, a patto che si usi in sequenza più regex per gestire i casi specifici che in fase di analisi devono essere noti. Un tool specifico per i template è integrato all'interno di AWB, ma a me interessava più la sintassi di una regex. Cmq ok, insisto un'altro po' e il giorno che mi arrendo vengo a bussare alla porta del tuo find_stringa/parse_template :) --Andyrom75 (discussioni) 16:43, 29 mar 2013 (CET)
Sono dentro AWB, loggato come Alebot su wikivoyage. vediamo.... --Alex brollo (discussioni) 19:34, 29 mar 2013 (CET)
OK: la prima modifica manuale via AWB (il mio "Hello world") è andata. :-) --Alex brollo (discussioni) 19:39, 29 mar 2013 (CET)
Proposta: Apri una pagina REGEX (o dammi il suo nome se c'è già) e lì scrivi il problema (il testo-tipo e la stringa da cercare). --Alex brollo (discussioni) 19:41, 29 mar 2013 (CET)
Con AWB ho fatto un po' di pulizia spiccia all'interno del sito eliminando codice inutile e parametri non utilizzati, o correggendo il nome di alcuni parametri. Ma per fare cose un pizzico più elaborate mi serve far funzionare a modo quel maledetto NOT! :-) Per i test non c'è bisogno di una pagina, puoi farli direttamente in locale attraverso: Tools->Regex Tester. Nel primo riquadro metti la regex che fa il match, nella seconda quella che fa il replace, nella terza il testo di input e la quarta la popola lui con l'esito --Andyrom75 (discussioni) 19:44, 29 mar 2013 (CET)
Alleluia! Finalmente ho trovato come funziona quel maledetto NOT! Magari non t'interessa ma mi faceva piacere condividerlo con te: (start)(((?!text).)*)(end) ...un po' come i gatti quando uccidono lucertole o uccellini :-))))) --Andyrom75 (discussioni) 13:42, 30 mar 2013 (CET)
Non stavo parlando di una pagina per i test, ma per documentare problemi e soluzioni: un "ricettario". Adesso mi toccherà studiare il tuo codice sopra che mi risulta alienuccio.... intanto vediamo che dialetto REGEX parla AWB. --Alex brollo (discussioni) 21:02, 31 mar 2013 (CEST)
Ehehehehe....
Match template {{...}} possibly with templates inside it, but no templates inside those
 Regex: \{\{([^{]|\{[^{]|\{\{[^{}]+\}\})+\}\}
Io invece per trovare un template qualsiasi, che contenga al suo interno un numero qualsiasi di template ognuno dei quali un altro numero qualsiasi di ulteriori template, eccetera, eccetera, scrivo:
find_stringa(testo, "{{", "}}", 1, "{{") 
 ossia 
 dentro testo acchiappa ciò che inizia con {{ e termina con }}, graffe comprese, e occhio agli annidamenti di altri elementi
 che iniziano con {{
e francamente mi piace di più. :-)
Le regex di AWB "dovrebbero" essere quelle di .NET. Dico dovrebbero perchè me l'hanno detto ma non l'ho verificato. La regex che citi tu mi sembra in perl, perchè li il not era semplicemente ^ (quanto meno mi ricordavo così...) ma qua il not è + elaborato. Al momento mi sto sbizzarrendo con le regex per pulire il codice. Ogni tanto, come Michelangelo, mi è scappato di fare qualche cappella :-), fortunatamente si parla dello 0,1% dei casi, quindi posso dire che al momento è un successo :-P --Andyrom75 (discussioni) 13:00, 1 apr 2013 (CEST)
In effetti, AWB ha come principale obiettivo quello di fare delle piccole modifiche al testo - un cleanup, sostanzialmente. Manca quello che ne avrebbe fatto uno strumento ideale anche per me: un "aggancio" a funzioni esterne di modifica testo più elaborate, facili da implementare, in python o altri linguaggi "sbrigativi". Esiste la possibilità di implementare funzioni esterne, ma occorre scrivere dei ddl in C+, mi pare - cosa ampiamente fuori delle mie possibilità. Lo vedo quindi come un tool con straordinarie capacità di selezione pagine, su cui però si possono eseguire elaborazioni molto limitate. Tuttavia, è meraviglioso per chi vuole muovere un bot per pulizie, e lo consiglierò ad alcuni amici che sono intimiditi dall'approccio a un linguaggio di programmazione vero e proprio.
La regex sopra l'ho trovata proprio nella doc di AWB quindi dovrebbe funzionare; l'ho citata solo per la differenza fra regex e find_stringa(), in termini di complessità. --Alex brollo (discussioni) 23:04, 2 apr 2013 (CEST)
Errata corrige. Ho approfondito un po' e ho trovato che la sintassi [^] si usa per il not match per i singoli caratteri, mentre l'altra che ho trovato sopra è per le stringhe. --Andyrom75 (discussioni) 00:26, 3 apr 2013 (CEST)

Ciao Alex![modifica]

Benpassato (perchè so che sarebbe scorretto dirti bentornato :-P)!

Hai visto la finestrella di editing dei listing? Provala giusto per vedere. Ci sono ancora un paio di errori JS da rimuovere (che non influiscono sul suo normale funzionamento) e alcune cose da implementare per migliorarne l'uso, però in linea di massima sta andando :-) --Andyrom75 (discussioni) 09:48, 6 set 2013 (CEST)

Vado. Sono stato attirato qui da Raoli, "il mago del css".... ma figuriamoci se non l'hai già capito :-) --Alex brollo (discussioni) 13:55, 6 set 2013 (CEST)
Magnifico. Dammi un po' di link ai js fondamentali così non perdo tempo a cercarli.... ipotizzo (e spero) che il sistema sia generalizzato/generalizzabile per tutti gli infobox. --Alex brollo (discussioni) 14:01, 6 set 2013 (CEST)
Scusa il ritardo con cui ti scrivo ma son stato sgridato da Wim :-P e dovevo terminare un'attività. Quello che cerchi è tutto dentro MediaWiki:ListingEditor.js --Andyrom75 (discussioni) 15:14, 6 set 2013 (CEST)
Qualora passassi di qua, non è che mi daresti una mano a capire da dove viene fuori l'eccezione "Uncaught TypeError: Cannot read property 'textContent' of null" che compare quando premo il pulsante annulla della finestrina? --Andyrom75 (discussioni) 12:10, 10 set 2013 (CEST)

Ciao mago del javascript[modifica]

Si, perfetto il template, esattamente quello che volevo, non so perché non ci abbia pensato prima. Come hai potuto vedere cerco sempre di non utilizzare un codice javascript poiché il suo caricamento è più lento di un codice CSS o HTML. Il trucco sta nell'utilizzare una parte di immagine. Grazie mille, come al solito tuo mi hai stupito. :) --Raoli (discussioni) 16:04, 6 set 2013 (CEST)

JS wikidata editor[modifica]

Ciao Alex, ho letto su it:w di questo gadget: mediaWiki.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:WEF_PersonEditor.js&action=raw&ctype=text/javascript&maxage=86400&smaxage=21600' );

Mi sembra interessante ma un po' dispersivo per it:voy. Che tu sappia è possibile personalizzare le schermate mostrando solo quello che serve al progetto su un unica schermata e magari lasciare tutto il resto nelle altre schermate? --Andyrom75 (discussioni) 18:07, 8 ott 2014 (CEST)

Non sono ancora in grado di capire tutti i dettagli degli script di Vlsergey, e al momento ho altre priorità; tuttavia: lo schema generale è che i vari editors sono "personalizzabili" e sono nient'altro che una specie di interfaccia utente che colloquia con il vero motore generale di editing (di complessità e astrazione che lo mettono totalmente al di fuori delle mie capacità di comprensione). Quindi: non solo Vlsergey è, per quanto ho constatato, molto disponibile a creare nuove interfacce per nuovi tool che puntano su nuovi elementi wikidata adatti; ma ha condiviso anche le istruzioni per modificare quelli esistenti oppure . mettendosi - per costruirne di nuovi.
Il completo disinteresse di pedia mi fa presumere che i progetti "minori" siano, al momento, più frizzanti e meno "lacoontizzati" nelle spire di una ingovernabile complessità e quindi sono certo che ne approfitteranno loro. Buon lavoro! Voglio vedere presto un "WEP CityEditor". ;-) --Alex brollo (discussioni) 20:00, 8 ott 2014 (CEST)

Amministratore[modifica]

Ciao Alex, in questi giorni stiamo eleggendo un nuovo amministratore e mi sono ricordato che a due anni di inattività (non mi sovviene se l'inattività è intesa totale o da admin) c'è la rimozione del ruolo per policy interwiki. Visto che i tuoi due anni di inattività totale scadono a breve, fammi sapere se sei interessato a mantenerla. Chiaramente a noi farebbe non poco piacere avere un amministratore attivo in più ;-) --Andyrom75 (discussioni) 19:02, 10 set 2016 (CEST)

[@ Andyrom75] Grazie dell'avviso, no, è stata una breve e bella avventura.... "do le dimissioni", grazie dell'ospitalità. --Alex brollo (discussioni) 20:33, 10 set 2016 (CEST)
Non può che dispiacermi, ma ti ringrazio per tutto ciò che hai fatto in passato. Giusto una cosa, per formalizzare le dimissioni, dovresti fare richiesta su m:Steward_requests/Permissions. Buon proseguimento, --Andyrom75 (discussioni) 20:57, 10 set 2016 (CEST)
[@ Andyrom75] Fatto. Come odio la burocrazia.... ;-) Alex brollo (discussioni) 21:10, 10 set 2016 (CEST)