Modifiche avanzate

Questo articolo contiene i seguenti argomenti:
casm173
Questo articolo contiene i seguenti argomenti:
Se si sceglie di utilizzare strumenti diversi da Web Screen Painter per modificare HTMPL o nel caso di requisiti di personalizzazione particolarmente complessi, è opportuno tenere presenti vari aspetti della modifica di pagine Web. Tuttavia, si raccomanda di lavorare con WSP per modificare le pagine Web di CA SDM prima di provare un qualsiasi altro approccio. WSP è in grado di apportare la maggior parte delle modifiche necessarie e di gestire automaticamente le operazioni ausiliarie, ad esempio inserisce gli aggiornamenti nella directory del sito Mods e distribuisce i file pubblicati a tutti i server.
Motore Web e relativa cache
Durante la modifica di pagine Web, è utile conoscere la struttura del server Web CA SDM. L'interfaccia Web usa un contenitore servlet J2EE, ad esempio Tomcat, o un server HTTP standard, ad esempio Apache o Microsoft Internet Information Server (IIS). Quando un utente richiede una pagina Web di CA SDM, il server HTTP richiama il programma pdmweb.exe fornito.
Una volta avviato, pdmweb.exe imposta una connessione con un daemon CA SDM (o con il servizio Windows) chiamato motore Web. Il motore Web interpreta la richiesta dell'utente. Molte richieste esigono che il motore Web cerchi un file modello (HTMPL) e lo converta nell'HTML standard. Di solito, il processo di conversione richiede che il motore Web comunichi con un server di CA SDM per leggere o aggiornare il database e includere le informazioni sul database nell'HTML generato. Una volta completato l'HTML, il motore Web lo invia a pdmweb.exe, che lo invia a sua volta al browser dell'utente.
Per ottimizzare le prestazioni, il motore Web normalmente legge ogni file HTMPL una sola volta. Dopo aver analizzato il file e stabilito come convertirlo in HTML, il motore Web memorizza il file analizzato nella propria cache, riducendo notevolmente il tempo di elaborazione la volta successiva che il file viene richiesto. Sebbene la cache sia utile in un ambiente di produzione, nella fase di sviluppo può rivelarsi scomoda, in quanto i cambiamenti ai file HTMPL non hanno effetto finché il motore Web non viene riavviato o non viene usata l'utilità pdm_webcache. In un ambiente di sviluppo, è possibile specificare la proprietà del file di configurazione SuppressHtmplCache. Tuttavia, si consiglia di non sopprimere la cache HTMPL in un ambiente di produzione in quanto si ripercuote gravemente sul rendimento generale del motore Web.
Le pagine Web servite da pdmweb.exe vengono generate leggendo i file HTMPL e usando questi file per generare l'HTML. I file modello HTML sono identificati dall'estensione .htmpl. È possibile modificare questi file modello, e di conseguenza modificare le pagine Web di CA SDM.
Utilità pdm_webcache
Usare l'utilità pdm_webcache per rimuovere uno o più moduli HTMPL dalla cache del motore Web. Il motore Web sarà costretto a caricare questi moduli dal disco al loro successivo utilizzo e i cambiamenti potranno avere effetto.
pdm_webcache [-f form-name] [-g form-group] [-i interface] [-p process] [-v]
  • -f
    nome-modulo
    Specifica il nome del gruppo di moduli da rimuovere dalla cache, ad esempio detail_cr.htmpl. Per selezionare più gruppi di moduli, è possibile usare '%' (o '*') come carattere jolly. Ad esempio, specificando:
    -f detail%
    vengono selezionati tutti i moduli dettagli.
    Questo argomento è opzionale. Se omesso, vengono selezionati tutti i moduli nella cache.
  • -g
    gruppo-moduli
    Specifica il nome del gruppo di moduli da rimuovere dalla cache, ad esempio Analista. Per selezionare più gruppi di moduli, è possibile usare '%' o '*' come carattere jolly
    .
    Ad esempio, specificando:
    -g Anal%
    vengono selezionati tutti i gruppi di moduli che iniziano con "Anal".
    Questo argomento è opzionale. Se omesso, vengono selezionati tutti i gruppi di moduli nella cache.
  • -i
    interfaccia
    Specifica il nome dell'interfaccia Web da rimuovere dalla cache, ad esempio Analista, Cliente o Dipendente. È possibile usare '%' o '*' come carattere jolly. Ad esempio, specificando:
    -i a%
    viene selezionata l'interfaccia Analista.
    Questo argomento è opzionale. Se omesso, vengono selezionate tutte le interfacce nella cache.
  • -p
    processo
    Specifica il nome del motore Web di cui si vuole modificare la cache, ad esempio web:local.
    Questo argomento è opzionale. Se omesso, vengono selezionati tutti i motori Web.
  • -v
    Specifica di dettagliare l'output. Se questo argomento viene specificato, pdm_webcache elenca il nome completo di ogni modulo rimosso dalla cache, nel formato:
    interfaccia
    :
    gruppo-moduli
    :
    nome-modulo
    Questo argomento è opzionale. Se omesso, pdm_webcache riporta solo il numero dei moduli rimossi dalla cache di ogni motore Web.
