DNN9: Più rapida la gestione dei propri contenuti.

DNN9: Più rapida la gestione dei propri contenuti.

Panoramica


DNN ha da lungo tempo un approccio unico nell’esperienza di gestione dei contenuti.
Infatti con DNN molte attività, come la creazione di una pagina e la modifica dei suoi contenuti, viene eseguita totalmente all’interno della pagina che si sta costruendo e quindi senza richiedere all'utente di lasciare la pagina su cui sta lavorando.
Tale approccio consente di effettuare modifiche, in maniera rapida e facile, al contenuto senza dover fare avanti e indietro tra uno strumento di editing in un browser e l’anteprima di pagina in un altro browser.
L'intero processo di editing e revisione avviene all'interno di una singola finestra del browser.


Più veloce e senza abbandonare il contesto

Prima di DNN 9, durante l'esperienza di amministrazione si era costretti a passare in un'altra pagina per effettuare semplici modifiche amministrative.

Per modificare il CSS, si doveva lasciare la pagina sulla quale si stava lavorando;
Per creare un nuovo ruolo con i relativi permessi, si doveva lasciare la pagina;
Se si voleva rivedere un errore verificatosi durante il tentativo di caricare un modulo nella pagina, si doveva lasciare la pagina.
Tutto questo richiedeva tempo e la navigazione portava ad una rottura dell’attenzione dell'utente sul compito che stava eseguendo.
Alcuni utenti, forse, ricorrevano all'utilizzo di più browser per gestire le attività amministrative, ma questo significava costantemente un passaggio tra più browser.

La nuova Persona Bar in DNN 9 cambia completamente l'esperienza amministrativa di DNN.
La Persona Bar è stata introdotta già nella Evoq e ha ricevuto recensioni estremamente positive.
Uno dei principali vantaggi della Persona bar è l’interfaccia che consente di accedere rapidamente alle funzioni amministrative e allo stesso tempo, permette di tornare subito al sito per le operazioni di modifica e/o revisione.
Questa esperienza è stata progettata per essere facilmente accessibile in caso di necessità, ma anche per tornare rapidamente sulla pagina.


Quando la velocità conta

Ho provato la nuova interfaccia di DNN 9 e sono rimasto subito incantato dalla velocità della UI. L’apertura della persona bar è incredibilmente veloce.
Il passaggio da una pagina di amministrazione all’altra è incredibile, così come ritornare alla pagina principale del mio sito web senza subire interruzioni.
La persona bar è così veloce da farmi pensare che ci fosse qualcosa di sbagliato nella mia installazione e che non stava funzionando.

Chiunque abbia mai eseguito un'applicazione Web Forms sa che con la messa a punto corretta si può essere scattanti.
Purtroppo, il modello di post back delle Web Forms comporta molti caricamenti di pagina per ogni piccola interazione con essa.

Se si aggiorna un modulo, è necessario aggiornare l'intera pagina;
Se modifichi alcuni contenuti, hai bisogno di un altro refresh di pagina.
Dover andare in un'altra pagina per fare un cambiamento di configurazione significa sopportare molteplici ricaricamenti della stessa.

Ottenere una pagina DNN che carichi in meno di 1 secondo è certamente realizzabile senza troppi sforzi (fino a quando non sei un utente autenticato perchè DNN è ottimizzato per gli utenti anonimi).
Una volta effettuato il login, DNN deve eseguire un sacco di controlli di sicurezza e presenta una nuova interfaccia di amministrazione. Tutto questo si trasforma da un caricamento di pagina di 1 secondo in un caricamento di 2, 3 o 4 secondi.

La persona bar e le pagine di amministrazione di DNN 9 sono scritte con l’utilizzo di un approccio basato su SPA.
Ogni pagina di amministrazione è un semplice layout HTML con qualche interazione JS che parla ad un servizio web in backend
.
Grazie a questo approccio, si è in grado di ridurre in modo significativo la quantità di lavoro che il browser e il server devono fare per visualizzare ciascuna pagina di amministrazione.


Scavando all’interno della piattaforma

Al fine di comprendere meglio le differenze tra i due approcci, cerchiamo di capire da dove provengono i miglioramenti delle prestazioni.

Guardando le interfacce di DNN 8 e 9 per il servizio di pianificazione non si notano differenze sostanziali di funzionalità. Entrambe mostrano tutte le attività di pianificazione presenti e quelli attualmente attive. Grazie a DNN 9 però, non è mai stato così semplice interrogare lo stato e lo storico delle pianificazioni. Con la nuova Persona Bar basata su SPA passare da un tab all’altro è veramente veloce (sotto i 300ms). L'interfaccia utente ha solo bisogno di aggiornare alcuni dati, senza perdere qualsiasi funzionalità o informazione.

Per andare più a fondo, diamo uno sguardo agli strumenti per gli sviluppatori di Chrome per vedere cosa succede nel browser sotto l’aspetto della velocità. Il caricamento della pagina Scheduler in DNN 8 ha richiesto quasi 2 secondi: scaricando ed elaborando 87 risorse diverse. La dimensioni finale della pagina è di circa 2Mb che è abbastanza pesante. Inoltre, dato che la maggior parte dei compiti di rendering avviene sul server, con l’aumento di carico del server, l'esperienza di amministrazione ne soffrirà. Infine, a causa del numero di richieste in corso, la latenza di rete può alterare drasticamente l'esperienza dell'utente.

DNN 9 ha corretto molti di questi problemi. Il caricamento della pagina Scheduler può essere fatto semplicemente con 9 richieste al server per i dati e le risorse. L'intero processo si completa in poco meno di 700ms e richiede solo 156Kb di trasferimento dei dati. Anche se il tempo di caricamento è un po' ingannevole: se si guarda alla chiamata del servizio web UpdateUserSettings e al loading task TaskScheduler.js, si vedrà che è stato aggiunto un ritardo di 500ms ed è per questo che le cose non sembrano troppo veloci. Senza questo ritardo sarebbe possibile caricare la pagina Scheduler in circa 150ms. Per fornire un esempio, potremmo caricare la pagina 2 volte il tempo necessario per aprire e chiudere l'occhio (un normale battito di ciglia è di 300 - 400ms).


Riepilogando

DNN 9 include il più significativo cambiamento dell'interfaccia utente in DNN da quando è stato introdotto il motore di skinning nel 2004.
La nuova Esperienza di Amministrazione consente di rimanere concentrati sul contenuto e non sulla attività di amministrazione.
Quando si ha bisogno di gestire le attività amministrative, si possono rapidamente e facilmente svolgere tali funzioni per poi tornare alla gestione dei contenuti in un battito di ciglia (anzi due).
Dopo tutto DNN è un Sistema di Gestione dei Contenuti non un Sistema di Amministrazione dei Siti Web, e il miglioramento dell'esperienza di amministrazione riflettere questo fatto.

Marco Suvigo
18 Ottobre 2016
Tag:
^