...
A theme in Meridix studio is a set of files (css, images, scripts) that is contained in a directory with a specific structure (see below). There is a default theme folder that the systems uses in no other theme is defined. If a custom theme is defined but a requiered resource is not included the system fallback falls back on the default theme resource. This means that you can choose to only include the resources that you have changed in the theme structure.
The custom themes should be created in with the defined structure (its recommended to use the default theme as a template) and depending on the custom theme location zipped compress (GZIP) the folder into a compressed file with the name ThemeName.zip where ThemeName is the name of the Theme. There is also a solution that is included to make the theme design phase easier (see On external server as folder structure).
Custom theme location options
...
The folder (not zipped) should be defined locally under in the installation root under the folder [drive]:/[webapp_path]/Themes/ThemeName
In this case no ThemeUri no Theme base URL needs to be defined.
This option is not available on Meridix hosted installations
...
The zipped theme file should be available to the Meridix server on a public accessible URL. When a theme is set in Meridix Studio the system downloads and extracts the custom theme to an internal temporary folder and loads the resources from that folder for future requests. When uploading a new version of an existing theme append an incremented version number in the theme name to bypass the internal theme cache that caches a loaded theme for a minimum of three hours. Ex: ThemeName_V1.nominify.noclientcache.nogzip.zip. zip.
The name of the zip file should be the theme name. (Do not add the .zip extension to your theme name setting in Meridix this is added automatically if the package type is set to Zip file)
On external server as folder structure
The theme folder (not zipped) should be available to the Meridix server on a public accessible URL where each individual resouce can be accessed with the uri [ThemeUriurl [ThemeBaseUrl]/[ThemeName]/[ThemeResourceRelativePath] ex: http://cdn.mycompany.com/Themes/CustomTheme/css/base.css where the http://cdn.mycompany.com/Themes is the ThemeUri Theme base URL part and CustomTheme is ThemeName Theme name and css/base.css is the ThemeResourceRelativePath.
In this case each time a resource is requested by the Meridix UI (and not found in the server cache) the system loads the resource from ThemeUri/ThemeName URL the external resource url internally and the caches the resource for future requests.
This way method is only recommended during developent of new themes because it requiers the Meridix installation to make several HTTP requests to get the theme content. But its the easiest way to design new themes since you can change the content on a server controlled by you and they it will be used by the Meridix installation.
Note |
---|
Should not be in a production environment since it forces the server to make several HTTP requests to get the resources. So when you have used this method during the design phase compress the folder to a zip file with the name [ThemeName].zip file solutionand change the Theme package type setting from folder to Zip file. |
Configure Meridix Studio to use a custom theme
...