• Non ci sono risultati.

5.1 Analisi del motore di ricerca

5.1.3 Definizione delle user stories

Dopo aver effettuato un’analisi sul panorama dei motori di ricerca per progetti di edizioni digitali, la fase successiva è stata dedicata alla definizione e analisi delle feature da inserire in EVT 2 Search. Nel merito sono state create quattro user stories principali, ognuna delle quali ne sviluppa altre, con il compito di individuare ogni singola funziona- lità da implementare nel componente di ricerca. Partendo dalle storie così definite, sono nati successivamente alcuni dibattiti, coinvolgendo tutto il team di sviluppo, finalizzati ad approfondire i dettagli relativi a ogni feature. Durante questa fase, che, riferendoci alla definizione data da Ron Jeffries, possiamo chiamare Communication, sono emerse anche alcuni limiti tecnico-architetturali relativi principalmente ai vincoli presenti nella creazione di un motore di ricerca da innestarsi in un’applicazione completamente client- side. Di seguito si presenteranno le user stories definite e che hanno guidato le succes-

sive fasi di progettazione e implementazione del motore di ricerca. Verranno elencati esclusivamente i task (attività) completamente sviluppati e oggetto di questa tesi.17

In generale, le user stories sono organizzate seguendo una struttura modulare. Esse si dividono in due sezioni: la prima riguarda le funzionalità che dovrà avere il motore di ricerca, la seconda riguarda la definizione degli strumenti che permetteranno l’utilizzo delle funzionalità sviluppate. Ogni sezione comprende varie attività principali (task), ognuna delle quali viene suddivisa in attività più specifiche, che identificano nel dettaglio le feature da implementare.

La prima storia definisce la funzionalità basilare da implementare, ossia la ricerca full-text all’interno del documento. Essa racchiude altre user stories più dettagliate, che specificano la tipologia di funzionalità.

task 1

Permettere all’utente di effettuare ricerche full-text sul documento. subtasks

• Come utente vorrei poter effettuare ricerche nell’edizione diplomatica e interpretativa.

• Come utente vorrei poter effettuare ricerche tramite l’utilizzo di wildcards. • Come utente vorrei poter effettuare ricerche case sensitive.

• Come utente vorrei poter effettuare ricerche per parola esatta (exact match). La discussione emersa si è incentrata principalmente sull’identificazione della par- te corretta da indicizzare, che sarà poi ricercata dall’utente. Considerato l’obiettivo di raggiungere la feature parity con EVT 1, è stata considerata una ricerca all’interno del documento originale,18vale a dire esclusivamente all’interno dell’elemento<body>.

Nello specifico, le ricerche saranno possibili all’interno di un’edizione diplomatica e/o interpretativa. L’interrogazione di default sarà per sottostringa, quindi se l’utente inserisce la keyword “hie” verranno restituite anche tutte le parole che la contengono. Questo comportamento si può modificare tramite l’apposito pulsante, che permette di 17Si rimanderà al capitolo conclusivo l’elenco delle funzionalità future da sviluppare.

18Per documento originale si intendono qua tutte quelle parti del documento XML che appartengono al testo vero e proprio, solitamente collocato esclusivamente all’interno dell’elemento<body>, escluden-

do quindi tutte le informazioni supplementari, come commenti o metadati, e quelle contenute negli elementi<front> e <back>.

effettuare una ricerca per parola esatta. Inoltre, ci sarà la possibilità di utilizzare i carat- teri jolly (wildcards) all’interno della query; in particolare è stato trattato il metacarattere *, che indica una qualsiasi sequenza di caratteri, così come il metacarattere ?, che indica un qualsiasi carattere.19 Infine è stata anche implementata una funzionalità aggiuntiva,

non presente nel motore di ricerca di EVT 1, ovvero la ricerca case sensitive, che tiene conto della differenza tra maiuscolo e minuscolo.

La seconda storia è incentrata sulla presentazione dei risultati di ricerca. task 2

Permettere all’utente di visualizzare i risultati di ricerca. subtasks

• Come utente vorrei poter visualizzare i risultati di ricerca accompagnati da informazioni contestuali, affinché si possa definire il contesto nel quale si trova il termine.

• Come utente vorrei poter cliccare su un determinato risultato di ricerca in modo da essere rimandato alla specifica occorrenza nel documento. • Come utente vorrei una visualizzazione compatta e sinottica dei risultati

di ricerca in modo da potervi accedere velocemente.

Per quel che riguarda la prima richiesta, ossia la presenza di informazioni contestua- li in corrispondenza di ogni risultato, è stato pensato di mostrare, in linea con le scelte fatte in EVT 1, il nome del documento nel quale si trova la parola cercata, il numero di pagina, di paragrafo e di riga/verso (se presenti). Era anche necessario sviluppare un col- legamento risultato-testo, ossia poter cliccare su ogni risultato in modo da essere riman- dati alla specifica occorrenza nel documento, che viene evidenziata per permetterne una collocazione più veloce. Infine è stato predisposto l’ambiente per aggiungere facilmente una funzionalità emersa durante la fase di Communication con il team, che prevedeva una visualizzazione compatta dei risultati di ricerca in stile browser, per poterli scorrere velocemente.

La terza storia riguarda l’evidenziazione nel documento della query inserita dall’u- tente.

19Nell’attuale versione del motore di ricerca di EVT 2 non è possibile effettuare ricerche tramite il carattere ?, in quanto, come verrà approfondito nei capitoli successivi, sono emerse difficoltà di integrazione della funzionalità con la libreria di indicizzazione utilizzata.

task 3

Permettere l’evidenziazione della query inserita dall’utente nel documento. subtask

• Come utente vorrei poter vedere evidenziato nel documento il termine ricercato, affinché possa essere immediatamente visibile.

La funzionalità di evidenziazione immediata nel documento della query inserita è importante, in quanto permette all’utente una visione istantanea dei risultati.

Infine, la quarta e ultima storia si basa sull’inserimento di una tastiera virtuale da ren- dere disponibile all’utente nel caso di ricerche in documenti contenenti caratteri non pre- senti nelle tastiere standard. Generalmente questo tipo di caratteri si trovano, a seconda della lingua del documento, in corrispondenza delle edizioni diplomatiche, trattandosi di trascrizioni fedeli del testo originale.

task 4

Permettere l’accesso a una tastiera virtuale. subtasks

• Come utente vorrei avere la possibilità di accedere a una tastiera virtuale, affinché possa inserire i caratteri presenti nel documento che non sono disponibili nella tastiera standard.

• Come editore vorrei poter configurare i caratteri presenti nella tastiera virtuale in modo da avere un supporto per le varie lingue.

Il task racchiude due user stories più specifiche. Da queste possiamo notare che, oltre a quella dell’utente, emerge la figura dell’editore. EVT infatti si propone non solo come strumento per la fruizione e la navigazione di edizioni digitali, ma anche come strumento per la produzione e la pubblicazione di proprie edizioni. Il sistema ha quindi due tipi di utenti: l’utente-lettore che sfoglia l’edizione e l’utente-editore che la crea e la pubblica.20

In questo contesto la tastiera virtuale tocca entrambe le figure, in quanto l’utente-lettore si aspetta di poter inserire eventuali caratteri “speciali”, mentre l’utente-editore ha la possibilità di configurare i caratteri desiderati tramite apposito file di configurazione. Nel caso non vengano configurati, il sistema provvederà a recuperare i primi venti ca- ratteri più frequenti presenti nel documento.

Documenti correlati