Il Text Diff è il Viewer del Book progettato per confrontare tra loro due testi qualsiasi, opportunamente archiviati in altrettanti di tabelle presenti sul Model. In particolare, esso consente ad EndUser e PowerUser di analizzare, con opportuni strumenti di evidenziazione, le differenze tra due regole di business o due versioni differenti della stessa regola.
La creazione di una nuova Text Diff avviene nel tab Viewer di un Book in uno dei seguenti modi:
✓ premendo il tasto destro del mouse in un punto qualsiasi del tab e selezionando dal menù a tendina contestuale l'opzione Add Viewer ;, quindi l'icona
;
✓ selezionando il pulsante Text Diff dal gruppo Viewers del ribbon tab Book.
Al fine di permettere ed organizzare la visualizzazione di più viewer diversi nell'output del Book, è necessario inserire gli stessi negli appositi contenitori: ✓ ModalViewerContainer ✓ DockViewerContainer |
Ogni Viewer di tipo Text Diff richiede di impostare, nel corrispondente visualizzatore delle Property, il Name, ossia il nome attribuito al Viewer e visualizzato, come intestazione del riquadro associato, nella finestra di esecuzione del Book.
Altri elementi definitori opzionali di un Text Diff sono:
✓ Synchronization Group, identificativo che consente di sincronizzare dinamicamente il Text Diff con altri Viewer;
✓ Auto Start, booleano con cui scollegare l’esecuzione del Viewer dal Chapter contenente i dati del Model sottostanti;
✓ Layout, listato XML corrispondente alle proprietà grafiche impostate sul Text Diff.
La scelta dei testi da confrontare avviene run-time, nel visualizzatore delle Proprety contestuale alla finestra di esecuzione del Viewer, mediante le proprietà:
✓ LeftColumn, testo esposto nella metà sinistra del Viewer.
✓ RightColumn, testo esposto nella metà destra del Viewer.
Le proprietà LeftColumn e RightColumn richiedono in input colonne di tabelle del Model del Book sottostane, contenenti i testi da confrontare. In particolare possono contenere:
✓ testi qualsiasi
✓ la verbalizzazione di regole di business.
APPROFONDIMENTO: CONVERSIONE DI RULE IN TESTO Per confrontare due regole di business archiviate nel Rule Repository è necessario verbalizzarle. Il processo di verbalizzazione, infatti, consente di creare i campi di tipo stringa richiesti per il corretto funzionamento del Viewer. Tali campi possono essere creati, a partire dalla corrispondente serializzazione XML della Rule, mediante un apposito cmdlet dello Script Engine, il Format-IrionDQRule. |
Dopo l'esecuzione del Book ad essa associato, la toolbar contestuale al Text Diff dispone dei seguenti pulsanti speciali:
✓ Next Difference consente di scorrere il testo esposto fino alla differenza precedente;
✓ Previous Difference consente di scorrere il testo esposto fino alla differenza precedente;
✓ Ignore Blanks, se abilitato, rimuove dai testi esposti gli spazi in eccesso a destra e a sinistra di ogni linea;
✓ Ignore Case, se abilitato, rende il confronto case insensitive;
✓ Show Unmatching Chars, se abilitato, evidenzia i singoli caratteri che differiscono nei testi esposti;
✓ Show Special Chars. se abilitato, mostra i caratteri speciali non stampabili (e.g. tabulazioni, line feed o blanks);
✓ Show All Line Numbers, se abilitato, mostra gli indici di riga anche in corrispondenza di righe prive di testo;
✓ Word Wrap, se abilitato, inserisce a capo automatici in funzione dello spazio disponibile per il testo esposto;
✓ Change Split Orientation, permette di modificare la disposizione dei testi da confrontare (i.e. impilati o affiancati).
Il Text Diff utilizza appositi colori per evidenziare le differenze tra i testi esposti: ✓ giallo, in corrispondenza di righe con differenze; ✓ verde, in corrispondenza di caratteri differenti; ✓ rosso, in corrispondenza di righe presenti solo in uno dei due testi; ✓ grigio, in corrispondenza di righe vuote presenti solo in uno dei due testi; |
L'aspetto grafico e le funzionalità di un Text Diff possono essere modificati run-time mediante le proprietà esposte dal visualizzatore delle Property contestuale. Per fare ciò, occorre:
✓ accedere in modifica, abilitando il Design Mode, mediante l'omonimo pulsante del ribbon Layout della finestra di esecuzione di un Book;
✓ verificare che il pannello delle Property sia visibile ovvero premenre il tasto F4 da tastiera per visualizzarlo.
L'aspetto grafico di una Text Diff può essere modificato anche a livello di Model del Book. Selezionando con il tasto destro del mouse il riquadro associato al Text Diff, è possibile scegliere l'opzione Layout dal menù a tendina contestuale. Essa premette di accedere al visualizzatore delle Property associate al Text Diff corrente. Tuttavia in questo caso le modifiche grafiche saranno visibili solo dopo l'esecuzione del Book. |
Oltre agli elementi definitori LeftColumn e RightColumn, il visualizzatore delle Proprety di un Text Diff espone le seguenti proprietà:
✓ LeftColumnCaption definisce un piè di pagina personalizzato per la colonna di testo a sinistra del Viewer;
✓ RightColumnCaption definisce un piè di pagina personalizzato per la colonna di testo alla destra del Viewer;
✓ IgnoreBlanks permette di rimuove dai testi esposti gli spazi in eccesso a destra e a sinistra di ogni linea;
✓ IgnoreCase consente di rende il confronto case insensitive;
✓ ShowUnmatchingChars permette di evidenziare i singoli caratteri che differiscono nei testi esposti;
✓ ShowSpecialChars consente di mostrare i caratteri speciali non stampabili (e.g. tabulazioni, line feed o blanks);
✓ ShowLineNumbers permette di mostrare gli indici di riga anche in corrispondenza di righe prive di testo;
✓ WordWrap consente di inserisce a capo automatici in funzione dello spazio disponibile per il testo esposto;