Ajout du contenu statique à votre thème personnalisé

Une fois que vous avez créé un thème, vous pouvez commencer à le personnaliser en ajoutant du contenu statique.

Procédure

  1. Exportez le contenu à partir de la librairie de fichiers. Pour plus d'informations, voir Exportation de contenu à partir de la librairie de fichiers.
  2. Exportez les fichiers requis par votre thème personnalisé dans les dossiers suivants :
    • themes
    • skins
    • layout-templates
    • common-resources
  3. Enregistrez les fichiers dans votre disque.
  4. Ajoutez un module Web à votre thème personnalisé existant.
    Dans l'exemple ci-après, un nom de fichier EAR MyEar a été créé pour le thème personnalisé existant. Le fichier EAR contient un module Web nommé MyDynamicContent.war qui utilise le chemin de contexte /MyDynamicContent. Si vous avez plutôt créé un fichier WAR, vous devez créer un fichier EAR avant de poursuivre.
    1. Ouvrez votre projet existant ou importez votre fichier EAR existant en tant que projet dans l'outil qui sert à créer le thème personnalisé.
    2. Ajoutez un fichier WAR au fichier EAR existant. Dans cet exemple, le nom est MyStaticContent.war et la racine de contexte est /MyStaticContent.
    3. Le fichier web.xml pour le nouveau module Web peut être aussi simple que l'exemple suivant :
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
               http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd"
               version="2.4">
          <display-name>StaticHTMLContent</display-name>
          </web-app>
      La structure du fichier EAR se présente comme dans l'exemple suivant :
      MyEar
          META-INF
              application.xml
          MyStaticContent.war
          MyDynamicContent.war
      Voici un exemple de code du fichier application.xml :
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE 
          application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 
          1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
      <application id="MyEar">
          <display-name>MyEar</display-name>
          <module id="MyStaticContent">
              <web>
                  <web-uri>MyStaticContent.war</web-uri>
                  <context-root>/MyStaticContent</context-root>
              </web>
          </module>
          <module id="MyDynamicContent">
              <web>
                  <web-uri>MyDynamicContent.war</web-uri>
                  <context-root>/MyDynamicContent</context-root>
              </web>
          </module>   
      </application>
  5. Ajoutez le contenu statique exporté au module Web
    1. Copiez le contenu statique que vous avez exporté lors de l'étape 1 dans le fichier WAR.
      La structure du fichier WAR se présente comme dans l'exemple suivant :
      MyStaticContent
        themes
        skins
        layout-templates
        common-resources
        WEB-INF
        web.xml
  6. Créez une liste blanche et une liste noire.
    Pour des raisons de sécurité, la source de données WAR propose du contenu uniquement dès qu'un paramètre de contexte spécial est configuré. This context parameter defines which files from your web module HCL Portal is able to serve. Vous pouvez définir une liste blanche à l'aide d'une expression régulière qui correspond aux fichiers que vous souhaitez rendre disponibles. Ensuite, vous pouvez utiliser une liste noire pour supprimer certaines entrées de l'ensemble de fichiers disponibles dans la liste blanche. Une liste noire est utile si vous souhaitez proposer un dossier, sans un certain fichier à l'intérieur de celui-ci. Les expressions sont sensibles à la casse. Par exemple, WEB-INF est différent de Web-Inf.
    Les paramètres sont définis dans le fichier web.xml du module Web comportant le contenu du thème statique. In the following example, the context parameter is set to serve all files that are not part of the WEB-INF folder:
    <web-app> 
      ........
      <context-param>
      <description>A regular expression that defines which of the resources in the war file can 
                   be served by the portal war datasource.</description>
      <param-name>com.ibm.portal.whitelist</param-name>
      <param-value>.*</param-value>
      </context-param>     
      <context-param>
      <description>A regular expression that defines which of the resources in the war file cannot
                   be served by the portal war datasource.</description>
      <param-name>com.ibm.portal.blacklist</param-name>
      <param-value>WEB-INF/.*</param-value>
      </context-param>  
      ....
    </web-app>