Modifica dei modelli HTML
Di solito è possibile apportare due tipi di Cambiamento ai modelli HTML:
  • È possibile apportare modifiche che saranno visibili all'utente ma che non saranno modificate dall'interfaccia Web prima della visualizzazione. Ad esempio, è possibile aggiungere un file GIF per il logo dell'azienda alle pagine dell'interfaccia Web (un "pass through") aggiungendo il riferimento al file modello appropriato oppure è possibile aggiungere codice JavaScript alla pagina per convalidare l'input. Tutti i cambiamenti apportati al file HTMPL che non sono contenute in un tag PDM, come definito di seguito, vengono passate inalterate nell'HTML restituito all'utente.
  • È possibile modificare le sezioni sostituibili dei modelli. Ad esempio, è possibile aggiungere i dati di una nuova applicazione alla pagina dei dettagli della Richiesta.
Vari tipi di voci di modelli permettono di realizzare quanto segue:
  • Visualizzare le informazioni da CA SDM all'utente.
  • Impostare una pagina di query.
  • Creare collegamenti ad altre pagine di CA SDM usando i tag di collegamento.
File che non devono essere modificati
Determinati modelli HTMPL e file JavaScript contengono informazioni necessarie a molti moduli Web di CA SDM. Le informazioni in questi modelli dipendono dalla release e sono essenziali per il funzionamento corretto dell'interfaccia Web di CA SDM. Pertanto questi file vengono sempre sostituiti quando viene rilasciata una nuova versione di CA SDM; i cambiamenti apportati a questi file non rientrano nell'aggiornamento.
I modelli interessati da questa limitazione sono:
  • ahdtop.htmpl
    Contiene stili, script e variabili JavaScript usati nell'interfaccia Web di CA SDM. Questo file fa parte del frameset principale dell'interfaccia Web ed è sempre presente durante una sessione. Tutti i moduli di CA SDM hanno accesso alla variabile JavaScript ahdtop che fa riferimento alla finestra contenente ahdtop.htmpl.
  • menu_frames.htmpl
    Definisce il frameset HTML usato dal modulo principale di CA SDM.
  • msg_cat.js
    Contiene il testo di tutti i messaggi usati nei file JavaScript di CA SDM.
  • reports.htmpl
    Contiene i dati necessari ai report Web.
  • std_body.htmpl
    Contiene le informazioni standard usate all'inizio della sezione BODY della maggior parte dei modelli HTMPL.
  • std_footer.htmpl
    Contiene le informazioni standard usate alla fine della sezione BODY della maggior parte dei modelli HTMPL.
  • std_head.htmpl
    Contiene le informazioni standard usate all'inizio della sezione HEAD della maggior parte dei modelli HTMPL.
  • styles.htmpl
    Contiene gli stili CSS usati nell'interfaccia Web di CA SDM.
Sebbene non sia possibile modificare questi file direttamente, è possibile aggiungervi informazioni. Ogni file xxx.htmpl con restrizioni (tranne i file menu_frames.htmpl e reports.htmpl) ha un file xxx_site.htmpl corrispondente che è possibile modificare. Ad esempio, è possibile aggiungere informazioni aggiuntive al file ahdtop.htmpl modificando ahdtop_site.htmpl o aggiungere nuovi messaggi modificando msg_cat_site.js.
Il file xxx_site.htmpl corrispondente a ciascun file ad accesso limitato viene caricato dopo il file principale in modo da poter ignorare o modificare il JavaScript nel file principale. Prestare attenzione quando si aggiungono informazioni perché cambiamenti non appropriati a questi file possono causare problemi imprevisti all'interfaccia Web di CA SDM.
Indicazioni per i nuovi file HTMPL
È possibile aggiungere i propri file HTMPL all'interfaccia Web di CA SDM. Attenersi a queste linee guida per essere certi che il file HTMPL funzioni correttamente con il resto dell'interfaccia di CA SDM:
  1. Includere l'istruzione seguente in un punto qualsiasi della sezione <HEAD> del file. Questa istruzione deve seguire l'istruzione <TITLE> (se presente). Definisce diverse variabili globali JavaScript richieste dall'interfaccia Web di CA SDM e inoltre registra la pagina nel gestore finestre di CA SDM:
    <PDM_INCLUDE FILE=std_head.htmpl>
  2. Includere l'attributo seguente come parte del tag <BODY> del file. Questo attributo aiuta il gestore finestre di CA SDM a tenere traccia della pagina:
    onUnload="deregister_window()"
  3. Includere l'istruzione seguente all'inizio della sezione <BODY> del file. L'argomento "menubar=no" è facoltativo; se specificato, elimina la barra dei menu di CA SDM:
    <PDM_INCLUDE FILE=std_body.htmpl [menubar=no]>
  4. Includere l'istruzione seguente alla fine della sezione <BODY> del file.
    <PDM_INCLUDE FILE=std_footer.htmpl>
