Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1166490

Summary: [RFE][horizon]: Custom Horizon Theme
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: python-django-horizonAssignee: Matthias Runge <mrunge>
Status: CLOSED ERRATA QA Contact: Ido Ovadia <iovadia>
Severity: high Docs Contact:
Priority: medium    
Version: unspecifiedCC: aortega, athomas, lbopf, markmc, mrunge, nbarcet, yeylon
Target Milestone: gaKeywords: FutureFeature, OtherQA
Target Release: 7.0 (Kilo)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/horizon/+spec/horizon-themes
Whiteboard: upstream_milestone_kilo-rc1 upstream_definition_approved upstream_status_implemented
Fixed In Version: python-django-horizon-2015.1.0-9.el7ost Doc Type: Enhancement
Doc Text:
The OpenStack dashboard can now use a custom theme. A new setting, 'CUSTOM_THEME_PATH' was added to /etc/openstack_dashboard/local_settings file. The theme folder should contain one _variables.scss file and one _styles.scss file. The _variables.scss file contains all the bootstrap and Horizon-specific variables that are used to style the graphical user interface, and the _styles.scss file contains extra styling.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-05 13:16:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description RHOS Integration 2014-11-21 05:06:07 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/horizon/+spec/horizon-themes.

Description:

Motivation
=========
The current state of the Horizon CSS (SCSS) does not allow a streamlined way to change the default skin, rather than overriding each style by hand.  Most of the CSS style rules, other than those dealing with layout, can easily be abstracted to allow for a plug-n-play theme architecture.

Description
==========
Horizon makes use of Twitter's Bootstrap CSS, which has a great preprocessor layer already defined and many variable already accessible and useable for customizing Horizon's look and feel.  There are a number of implementations of skins that already exist for Bootstrap.  For the purposes of this task, I propose that we use an existing and well accepted implementation of Bootstrap's CSS called Bootswatch.  Bootswatch already has a method for defining overrides that are clean and a number of already attractive Skins available.

By creating an interface layer between Bootstrap's CSS and Horizon that matches the interface layer defined by Bootswatch, we will get a lot of useful skins immediately, as well as a path defined for any future skins that wish to get implemented.  As part of this task, there will be some work to create an entirely new Bootswatch skin that mimics the current Horizon dashboard look and feel.

UX
===
Since this task is 100% UX, see the description above.

Specification URL (additional information):

None

Comment 1 Matthias Runge 2015-03-25 08:32:40 UTC
to make it clear, unfortunately this blueprint can not replace our -theme package

Comment 9 errata-xmlrpc 2015-08-05 13:16:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2015:1548