Details
-
Type: Improvement
-
Status: In Progress
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: 4.7.8
-
Fix Version/s: Unscheduled
-
Component/s: Core CiviCRM, Extension System
-
Labels:
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:Developer Doc
-
Sprint:4.7.10 Developery stuff
-
Funding Source:Needs Funding
Description
= Context =
We are looking to improve CiviCRM's UI along two fronts – changing both the visual language (with a more modern appearance) and the CSS conventions (with a more standardized, Bootstrap-based markup – enabling easier integration and training). During the interim period (while the new visuals/conventions mature), we need to ensure that:
- (a) some sites (with limited needs/screens/use-cases) can go live
- (b) the existing look and feel doesn't get compromised, and
- (c) existing extensions/customizations continue to work.
= Architecture =
There will be two visual languages (themes), Greenwich (the current look-and-feel) and Shoreditch (the new look-and-feel). These themes are defined by way of hook_civicrm_themes.
Any theme should define two main CSS files, "css/civicrm.css" (which provides styling for the current markup using the crm-* coding convention) and "css/bootstrap.css" (which provides styling for new markup using the http://getbootstrap.com/ coding conventions).
Any request to add a CSS file will be passed through the theming layer. If the theme does not provide the file (via hook or naming-convention), then it will be loaded the same as today.