Modifications avancées

Cet article contient les rubriques suivantes :
casm173
Cet article contient les rubriques suivantes :
Vous devez connaître divers aspects liés à la modification des pages Web si vous choisissez d'utiliser d'autres outils que le concepteur Web pour modifier HTMPL ou si vous avez des exigences de personnalisation inhabituellement complexes. Cependant, nous vous recommandons d'utiliser le concepteur Web pour modifier les pages Web de CA SDM avant d'essayer une autre approche. Le concepteur Web peut effectuer pratiquement toutes les modifications nécessaires et gère automatiquement les demandes client standard, telles que le placement des mises à jour dans le répertoire site mods et la distribution des fichiers publiés à tous les serveurs.
Moteur Web et mémoire cache
Pour modifier des pages Web, il est utile de comprendre la structure du serveur Web CA SDM. L'interface Web utilise soit un conteneur de servlet J2EE tel que Tomcat, soit un serveur HTTP standard tel qu'Apache ou IIS (Microsoft Internet Information Server). Lorsqu'un utilisateur appelle une page Web de CA SDM, le serveur HTTP appelle le programme Web fourni, pdmweb.exe.
Au démarrage, le programme pdmweb.exe établit une connexion à un démon CA SDM (ou à un service Windows) appelé moteur Web. Le moteur Web interprète l’appel de l’utilisateur. Pour la plupart des requêtes, le moteur Web doit rechercher un fichier modèle (HTMPL) et le convertir en HTML standard. En général, pour effectuer la conversion, le moteur Web doit communiquer avec un serveur CA SDM pour lire ou mettre à jour la base de données et inclure des informations de base de données dans le HTML généré. Une fois le HTML prêt, le moteur Web l'envoie au programme pdmweb.exe qui le renvoie au navigateur de l'utilisateur.
Afin d'optimiser les performances, le moteur Web ne lit normalement qu'une fois chaque fichier HTMPL. Après avoir analysé le fichier et déterminé la manière de le convertir en HTML, le moteur Web conserve le fichier analysé dans sa mémoire cache, ce qui réduit sensiblement le temps de traitement la prochaine fois que le fichier sera demandé. Si la mémoire cache est très bénéfique dans un environnement de production, ce n'est pas toujours le cas dans un environnement de développement, dans la mesure où il est nécessaire de recycler le moteur Web ou d'exécuter l'utilitaire pdm_webcache pour que les modifications des fichiers HTMPL prennent effet. Dans un environnement de développement, vous pouvez contourner cette exigence en définissant la propriété du fichier de configuration SuppressHtmplCache. Pourtant, nous vous recommandons de ne pas supprimer le cache HTMPL dans un environnement de production en raison de l'impact important qu'a cette opération sur le moteur Web.
Les pages Web publiées par le programme pdmweb.exe sont générées par la lecture des fichiers HTMPL dont l'utilisation génère les fichiers HTML. Les fichiers de modèle HTML sont identifiés par le suffixe .htmpl. Vous pouvez modifier ces fichiers modèles et donc les pages Web de CA SDM.
Utilitaire pdm_webcache
L'utilitaire pdm_webcache permet de supprimer un ou plusieurs formulaires HTMPL de la mémoire cache du moteur Web. Le moteur Web doit alors aller chercher ces formulaires sur le disque lors de leur utilisation suivante, et les changements apportés aux formulaires prennent effet.
pdm_webcache [-f form-name] [-g form-group] [-i interface] [-p process] [-v]
  • -f
    nom-formulaire
    Spécifie le nom du groupe de formulaires à supprimer de la mémoire cache (detail_cr.htmpl, par exemple). Vous pouvez utiliser le signe "%" (ou "*") comme caractère générique pour sélectionner plusieurs formulaires. Par exemple, la spécification :
    -f detail%
    sélectionne tous les formulaires détaillés.
    Cet argument est facultatif. S’il n’est pas défini, tous les formulaires présents dans la mémoire cache sont sélectionnés.
  • -g
    groupe-formulaires
    Spécifie le nom du groupe de formulaires à supprimer de la mémoire cache (Analyste, par exemple). Vous pouvez utiliser le signe "%" (ou "*") comme caractère générique pour sélectionner plusieurs groupes de formulaires
    .
    Par exemple, la spécification :
    -g Ana%
    sélectionne tous les groupes de formulaires commençant par "Ana".
    Cet argument est facultatif. S’il n’est pas défini, tous les groupes de formulaires présents dans la mémoire cache sont sélectionnés.
  • -i
    interface
    Spécifie le nom de l'interface Web à supprimer de la mémoire cache, tel qu'analyste, client ou employé. Vous pouvez utiliser le signe « % » (ou « * ») comme caractère générique. Par exemple, la spécification :
    -i a%
    sélectionne l’interface Web analyste.
    Cet argument est facultatif. S’il n’est pas défini, toutes les interfaces du cache sont sélectionnées.
  • -p
    processus
    Spécifie le nom du processus du moteur Web dont la mémoire cache doit être modifiée, par exemple web:local.
    Cet argument est facultatif. S'il n'est pas défini, tous les moteurs Web sont sélectionnés.
  • -v
    Spécifie le mode de sortie prolixe. Lorsque cet argument est défini, pdm_webcache indique le nom complet de chaque formulaire supprimé de la mémoire cache sous la forme suivante :
    interface
    :
    groupe-formulaires
    :
    nom-formulaire
    Cet argument est facultatif. S'il n'est pas défini, pdm_webcache indique uniquement le nombre de formulaires supprimés de la mémoire cache de chaque moteur Web.
