.. _manage-themes-legacy-admin-gui: Manage Themes in the Legacy Admin Portal ------------------------------------------ .. _12.5(1)|VOSSUC-20692: .. _12.5(1)|VOSS-346: .. _18.1-Patch-Bundle-3|VOSS-346: This section describes how to manage themes in the VOSS Automate legacy Admin portal. .. _add_a_theme: Add a Theme in the Legacy Admin Portal ........................................ This procedure adds a theme on the legacy Admin GUI, and involves two steps: 1. Prepare the theme file. 2. Import the file to add the theme to the system. Prepare a Theme File for Import '''''''''''''''''''''''''''''''' It is recommended that you use an export of an exiting theme as a baseline, and update it with a new name, images, and colours, as required. **Prerequisites**: * :ref:`download__edit_and_update_a_theme` **To prepare the theme file**: 1. Create a folder with the same name as the theme you want to create, and unzip the exported theme to this folder. .. note:: * Ensure you maintain the directory structure. * For the name of the folder, only alphanumeric characters or underscores are allowed. Do not use spaces or special characters. #. Add any CSS overrides to the file. .. note:: You can only modify the definitions as shown in the export of a provided CSS file (``skin.css``). #. Add required image files to the folder (if any). .. important:: If customization is done on MS Windows, check that no ``desktop.ini`` files reside in the directory tree of the theme before compressing it. #. Create a .zip archive file with the same filename as the folder. Import a Theme File ''''''''''''''''''''' This procedure imports a prepared file to add a theme in the legacy Admin Portal. **Pre-requisites**: * Prepare a theme file. * You must be a Provider admin or higher to add a theme. **To add a theme file to the Admin GUI**: 1. Log into the VOSS Automate Admin GUI (legacy). 2. Choose the hierarchy level at which the theme will be created. #. Go to (default menu) **Role Management > Themes**. #. On the **Themes** list view, click **Add** to open the **Themes** page. #. On the **Base** tab: a. Add the theme name, which must be the same as the theme file name. #. Enter the navigation bar (navbar) text, if required. This text displays on the navigation bar next to the logo. #. Optionally, add a description. #. To apply the theme to the Login page, select **Use this Theme to style Login page**. .. note:: Applies to the relevant Login page, either Self-service or Admin Portal. To change the banner text for the Login page, see :ref:`set_the_login_page_theme`. #. To prevent admins at lower levels of the hierarchy viewing this theme in the list view, select **Hide from Lower Hierarchies**. #. Add a site title, if required. The site title displays in the browser tab. #. Browse to the location of the theme zip file. Wait for the file to display in the **Import File** field. #. Optionally, select **Backup Enabled** to create a backup of the current theme on the server (if an existing theme file exists). #. Choose the interface where this theme will apply, either Administration (default) or Self-service. #. To customize the theme, update fields on the **Theme Customization** tab. See :ref:`create-theme-in-BAP`. .. note:: All fields on this tab become mandatory once you enter any details on this tab. #. To customize the Login page, update fields on the **Login Page Details** tab. See :ref:`set_the_login_page_theme` a. Add a title for the top of the Login page. #. Add banner text. #. Click **Save**. .. important:: Do not leave the screen until the theme processing completes and the theme list refreshes. This can take a few minutes, depending on the complexity of the theme you're uploading. .. _download__edit_and_update_a_theme: Download and Update a Theme on the Legacy Admin Portal ........................................................ This procedure downloads an existing theme, edits it, and re-uploads it to the legacy Admin Portal. **Pre-requisites**: * You must be a Provider admin or higher to customize a theme. **To download and update a theme**: 1. Log in to the legacy Admin Portal. 2. Choose the hierarchy level at which the theme will be applied. #. Go to (default menu) **Role Management > Themes**. #. On the **Themes** list view, click on the theme you wish to download. #. Click **Action > Download**. The file is downloaded as a .zip archive with the name of the theme, and contains a folder with the theme name, and the following files: * skin.css * skin.less #. Edit the files. #. When editing is complete, ensure the directory folder name is the same as your theme name, then compress the folder and save the file with the theme name and a ``.zip`` file extension. .. note:: * An error message displays if the file does not have a valid file extension. * Any files or folders inside the zip file archive that start with a '.' character are silently discarded when unzipping the theme. For example, if the zip archive contains any files named ``._.DS_Store`` or ``.directory``, these are ignored. .. important:: If customization is done on MS Windows, check that no ``desktop.ini`` files reside in the directory tree of the theme before compressing it. #. Import the updated theme: .. note:: No file upload is required if the theme update does not require an updated CSS in a zip file but only updates the text of the theme. a. Go to (default menu) **Role Management > Themes** #. On the **Themes** list view, click on the theme you're updating. #. On the **Base** tab, click **Browse** at the **Import File** field, and open a theme with the same name. #. Optionally, select **Backup Enabled** to create a backup of the current theme on the server. #. Click **Save** to complete the import process. .. _set_the_login_page_theme: Customize Login Page Theme and Text in the Legacy Admin Portal ............................................................... This procedure applies a theme and updates the text of the Login page, in the legacy Admin Portal. 1. Log in to the legacy Admin Portal. #. Choose the hierarchy where the theme was created, or where it belongs. #. Go to (default menu) **Role Management > Themes**. #. On the **Themes** list view, click on the theme you want to use for the Login page. #. Update the **Base** tab: a. Select the **Use this Theme to style Login page**. .. note:: When selecting this checkbox and a theme with the same Interface already has the Login page checkbox selected, this option is disabled on the existing theme as there can only be one Interface-Login page combination on the system. Any new themes, or updates to existing themes, may modify other themes on the system with the same Interface by disabling their Login page attributes. If no Interface is specified, the interface of the new Login theme defaults to ``Administration``. #. Update the **Login Page Details** tab: a. Add title text, which is used for the top of the Login page. #. Add banner text (limited to 2048 characters), which is used at the bottom of the Login page. Add references to the cookie policy and privacy policy in the Banner Text field. These are added as placeholders: * ``{{cookie_policy}}`` * ``{{privacy_policy}}`` .. note:: You can add multiple lines for the banner text, including paragraphs. Banner text displays exactly as you add it to this field. Cookie and security references show as links that open in a new browser tab. #. Optional. In the **Cookie Policy** field and the **Privacy Policy** field, add link text captions and a URL for each policy. .. note:: Although the cookie and privacy policy references are optional, the captions and URLs are mandatory if they're used, and the placeholder references are then also required in the **Banner Text** field. For suggested input on the use of cookies by VOSS Automate in the cookie policy text, see :ref:`VOSS-Automate_cookie_policy`. Browsers with blockers installed that prevent new tabs from opening will affect the functionality of links in the login banner. Privacy policy links can also be added to user menus. See :ref:`privacy_policy_menu_items` and :ref:`manage_privacy_policy_menu_items`. To customize the banner text style, see "Theme Banner Customization" in the Advanced Configuration Guide. #. Click **Save**. Apply a Login Page Theme When Logging In ........................................... The Login page theme can also be applied to the login page during the log in process. To to this, add URL parameter ``theme=`` to the login request URL. This applies and overrides any theme that is set as the Login theme. .. note:: For Self-service, if the theme value is set as ``login?theme=cisco_selfservice``, the theme reverts to the Self-service theme set as the default. For example, when two themes are available in the system, XYZ and ABC, and XYZ login page is set as default: * Admin Portal (legacy): ``https://instance/login/`` - Login page will show use XYZ theme ``https://instance/login/?theme=ABC`` - Login page will show use ABC theme * Admin Portal (introduced at v21.2): ``https://instance/portal/#/admin`` - Login page will show use XYZ theme ``https://instance/portal/#/login?targetAppMode=admin&theme=ABC`` - Login page will show use ABC theme * Business Admin Portal: ``https://instance/portal/#/business-admin`` - Login page will show use XYZ theme ``https://instance/portal/#/login?targetAppMode=business-admin&theme=ABC`` - Login page will show use ABC theme