Aggiunta di informazioni sullo stato definite dall'utente
Molti clienti desiderano avere la possibilità di incorporare proprie informazioni sullo stato nelle pagine Web di CA SDM e che CA SDM passi le informazioni sullo stato a tutte le pagine successive nel corso della sessione utente. Queste informazioni possono essere interrogate usando istruzioni condizionali nei file HTMPL.
Le informazioni sullo stato per una sessione utente vengono inserite impostato l'attributo speciale USER_STATE nei collegamenti o nei moduli. Una volta inviata al motore Web di CA SDM, ogni pagina presentata all'utente avrà a disposizione la variabile HTMPL USER_STATE che sarà impostata sull'ultimo valore inviato per USER_STATE.
Gli esempi seguenti mostrano come è possibile impostare una voce in CA SDM da un altro punto del sito, ad esempio dalle pagine destinate al personale addetto alle vendite:
  • Uso di un collegamento ipertestuale
    <a href="/CAisd/pdmweb.exe?USER_STATE=Sales">Service Desk</a>
  • Uso di un modulo con un campo nascosto
    <form action="http://yourhost.com/CAisd/pdmweb.exe"> <input type=hidden name=USER_STATE value=Sales>
    Fare clic sul pulsante per Service Desk
    <input type=submit> </form>
Quindi, è possibile modificare i moduli HTMPL in base alle informazioni sullo stato:
<PDM_IF "$USER_STATE" == "Sales">
informazioni personalizzate per il personale di vendita
<PDM_ELIF "$USER_STATE" == "Engineering">
informazioni personalizzate per i tecnici
<PDM_ELSE>
informazioni per chiunque altro
</PDM_IF>
Creazione di una Richiesta direttamente da un modello
È possibile creare una nuova Richiesta direttamente da un modello usando un URL.
Esempio
http://machinename/CAisd/pdmweb.exe?FACTORY=cr+OP=CREATE NEW+PERSID=cr:3106+use_template=1
in cui cr:3106 è il persid del modello.
Directory usate dal server HTTP
L'installazione predefinita di CA SDM definisce due directory virtuali nel server HTTP:
  • La directory virtuale CAisd punta alla directory seguente nell'installazione di CA SDM:
    1. In Windows:
      directory- installazione
      \bopcfg\www\wwwroot
    2. In UNIX: $NX_ROOT/bopcfg/www/wwwroot
  • La directory virtuale CAisd/sitemods punta alla directory seguente nell'installazione di CA SDM:
    1. In Windows:
      directory-installazione
      \site\mods\www\wwwroot
    2. In UNIX: $NX_ROOT/site/mods/www/wwwroot
Le sottodirectory di queste directory virtuali sono:
Sottodirectory
Contenuto
css
Fogli di stile
help
Guida dell'interfaccia Web
html
file HTML
img
File grafici
scripts
JavaScript
sitemods
Modifiche definite dal sito
Se si decide di creare una versione di un file qualsiasi nelle directory css, html, img o scripts, si consiglia di non aggiornare il file in /CAisd. Al contrario, memorizzare il file nella sottodirectory appropriata di /CAisd/sitemods. Ad esempio, se si decide di modificare un foglio di stile in /CAisd/css, memorizzare la versione modificata in /CAisd/sitemods/css. Quando il motore Web analizza i file HTMPL, modifica automaticamente i nomi file che iniziano con $CAisd in modo che puntino a sitemods se il file esiste in una sottodirectory di sitemods.
L'uso della directory /CAisd/sitemods comporta tre vantaggi:
  • Consente di tenere traccia dei file distribuiti che sono stati modificati.
  • Facilita l'accesso alla versione originale nel caso si verifichi un problema.
  • Facilita il processo di installazione di una release di manutenzione o di una nuova release dato che l'installazione di CA SDM non inserisce mai alcun file nella directory /CAisd/sitemods.
Non esiste una sottodirectory /CAisd/sitemods/help. Poiché i dati della Guida si trovano in file HTML standard (non nei modelli HTMPL), il motore Web non può modificare dinamicamente i riferimenti ai file. Se è necessario modificare la Guida, è necessario apportare le modifiche in /CAisd/help.
La sottodirectory HTML contiene pochi file molto usati che non devono essere elaborati dal motore Web e possono migliorare le prestazioni se inseriti nella cache del browser. Se si crea una versione di questi file, verificare attentamente che non contengano riferimenti ad altri file modificati. Poiché non avviene alcuna elaborazione da parte del motore Web, è necessario inserire manualmente un riferimento a sitemods dove appropriato.
Scaricamento allegati PDF
Quando si scarica e si tenta di visualizzare un allegato PDF in CA SDM, è possibile che il file PDF non venga visualizzato correttamente o che venga visualizzata una finestra vuota dopo aver eseguito l'aggiornamento alla versione di Adobe Acrobat 7.0 o 8.0. Con CA SDM, è possibile visualizzare correttamente il file PDF completando i seguenti passaggi:
  1. Impostare il parametro
    forceDecompressOnDownload
    su SÌ in $NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\web.xml.
    Linux: $NX_ROOT è "/opt/CAisd"
  2. Riavviare i servizi CA SDM.