Modification des modèles HTML
Généralement, vous pouvez effectuer deux types de modifications :
  • Vous pouvez effectuer des modifications qui seront visibles par l'utilisateur mais qui ne seront pas altérées par l'interface Web avant d'être affichées. Par exemple, vous pouvez ajouter le fichier GIF du logo de votre entreprise aux pages de l'interface Web en insérant la référence au modèle approprié ou ajouter un code JavaScript à votre page pour valider les données entrées. Les changements apportés au fichier HTMPL qui ne sont pas contenus dans une balise PDM, telle que définie ci-dessous, sont transmis sans modification dans le code HTML qui est renvoyé à l'utilisateur.
  • Vous pouvez modifier les sections des modèles pouvant être remplacées. Par exemple, vous pouvez ajouter des données d'application à la page de détail de la demande.
Plusieurs types d'entrées de modèle vous permettent d'effectuer les opérations suivantes :
  • Afficher des informations à partir de CA SDM
  • Définir une page de requête
  • Créer des liens vers d'autres pages de CA SDM à l'aide de balises de liens
Fichiers à ne pas modifier
Certains modèles HTMPL et fichiers JavaScript contiennent des informations nécessaires à de nombreux formulaires Web de CA SDM. Ces informations dépendent de la version et sont essentielles au bon fonctionnement de l'interface Web de CA SDM. C'est pourquoi ces fichiers sont toujours remplacés lors de la publication d'une nouvelle version de CA SDM ; les modifications apportées ne sont pas migrées.
Les modèles concernés par cette restriction sont les suivants :
  • ahdtop.htmpl
    Contient des styles, des scripts et des variables JavaScript utilisés dans toute l'interface Web de CA SDM. Ce fichier fait partie du frameset principal de l'interface Web. Il est toujours présent en cours de session. Tous les formulaires CA SDM ont accès à la variable JavaScript ahdtop qui fait référence à la fenêtre contenant ahdtop.htmpl.
  • menu_frames.htmpl
    Définit le jeu de cadres HTML utilisé par le formulaire principal de CA SDM.
  • msg_cat.js
    Contient le texte de tous les messages utilisés dans les fichiers JavaScript de CA SDM.
  • reports.htmpl
    Contient les données requises pour les rapports Web.
  • std_body.htmpl
    Contient les informations standard utilisées au début de la section BODY de la plupart des modèles HTMPL.
  • std_footer.htmpl
    Contient les informations standard utilisées à la fin de la section BODY de la plupart des modèles HTMPL.
  • std_head.htmpl
    Contient les informations standard utilisées au début de la section HEAD de presque tous modèles HTMPL.
  • styles.htmpl
    Contient les styles CSS utilisés dans toute l'interface Web de CA SDM.
