What Makes a Theme OpenPublish Compatible?
OpenPublish is a Drupal Distribution
Drupal Distributions or Installation Profiles are pre-packaged versions of Drupal that contain Drupal core, which you can download from drupal.org along with a slew of contributed modules. The Drupal core and modules are usually pre-configured in a certain way to better serve some specific purpose, such as for news publishing purposes in the case of OpenPublish.
Are all Drupal Themes OpenPublish Compatible?
OpenPublish-compatible is any Drupal theme that can be used with OpenPublish and can supports full functional spectrum of the OpenPublish platform.
Technically, any Drupal theme can be enabled in OpenPublish, but that does not mean that any Drupal theme is compatible with it. OpenPublish adds a wide variety of features on top of those supported by vanilla Drupal. Drupal themes not built for OpenPublish are typically not aware of these features and therefore either do not properly support them or ignore them altogether. Please look at the OpenPublish Compatibility Checklist for Themes for more information.
OpenPublish distribution comes with a base theme: openpublish_theme. The purpose of the base theme is to ease the development of themes compatible with OpenPublish. While not technically necessary, it is highly recommended to start any OpenPublish theme as a sub-theme of the openpublish_theme.
When releasing versions of OpenPublish, we constantly update openpublish_theme. The themes that properly sub-theme openpublish_theme will automatically get most bug-fixes and improvements, simply by updating openpublish_theme. Those themes that don't sub-theme openpublish_theme, will have to do independent maintenance and updates, which could be costly, over time.
OpenPublish Compatibility Checklist for Themes
Following are the specific, minimal requirements a theme must satisfy in order for it to be compatible with OpenPublish and be considered for OpenPublish Themes Gallery.
Disclaimer: the OP base theme openpublish_theme does not fully support all listed requirements but we are working towards supporting all of them and themes that properly sub-theme openpublish_theme will automatically get full support once the effort is completed.
- Theme must provide fully-styled implementation of base OpenPublish content-types. Each content type style must support exposure of all variables that the latest version of openpublish_base theme does. The list of base content-types at the time of this writing is as follows:
- Author (if the panel implementation is overriden)
- OP Image
- Theme must provide consistent default styles for all common HTML elements (e.g. html-elements.css in the base theme)
- Theme must provide flexible and consistent default styling for node.tpl.php (to support new content types out of the box, until they are specifically styled).
- Theme must provide flexible and consistent default styling for all levels of views: row, style and display as well as main styles like: unformatted, list and grid (to support new views out of the box, until they are specifically styled). If a user adds new custom view, with arbitrary set of fields, its block view must look reasonably well in any general region and its page view must look reasonably well, as well.
- Themes must use semantically meaningful markup and css class names. An example of such approach is Plain Old Semantic HTML (POSH)
- Theme must fully implement all microformats as prescribed by Microformats in OpenPublish specification.