English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Client
  • Libreria Applicazione
  • Inizializzazione

Compress RD3

proprietà link

Scopo

Indica al sistema se occorre comprimere i file Javascript e CSS utilizzati dal framework RD3. Qualora l'applicazione non usi la compressione il sistema invia al browser, all'avvio di una nuova sessione, il file Desktop.htm che rappresenta la pagina inziale dell'applicazione web. Al suo interno vengono elencati tutti i file che il browser deve scaricare. Ad oggi vengono inviati al browser i seguenti file:

Template\RD3\ClientParams.js
Template\RD3\DDManager.js
Template\RD3\Desktop.js
Template\RD3\full.js
Template\RD3\GlobalObject.js
Template\RD3\HashTable.js
Template\RD3\KBManager.js
Template\RD3\MessagePump.js
Template\RD3\ServerParams.js
Template\RD3\Debug\DebuggerItem.js
Template\RD3\Debug\DebuggerManager.js
Template\RD3\Events\ClientEvents.js
Template\RD3\Events\IDEvent.js
Template\RD3\GFX\GFX.js
Template\RD3\GFX\GFXManager.js
Template\RD3\Objects\ATimer.js
Template\RD3\Objects\Book.js
Template\RD3\Objects\BookBox.js
Template\RD3\Objects\BookPage.js
Template\RD3\Objects\BookSection.js
Template\RD3\Objects\BookSpan.js
Template\RD3\Objects\ButtonBar.js
Template\RD3\Objects\CmdList.js
Template\RD3\Objects\Command.js
Template\RD3\Objects\Graph.js
Template\RD3\Objects\IDPanel.js
Template\RD3\Objects\IndHandler.js
Template\RD3\Objects\Indicator.js
Template\RD3\Objects\Message.js
Template\RD3\Objects\MessageBox.js
Template\RD3\Objects\MessageTooltip.js
Template\RD3\Objects\PDFPrint.js
Template\RD3\Objects\PField.js
Template\RD3\Objects\PGroup.js
Template\RD3\Objects\PopupDelay.js
Template\RD3\Objects\PopupError.js
Template\RD3\Objects\PopupFrame.js
Template\RD3\Objects\PopupPreview.js
Template\RD3\Objects\PPage.js
Template\RD3\Objects\PValue.js
Template\RD3\Objects\Tab.js
Template\RD3\Objects\TabbedView.js
Template\RD3\Objects\TimerHandler.js
Template\RD3\Objects\Tree.js
Template\RD3\Objects\TreeNode.js
Template\RD3\Objects\ValueList.js
Template\RD3\Objects\ValueListItem.js
Template\RD3\Objects\VisAttrList.js
Template\RD3\Objects\VisAttrObj.js
Template\RD3\Objects\WebEntryPoint.js
Template\RD3\Objects\WebForm.js
Template\RD3\Objects\WebFrame.js

per un totale di 52 file Javascript la cui dimensione totale è di circa 1.2 MB.

Inoltre vengono scaricati sul client il file rd3.css la cui dimensione è di circa 102 KB e che contiene tutti gli stili utilizzati dall'applicazione. Questi file, una volta scaricati sul PC dell'utente, vengono conservati nella cache del browser e vengono riscaricati solo se necessario.

Per ridurre sia il numero di connessioni da avviare sia la quantità di dati da scaricare il sistema può utilizzare la compressione. Quando questa è attivata il sistema utilizza una sequenza iniziale diversa. Invia, come pagina iniziale, il file Desktop_sm.htm che contiene un unico file .JS di circa 554 KB che, a sua volta, viene compresso dal server riducendone ulteriormente la dimensione a circa 112 KB. Inoltre invece del file rd3.css viene inviato al browser il file rd3_sm.css la cui dimensione è di 5.8 KB. Quindi, invece di inviare al browser 53 file per un totale di 1.3 MB vengono inviati 2 file per un totale di 118 KB.

Sintassi

Applicazione.CompressRD3 := True

Quando letta

Restituisce True se l'applicazione sta effettuando la compressione dei file utilizzati dal framework RD3, False altrimenti.

Quando impostata

Indica al sistema se occorre comprimere i file utilizzati dal framework RD3.

Esempio di codice

// **************************************************************
// Evento notificato dall'applicazione quando viene inizializzata
// **************************************************************

event IDApp.Initialize()
{
  IDApp.UserRole := Amministratore
  // 
  // Attivo comunque la compressione dei file RD3

  IDApp.CompressRD3 := True
}

Ultima modifica: 04/04/2016 / Validità: da 8.0.3560

  • Il sistema calcola in automatico il valore della proprietà CompressRD3: se l'applicazione è compilata senza debug la proprietà viene valorizzata a True mentre se l'applicazioen viene compilata con il debug attivato la proprietà viene valorizzata a False. Questo perché se viene attivato il debug è più facile analizzare il codice Javascript utilizzando il debugger proprietario del browser. Poiché il sistema calcola il valore della proprietà prima dell'evento Initialize il programmatore può, qualora lo desideri, cambiarne il valore in tale evento.
  • Qualora venga attivata la compressione il sistema utilizza il file Desktop_sm.htm. Come è possibile osservare a differenza del file Desktop.htm, tale file non è completo. Il sistema, infatti, aggiunge altro HTML alla fine del file per inviare, in una sola risposta, sia il file Desktop_sm.htm sia tutte le immagini facenti parte del template. Così il browser con un'unica connessione al server riceve sia i file .js sia tutte le immagini del template utilizzato. In questo modo viene completamente eliminato l'effetto "spettinato", ovvero quel fastidioso effetto tipico delle applicazioni web che fa sì che l'utente veda la pagina muoversi man mano che le immagini vengono scaricate. Inviando tutte le immagini all'avvio il browser ha già tutte le immagini in memoria e può mostrare subito la pagina completa all'utente.
  • Qualora si desideri modificare a mano i file Javascript o i file CSS è necessario comprimerli per poterli servire quando l'applicazione viene compilata senza debug o il parametro viene valorizzato a True. Per fare questo nella cartella c:\Program Files\INDE\CURRENT\Template è presente il file batch CompactRD3.bat il cui scopo è quello di compattare tutti i file Javasctip del template e creare un apposito file chiamato full.js che viene poi compresso ed inviato al browser. Tale batch file comprime anche il file rd3.css (presente in ognuna delle tre directory dei temi grafici) generando il file rd3_sm.css. Tale batch utilizza il tool open source YUI Compressor prodotto da Yahoo che occorre scaricare ed installare. Una volta installato occorre modificare il file CompactRD3.bat nella seconda riga indicando il percorso completo del file JAR del compressore, scrivendo per esempio:
       set YUICOMP="C:\Varie\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar"

Ti serve altro aiuto?

Consulta il Forum