Secondo bando 2022 per progetti dei volontari/Integrazione di eis.js, Edit-in-sequence, nell'estensione ProofReadPage di MediaWiki

Da Wikimedia Italia.
< Secondo bando 2022 per progetti dei volontari
Versione del 17 feb 2023 alle 10:58 di Dario Crespi (Discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search
Questa pagina è relativa a una proposta finanziata da Wikimedia Italia

Responsabile del progetto

Alexandre Albore

Titolo del progetto

Integrazione di eis.js, Edit-in-sequence, nell'estensione ProofReadPage di MediaWiki

Partecipanti

  • Ruthven : Utente di Wikipedia registrato dal 2004, amministratore su it.wikisource, nap.wikisource, Wikipedia in italiano e Commons, amministratore VRTS per la Foundation.
  • Sam Wilson / SWilson (WMF) : Software Engineer, membro del Community Tech della Wikimedia Foundation. Ha elaborato il nuovo strumento OCR per Wikisource e segue le estensioni dei vari progetti. Sarà il supervisore tecnico di questo grant: la WMF lo ha "messo a disposizione" per seguire i lavori di questo progetto.
  • Sohom Datta : volontario Wikimedia, è studente al Manipal Institute of Technology. Ha esperienza nello sviluppo software di MediaWiki come il Wikisource Pagelist Widget (https://meta.wikimedia.org/wiki/Wikisource_Pagelist_Widget).
  • Saranno attivi nella revisione del progetto altri membri dello User Group Wikisource, che sostiene questa proposta di grant (non è quindi una proposta "personale", ma a nome dello User Group).

Descrizione del progetto

Attualmente, l'interfaccia utente del WikiEditor usata dall'estensione MediaWiki ProofreadPage richiede pesanti caricamenti di pagina e lunghi tempi di attesa quando si modificano le pagine una dopo l'altra all'interno di un libro. Questa attività è purtroppo la più comune nei progetti Wikisource. eis.js è un userscript/gadget sviluppato da Alex Brollo per permettere di modificare le pagine in sequenza senza dover aspettare il ricaricamento e il salvataggio delle pagine. Lo script esegue questo compito chiamando in modo asincrono le API di Wikimedia per eseguire varie azioni come l'anteprima, il salvataggio e il caricamento delle pagine. Con questo progetto, si vuole integrare e implementare le caratteristiche offerte da eis.js nell'estensione ProofreadPage e permettere così a tutti i progetti Wikisource di avvantaggiarsene. Questo aiuterà la comunità Wikisource nel suo insieme in quanto porterà ad un aumento della velocità di editing durante la modifica di pagine in sequenza.

Abstract

Integrare lo script eis.js di Alex Brollo, presente su vari progetti Wikisource some gadget, nell'estensione ProofreadPage di MediaWiki. In modo da risparmiare banda e tempo quando si correggono le pagine di un libro su tutti i progetti Wikisource.

Richiesta di sostegno economico

Pagamento programmatore: 15€/ora. Tempo stimato di sviluppo dell'estensione: 40 ore alla settimana per 9 settimane. Totale: 5400€+12%IVA

NB: Il tempo di supervisione di Sam Wilson dedicato al progetto è pagato dalla WMF.

Non sono previsti compensi a soci di Wikimedia Italia.

Altre richieste

no, lo User Group Wikisource e gli utenti tutti forniranno test e controllo sullo sviluppo del progetto.


Descrivi in breve e per punti le attività che intendi svolgere. Precisa i tempi nei quali iniziano e finiscono.

Attività:

  • 1. Sviluppo di un widget basato su OOUI (Codex?) con controlli per muoversi tra le pagine, salvare le pagine, vedere l'anteprima delle pagine e impostare lo stato di Proofread senza ricaricare la pagina.
  • 2. Modificare l'editor esistente per permettere l'anteprima delle pagine nell'area di modifica.
  • 3. Implementare un'interfaccia simile a PagelistWidgetPreview per spostarsi su pagine all'interno del libro.
  • 4. Implementare l'interoperabilità con Wikisource OCR (fornita dall'estensione Wikisource) così come lo zoom e la panoramica basati su Openseadragon.

Timeline preventivata:

  • 29 maggio - 4 giugno - Valutare se Codex sarà utilizzabile o meno come framework UI e iniziare l'implementazione delle opzioni di preferenza
  • 5 giugno - 17 giugno - Implementare il widget con i controlli per muoversi tra le pagine, salvare le pagine, vedere l'anteprima e impostare lo stato Proofread senza ricaricare la pagina insieme ad un meccanismo per attivare il widget.
  • 17 giugno - 1 luglio - Integrare il widget OOUI nell'editor esistente, permettendo l'anteprima dal vivo e l'interoperabilità con la barra inferiore.
  • 1 luglio - 9 luglio - Chiedere il feedback della comunità, dello User Group e lavorare sui miglioramenti
  • 10 luglio - 24 luglio - Lavorare sull'implementazione dell'interoperabilità con Wikisource OCR e con lo zoom e il panning di Openseadragon.

Il tuo progetto è il proseguimento di attività già svolte in passato, e/o è un progetto che potrebbe proseguire in futuro? Lo script eis.js è presente come Gadget o script utente su diversi progetti (it.source, fr.source, nap.source, ecc...) ed è in sviluppo da anni. Con la realizzazione di questo progetto si risolverebbe, tra le altre cose, il task Phabricator T298663. Un Task dedicato verrà creato in modo da seguire lo sviluppo.

Budget

Tipo di spesa ammissibile Descrizione Spesa prevista (IVA compresa) Fornitore
Compensi a professionisti Implementazione 6048 Sohom Datta

Importo richiesto a Wikimedia Italia (IVA compresa)

6048€

Budget totale del progetto (IVA compresa)

6048€ Cofinanziamento WMF per lo stipendio di Sam Wilson che agirà da supervisore tecnico del progetto.

Relazione

Progetto proposto - Titolo: Integrazione di eis.js, Edit-in-sequence, nell'estensione ProofReadPage di MediaWiki - Breve descrizione: Con questo progetto, si vuole integrare e implementare le caratteristiche offerte da eis.js nell'estensione ProofreadPage e permettere così a tutti i progetti Wikisource di avvantaggiarsene, il che implica un risparmio di dati trasmessi/ricevuti e una modalità di edizione più veloce e fluida. - Proponente: Alexandre Albore

Finanziamento accordato

  • Spese previste: 6048 €
  • Spese effettuate: 6045 €

Attività svolte

   1. Creazione dell’interfaccia utente (UI) e dei vari elementi.
   2. Implementazione dell’estensione di ProofreadPage e abilitazione su Beta Wikisource.
   3. Implementazione della navigazione fra pagine e salvataggio.
   4. Raccolta di feedback da parte dell'User Group e degli utenti di Wikisource.
   5. Integrazione col codice del Wikimedia OCR per lo scan delle pagine.
   6. Beta testing e correzione bug.

Obiettivi raggiunti

   • Phabricator task: https://phabricator.wikimedia.org/T308098
   • Codice sorgente: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/806272
   • Gerrit: https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/810054
   • Documentazione: https://meta.wikimedia.org/wiki/Wikisource_EditInSequence


Difficoltà incontrate Rimangono alcuni dubbi su dettagli dell’implementazione della UI. In particolare se necessario un meccanismo di “salvataggio in batch” di varie pagine alla volta o se salvare una pagina dopo l’altra (come nel codice di eis.js originale). Il feedback della comunità è atteso su questo punto (e su altri dettagli minori).

La funzione di precaricamento delle pagine ha posto alcuni problemi dal punto di vista tecnico; infatti l’immagine della pagina a fronte è formata da più file a diverse risoluzioni. Queste risoluzioni sono generate in modo apparentemente casuale (cf. https://phabricator.wikimedia.org/T320841).


Possibili sviluppi futuri La fase di beta testing dipende in buona parte dal feedback della comunità, sull’ergonomia e sulle funzioni che vorrebbero vedere implementate. Le due funzioni principali che potrebbero essere oggetto di un seguito del progetto sono 1) la capacità di navigare direttamente in una pagina qualsiasi del testo, 2) caricare preventivamente il codice del testo analizzato dell’OCR in un box di testo.