The default uPortal desktop theme is named universality and located in uportal-war/src/main/resources/layout/theme. If you would like to create a new theme the recommended method is to create a copy of universality and then modify it to meet your needs. An entry also needs to be added to the database to enable your new theme.
Creating a New Theme
Step 1. Create the theme directory
- Create a new theme directory under uportal-war/src/main/resources/layout/theme and ensure there is a .sdf file describing your theme. The recommended approach here is to simply copy the universality theme and then modify it to fit your needs.
Step 2. Register the theme
- To register your new theme in the database, create a .theme entity file. You may wish to use the entity file for the universality theme as an example: uportal-impl/src/main/resources/properties/db/entities/theme/DLM_XHTML-1.theme
- To import the .theme file to the database run:
ant crn-import -Ddir=/full/path/to -Dpattern=mynewtheme.theme
Step 3. Configure User Profiles
- If you are starting with an empty database you simply need to edit the .layout and .fragment-layout files so that the <theme name=""> entry in the <profile> section matches the name in your .theme file.
- If you have existing users you will need to run SQL to update their profiles to point to the ID of the theme you imported via the .theme file.
Step 4. Create a skin directory
- Skins for the new theme should be made available at uportal-war/src/main/webapp/media/skins/themename. It's generally advisable to copy the existing universality (or applicable other distributed theme) directory as a starting point.