Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Branding the Web Consle mainly concerns hooking into the looks of the Web Console providing vendor-provided setup like CSS

...

, Logo

...

, Main Title

...

, Vendor URL

...

Branding support is currently work in progress tracked by FELIX-1015.

Default Branding Plugin

, etc.

BrandingPlugin and DefaultBrandingPlugin

Branding for the Web Console can be provided in two ways: By registering a BrandingPlugin service or by providing a branding properties files. The Web Console uses the branding from the BrandingPlugin service registered with the highest ranking.

The BrandingPlugin interface provides the following information used for branding:

Code Block

// Returns an indicative name of the branding plugin
// This value is used as the Window/Page title together with the
// title of the respective plugin
String getBrandName();

// Returns the name of the product in which the web console is contained
// and to which the web console is branded.
String getProductName();

// Returns an (absolute) URL to a web site representing the product to
// which the web console is branded.
String getProductURL();

// Returns an absolute path to an image to be rendered as the logo of the
// branding product.
String getProductImage();

// Returns the name of the branding product vendor.
String getVendorName();

// Returns an (absolute) URL to the web site of the branding product
// vendor.
String getVendorURL();

// Returns an absolute path to an image to be rendered as the logo of the
// branding product vendor.
String getVendorImage();

// Returns the absolute path to an icon to be used as the web console
// "favicon".
String getFavIcon();

// Returns the absolute path to a CSS file to be used as the main CSS for
// the basic admin site.
String getMainStyleSheet();

If no BrandingPlugin service is registered, the DefaultBrandingPlugin is used.

The DefaultBrandingPlugin reads the /META-INF/webconsole.properties from the web console bundle to setup the branding The DefaultBrandingPlugin is the default implementation of the BrandingPlugin interface which is used if there is no BrandingPlugin service registered in the framework. The DefaultBrandingPlugin is configured from a properties file in the bundle using the following properties:

Property Name

Default Value Description

BrandingPlugin method name

webconsole.brand.name

Apache Felix Web Console

getBrandName()

webconsole.product.name

Apache Felix The

name of the product installed in the framework getProductName()

webconsole.product.url

http://felix.apache.orgImage Removed

getProductURL() The URL at which more information about the product is available

webconsole.product.image

/res/imgs/logo.png A logo representing the product

getProductImage()

webconsole.vendor.name

The Apache Software Foundation The name of the product vendor

getVendorName()

webconsole.vendor.url

http://www.apache.orgImage Removed

getVendorURL() The URL of the product vendor

webconsole.vendor.image

/res/imgs/logo.png A logo representing the product vendor

getVendorImage()

webconsole.favicon

/res/imgs/favicon.ico A favicon for the web console

getFavIcon()

webconsole.stylesheet

/res/ui/webconsole.css A CSS file containing style-sheet formatting

getMainStyleSheet()

Note: The /META-INF/webconsole.properties file is not contained in the Apache Felix Web Console bundle itself. It may be provided by a Fragment Bundle attaching to the Apache Felix Web Console bundle. For an example of such a fragment bundle see prototype Sling Web Console Branding Bundle with its webconsole.properties

Branding the Stylesheet

Branding the CSS Stylesheet is basically possible with the BrandingPlugin.getMainStyleSheet() method. The default value of the DefaultBrandingPlugin points to webconsole.css. This allows styling the main content structure as shown here:

Code Block
html
html

<body>
    <div id="main">

        <!-- Lead -->
        <div id="lead">
            <h1>
                Bundle Name
                <br>
                Page Title
            </h1>
            <p>
                <a target="_blank" href="productURL" title="productName">
                    <img src="productImage" border="0"/>
                </a>
            </p>
        </div>

        <!-- Top Navigation -->
        <div id="technav">
            <!-- regular link -->
            <a href="">title</a>
            <!-- label of current page -->
            <span class="technavat">title</span>
            <!-- label of current page if drawing as link -->
            <a href="" class="technavat">title</a>
        </div>

        <!-- this should be inside a div ... -->
        <div id="content">
            <!-- here comes the content -->
        </div>
    </div>
</body>

Predefined plugins use other styles defined by further CSS styles contained in the web console bundle.

It is yet unclear how these plugins can be styled....