Telligent Evolution 6.0 now supports configuration based themes rather than physical themes. A new selectable theme can be imported from an existing theme's export and be selectable along with physically-defined themes (all themes prior to 6.0 are physical).  With that, we migrated the fiji and evolution2 themes to be configuration-based  (so there is no longer a themes/fiji or themes/evolution2 folder).  This also means that *all* supporting files in fiji and evolution2 are embedded within the theme.

Use case

Use case:  We have a single site theme, but multiple group themes and would like to use the theme.config inheritance functionality (i.e. <Configuration inherit="true" />), but it appears the inheritance only works when the site theme and group theme have the same name. 

Solution: in 6.0, when determining the parent theme, we now:

  1. Attempt to load the parent theme with the same theme name as the current theme (so when rendering "NewTheme" for a blog, we first try to load "NewTheme" for the group)
  2. Attempt to load the parent theme using the parent's currently configured theme name (so when rendering "NewTheme" for a blog, we'd load whatever theme is currently configured for the group, "Fiji" perhaps). 

This logic is required to support saving new configuration-based group and blog themes.

Set up inheritance of group or blog themes from the site theme

While we support a single site theme and individual group themes and blog themes, the Control Panel does not currently support creating inherited themes via "Save As" in "Manage Themes". In other words, selecting "Save As" for the same theme and different theme types will result in separate themes. These themes' inheritance can then be manually modified.

The following process steps through manually updating themes created via "Save As" to inherit from a common Site Theme. The example assumes assumes a new Factory Default Site Theme with inheriting Group and Blog themes are being created based on the "Fiji" theme.

  1. Navigate to Site Administration > Site Content > Manage Themes
  2. Select Site Theme and Fiji
  3. Select Save-As and provide a new theme name, henceforth referred to as [NEW THEME NAME].
  4. Select Group Theme and Fiji
  5. Select Save As, and provide the same [NEW THEME NAME]
  6. Select Blog Theme and Fiji
  7. Select Save As, and provide the same [NEW THEME NAME]
  8. In web\filestorage\factorydefaultconfigurations, three new GUID-named directories will have been created, one for each Save-As.
  9. Of the three, locate the directory containing 0c647246673542f9875dc8b991fe739b.xml. This is your new site theme configuration. The name of the directory containing this configuration is the id of your theme, [THEME].
  10. Copy the contents from the other two newly created directories into web\filestorage\factorydefaultconfigurations\[THEME]
  11. Open both web\filestorage\factorydefaultconfigurations\a3b17ab0af5f11dda3501fcf55d89593.xml and web\filestorage\factorydefaultconfigurations\c6108064af6511ddb074de1a56d89593.xml in a text editor. Change their first line to <theme name="[THEME]">. Save these changes.
  12. Delete the other two new directories in web\filestorage\factorydefaultconfigurations from which web\filestorage\factorydefaultconfigurations\a3b17ab0af5f11dda3501fcf55d89593.xml and web\filestorage\factorydefaultconfigurations\c6108064af6511ddb074de1a56d89593.xml were copied.
  13. In web\filestorage\factorydefaultpages, three new GUID-named directories will have been created as well. One will have the same name as [THEME].
  14. Copy the contents of the other two new directories in web\filestorage\factorydefaultpages into web\filestorage\factorydefaultpages\[THEME].
  15. Delete the other two new directories from web\filestorage\factorydefaultpages.
  16. Open both web\filestorage\factorydefaultpages\a3b17ab0af5f11dda3501fcf55d89593.xml and web\filestorage\factorydefaultpages\c6108064af6511ddb074de1a56d89593.xml in a text editor. Change their first line to <theme name="[THEME]">. Save these changes.
  17. Run the following SQL query against the database, where [NEW THEME NAME]is the same name used during Save-As in steps 3, 5, and 7.
    UPDATE [dbo].[te_Themes]
       SET [ThemeId] = (
            SELECT [ThemeId]
            FROM [te_Themes] 
            WHERE [Name] = 'NEW THEME NAME' and 
            [ThemeTypeId] = CONVERT(uniqueidentifier, N'0C647246-6735-42F9-875D-C8B991FE739B')
            )
     WHERE [Name] = 'NEW THEME NAME'
  18. Recyle the Application Pool