When developing custom extensions using plugins, it is often beneficial to install UI components as part of the installation of the extension making use of the IInstallallablePlugin interface and the theme automation API.
[toc]
What is the Theme Automation API
The theme automation API is set of APIs made available to plugins via the in-process API to enable the automated adjustment of UI components. Specifically, it includes the following services:
- ThemeFiles: Add/update and detect embedded theme files.
- ThemeFooterContentFragments: List, insert, replace, and delete widgets within theme footers.
- ThemeFooters: Add, edit, delete, and detect theme footers.
- ThemeHeaderContentFragments: List, insert, replace, and delete widgets within theme headers.
- ThemeHeaders: Add, edit, delete, and detect theme headers.
- ThemePageContentFragments: List, insert, replace, and delete widgets within theme pages.
- ThemePages: Add, edit, delete, and detect theme pages.
- Themes: List themes for a specific theme type.
- ContentFragments: Enable/disable widgets, identify widgets to other theme automation APIs, translate widgets, and automate widget upgrading.
And the following sets of constants for use with the services:
- ThemeContexts: Constants for identifying theme contexts. This is a legacy API and is no longer necessary.
- ThemeProperties: Constants for theme properties used to interact with the ThemeFiles service.
- ThemeTypes: Constants for the platform-defined theme types to be used with other theme automation APIs.
- ContentFragmentWrappingFormats: Constants for platform-defined widget wrapping formats for use with content-fragment-related services.
Example: Installing a CSS File
TBD