Si vous ne pouvez pas modifier ces fichiers directement, vous pouvez leur ajouter des informations. A chaque fichier restreint xxx.htmpl (à l’exception des fichiers menu_frames.htmpl et reports.htmpl) correspond un fichier xxx_site.htmpl que vous pouvez modifier. Par exemple, vous pouvez ajouter des informations supplémentaires au fichier ahdtop.htmpl en modifiant le fichier ahdtop_site.htmpl ou ajouter de nouveaux messages en modifiant le fichier msg_cat_site.js.
Le fichier xxx_site.htmpl correspondant à chaque fichier restreint est chargé après le fichier principal, vous pouvez donc remplacer ou changer JavaScript dans le fichier principal. Soyez prudent lorsque vous ajoutez des informations, car tout changement maladroit dans ces fichiers risque d'entraîner des problèmes inattendus dans l'ensemble de l'interface Web de CA SDM.
Recommandations pour les nouveaux fichiers HTMPL
Vous pouvez ajouter vos propres fichiers HTMPL à l'interface Web de CA SDM. Suivez les recommandations suivantes pour vous assurer que votre fichier HTMPL fonctionne correctement avec le reste de l'interface de CA SDM :
  1. Insérez l’instruction suivante dans la section du fichier. Elle doit suivre l’instruction (si elle existe). Elle définit plusieurs variables globales JavaScript requises par l'interface Web de CA SDM et enregistre votre page dans le gestionnaire de fenêtres de CA SDM :
    <PDM_INCLUDE FILE=std_head.htmpl>
  2. Insérez l’attribut suivant dans la balise du fichier. Il permet au gestionnaire de fenêtres de CA SDM d'effectuer le suivi de votre page :
    onUnload="deregister_window()"
  3. Insérez l’instruction suivante au début de la section de votre fichier. L'argument menubar=no est facultatif. S'il est défini, il supprime la barre de menus de CA SDM :
    <PDM_INCLUDE FILE=std_body.htmpl [menubar=no]>
  4. Insérez l’instruction suivante à la fin de la section de votre fichier.
    <PDM_INCLUDE FILE=std_footer.htmpl>
Ajout d’informations d’état définies par l’utilisateur
De nombreux clients souhaitent pouvoir insérer leurs propres informations d'état dans les pages Web de CA SDM pour que CA SDM les transmette à toutes les pages suivantes utilisées par la session de l'utilisateur. Ces informations sont accessibles à l'aide d'instructions conditionnelles insérées dans les fichiers HTMPL.
Vous obtenez les informations d’état d’une session utilisateur en définissant l’attribut spécial USER_STATE dans vos liens ou dans vos formulaires. Une fois la soumission au moteur Web de CA SDM effectuée, chaque page présentée à l'utilisateur contient la variable HTMPL USER_STATE disponible et définie à sa dernière valeur.
Les exemples suivants présentent la procédure vous permettant de définir une entrée dans CA SDM à partir d'une autre partie de votre site, par exemple, à partir des pages destinées à votre équipe commerciale :
  • Utilisation d’un lien hypertexte
    <a href="/CAisd/pdmweb.exe?USER_STATE=Sales">Service Desk</a>
  • Utilisation d’un formulaire comportant un champ caché
    <form action="http://yourhost.com/CAisd/pdmweb.exe"> <input type=hidden name=USER_STATE value=Sales>
    Cliquez sur le bouton pour accéder au Centre de services.
    <input type=submit> </form>
