Adding a theme to the Communities configuration file

After defining a custom theme, you need to add it to the Communities configuration file, communities-config.xml.

Before you begin

To edit configuration files, you must use the IBM® WebSphere® Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool.

About this task

The list of themes displayed in the theme palette in Communities comes from list of themes defined in the Communities configuration file, communities-config.xml. When you define a new theme, you must add a corresponding theme entry to the configuration file for it to display in the user interface. The placement of the theme in the configuration file list matches its placement in the Communities theme palette. Typically, you might add new themes to the end of the list, but if you want to make your new theme the default community theme, you need to add it to the beginning of the list. This placement means that the theme is used whenever another theme has not been explicitly set.

Procedure

To add a theme to the Communities configuration file, complete the following steps.
  1. Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
    app_server_root\profiles\dm_profile_root\bin
    where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.

    You must start the client from this directory or subsequent commands that you enter do not execute correctly.

  2. Start the Communities Jython script interpreter.
    1. Use the following command to access the Communities configuration files:
      execfile("communitiesAdmin.py")
      If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
    2. Check out the Communities configuration files using the following command:

      CommunitiesConfigService.checkOutConfig("working_directory", "cell_name")

      where:
      • working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
        Note: AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
      • cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:

        print AdminControl.getCell()

      For example:
      CommunitiesConfigService.checkOutConfig("/opt/my_temp_dir", "CommServerNode01Cell")
  3. Open communities-config.xml in a text editor.
  4. Comment out any existing themes from prior releases. These themes are also known as gen4 themes.
  5. Add a new <comm:theme> element to include the properties for the new theme in the list of themes that are already defined in the file:
    For example:
    <comm:theme>
       <comm:themeUuid>corporate</comm:themeUuid>
       <comm:displayNameKey>label.theme.name.corporate</comm:displayNameKey>
       <comm:isScriptKey>false</comm:isScriptKey>
       <comm:cssUrl>/themes/corporateTheme/corporateTheme.css</comm:cssUrl>
       <comm:cssRtlUrl>/themes/corporateTheme/corporateThemeRTL.css</comm:cssRtlUrl>
       <comm:thumbnailUrl>/images/corporate.png</comm:thumbnailUrl>
    </comm:theme>
    where:
    • <comm:themeUuid> is the unique identifier of the theme that is stored in the database when the theme is selected. It should not contain spaces or special characters. It must be 36 characters or less. It should match the beginning of the directory name within themes and should match the beginning of the main xTheme.css files.
    • <comm:displayNameKey> is the resource key for the display name. For information about how to create property strings for the displayNameKey, see Specifying the name of a custom theme.
    • <comm:isScriptKey> is set to true when the display name is found in a JavaScript™ resource file.
    • <comm:cssUrl> is the location of the theme stylesheet.
    • <comm:cssRtlUrl> is the location of the theme stylesheet for right-to-left languages, such as Arabic and Hebrew.
    • <comm:thumbnailUrl> is the location of the thumbnail image that is displayed in the Theme Palette. The image must be included in the following location:

      /customization/communities/images/

    Note: Ensure the value specified for themeUuid is in lowercase.
  6. Save communities-config.xml.
  7. Use the wsadmin client to check out IBM Connections configuration files:
    1. Enter the following command to load the IBM Connections configuration file: execfile("connectionsConfig.py")

      If you are prompted to specify a service to connect to, type 1 to select the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file by using a local file path, you must select the node where the file is stored. This information is not used by the wsadmin client when you are making configuration changes.

    2. Enter the following command to check out IBM Connections configuration files:

      LCConfigService.checkOutConfig("working_directory","cell_name")

      where:
      • working_directory is the temporary working directory to which configuration files are copied. The files are kept in this working directory while you edit them.
        Notes:
        • When you specify a path to the working directory on a system that is running Microsoft Windows, use a forward slash for the directory. For example: "C:/temp".
        • AIX, and Linux only: The directory must grant write permissions or the command fails.
      • cell_name is the name of the WebSphere Application Server cell that hosts the IBM Connections application. If you do not know the cell name, display it by typing the following command in the wsadmin client: print AdminControl.getCell()
        Note: This input parameter is case-sensitive.
    3. Navigate to the working directory that you specified in the previous step and open the LotusConnections-config.xml file in a text editor.
    4. Add the following to the <properties> section of the file, if not already there:
      
      <genericProperty name="com.ibm.lconn.communities.support.custom.themes.for.hikari">
      true</genericProperty>
    5. Save your changes to LotusConnections-config.xml.
  8. After making changes, you must check the configuration files back in, and you must do so in the same wsadmin session in which you checked them out for your configuration changes to take effect. You must also stop and restart the Communities server. See Applying property changes in Communities for information about how to save and apply your changes.

What to do next

  1. Test your changes by refreshing the web browser.
  2. When you are ready to make the custom theme available to others, refer to steps 6-8 of Customizing the user interface for information about how to publish your changes and make them permanent.