Vous pouvez ensuite modifier vos formulaires HTMPL en fonction des informations d'état :
<PDM_IF "$USER_STATE" == "Sales">
informations personnalisées pour l’équipe commerciale
<PDM_ELIF "$USER_STATE" == "Engineering">
informations personnalisées pour les ingénieurs
<PDM_ELSE>
informations pour les autres personnes
</PDM_IF>
Création directe d'une demande à partir d'un modèle
Il est possible de créer une demande directement à partir d'un modèle à l'aide d'une URL.
Exemple
http://machinename/CAisd/pdmweb.exe?FACTORY=cr+OP=CREATE NEW+PERSID=cr:3106+use_template=1
où cr:3106 est l’ID persistant du modèle.
Répertoires utilisés par le serveur HTTP
L'installation par défaut de CA SDM définit deux répertoires virtuels pour votre serveur HTTP :
  • Le répertoire virtuel CAisd pointe vers le répertoire suivant dans l’installation de CA SDM :
    1. Sous Windows :
      répertoire d'installation
      \bopcfg\www\wwwroot
    2. Sous UNIX : $NX_ROOT/bopcfg/www/wwwroot
  • Le répertoire virtuel CAisd/sitemods pointe vers le répertoire suivant dans l’installation de CA SDM :
    1. Sous Windows :
      répertoire-installation
      \site\mods\www\wwwroot
    2. Sous UNIX : $NX_ROOT/site/mods/www/wwwroot
Les sous-répertoires de ces répertoires virtuels sont les suivants :
Sous-répertoire
Contenu
css
Feuilles de style
help
Aide de l’interface Web
html
Fichiers HTML
img
Fichiers graphiques
scripts
JavaScript
sitemods
Modifications définies par le site
Si vous décidez de créer une version de l'un des fichiers des répertoires css, html, img ou scripts, il est fortement déconseillé d'en modifier la version originale dans /CAisd. Copiez plutôt le fichier dans le sous-répertoire approprié de /CAisd/sitemods. Par exemple, pour modifier une feuille de style sous /CAisd/css, enregistrez votre version modifiée dans le dossier /CAisd/sitemods/css. Lorsque le moteur Web analyse un fichier HTMPL, il modifie automatiquement les noms de fichiers commençant par $CAisd pour désigner sitemods si le fichier existe dans un sous-répertoire de sitemods.
L'utilisation du répertoire /CAisd/sitemods présente les avantages suivants :
  • Vous conservez un enregistrement des fichiers distribués que vous avez modifiés.
  • Vous pouvez accéder facilement à la version originale en cas de question ou de problème.
  • L’installation d’une mise à niveau ou d’une nouvelle version est plus facile, car CA SDM ne place rien dans le répertoire /CAisd/sitemods.
Il n'existe pas de sous-répertoire /CAisd/sitemods/help. Les données de l'aide se trouvant dans des fichiers HTML standard (et non dans des modèles HTMPL), le moteur Web ne peut pas changer dynamiquement les références de fichier. Pour modifier l’aide, introduisez vos modifications dans le dossier /CAisd/help.
Le sous-répertoire HTML contient quelques fichiers très utilisés qui ne nécessitent pas de traitement du moteur Web et qui peuvent améliorer les performances lorsqu'ils sont placés dans la mémoire cache du navigateur. Si vous créez une version de l’un de ces fichiers, vérifiez soigneusement les références à d’autres fichiers modifiés dans ce fichier. Etant donné qu'il n'y a pas de traitement du moteur Web, vous devez insérer manuellement une référence à sitemods si nécessaire.
Téléchargement des pièces jointes au format PDF
Lorsque vous téléchargez une pièce jointe au format PDF et que vous essayez de l'afficher dans CA SDM, le fichier PDF peut ne pas s'afficher correctement ou une fenêtre vide peut apparaître après une mise à niveau vers Adobe Acrobat 7.0 ou 8.0. Avec CA SDM, vous pouvez afficher le fichier PDF correctement en effectuant la procédure suivante :
  1. Définissez le paramètre
    forceDecompressOnDownload
    sur YES dans $NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\web.xml.
    Sous Linux : $NX_ROOT est /opt/CAisd
  2. Redémarrez les services CA SDM.