Bug 1176249 - Layered Product versioning changes EAP base version exposed via Admin Console
Summary: Layered Product versioning changes EAP base version exposed via Admin Console
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Web Console
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER2
: EAP 6.4.0
Assignee: Harald Pehl
QA Contact: Pavel Jelinek
URL:
Whiteboard:
Depends On:
Blocks: 1164973 1181430 1194386
TreeView+ depends on / blocked
 
Reported: 2014-12-19 20:49 UTC by Shelly McGowan
Modified: 2023-04-21 12:41 UTC (History)
14 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-19 12:45:29 UTC
Type: Bug
Embargoed:
crobson: needinfo-


Attachments (Terms of Use)
JBossEAPConsole (96.69 KB, image/png)
2014-12-19 21:00 UTC, Shelly McGowan
no flags Details
Product images for BRMS (1.94 KB, image/png)
2015-01-20 16:22 UTC, Shelly McGowan
no flags Details
Product images for BPMSuite (2.03 KB, image/png)
2015-01-20 16:24 UTC, Shelly McGowan
no flags Details

Description Shelly McGowan 2014-12-19 20:49:18 UTC
Description of problem:
When a layered product is installed over the certified EAP platform, the version in the JBoss EAP Administration Console reflects the layered product version instead.

Specifically,
When B*MS 6.1.0 is layered into the EAP 6.3.1 distribution, the distribution directory is named:
jboss-eap-6.3

When booting EAP 6.3, the product and version shown is:
JBoss BPM Suite 6.1.0.Alpha (AS 7.4.1.Final-redhat-3)

Starting the Administration Console, the header on the console reads:
Red Hat JBoss Enterprise Application Server 6.1.0.Alpha

LP productization team has determined this is an EAP productization issue.  See referenced bug for more details.   Filing this for resolution in EAP 6.4 which is the new target EAP base.

Comment 1 Shelly McGowan 2014-12-19 21:00:30 UTC
Created attachment 971311 [details]
JBossEAPConsole

Comment 2 Petr Kremensky 2015-01-05 11:23:47 UTC
Heikko, what is the desired behaviour for admin console with LP installed? Should the header show LP logo with LP version, or EAP logo with EAP version?

Comment 3 Paul Gier 2015-01-05 17:51:13 UTC
The name of the application is actually an image which is included in the core jar of the console.  I'm not sure if the console allows this image to be changed without rebuilding the jar.  So I believe it's an issue of the console and not with the productization build.

Comment 18 Heiko Braun 2015-01-20 14:41:45 UTC
The product title is an image (product_title.png) within the console jar. It needs to be that way because the Red Hat brand team requires a specific font for this. 

The version is text that comes from the "product-version" attribute in the management model. 


Layered products that want to change this need to do the following:

1.1) patch the jar file with a custom "product_title.png", respecting the styling constraints (font face, size, etc)
1.2) release an include a custom maven artefact for inclusion with the layered product


2) Set the correct value the root level for "product-version" attribute in the layered product distribution

Comment 19 Heiko Braun 2015-01-20 14:46:40 UTC
Regarding Brian's comment #17:

3) Is only an option if we get the images soon and (more importantly) the "product-
name" attribute is known for all LP's and not changed in the future.


Alternatively see #comment18.

Comment 20 Harald Pehl 2015-01-20 16:02:51 UTC
We agreed to implement option 3 based on Brian's proposal in comment #18: 

The console will read the attribute "product-name" from the root resource and take it as basis to look for a matching logo. As product names tend to contain a mix of upper / lower case characters and white space, the product name is turned into lower case and all none alpha numeric characters will be removed before looking for the logo: 

"BPM Suite" --> bpmsuite.png
"Crazy - *PRODUCT* / Name" --> crazyproductname.png

If there's no matching logo, the console will fall back to the EAP logo. Custom logos need to be transparent PNGs with a dimension of 382x30 pixel.

Comment 21 Harald Pehl 2015-01-20 16:05:15 UTC
Shelly could you please provide a logo for the BPM Suite which meets the requirements (see comment #20)?

Comment 22 Brian Stansberry 2015-01-20 16:11:23 UTC
Harald, is there a font requirement as well that the folks providing the logos need to follow? AIUI the font requirement is why this is a graphic and not text, and I suspect it would apply to any product.

Comment 23 Shelly McGowan 2015-01-20 16:22:44 UTC
Created attachment 981916 [details]
Product images for BRMS

The productization team can provide the internal git repo location of these images but I've attached them here for now.  Note, that BRMS is provided with the purchase of BPMSuite. So if both are installed, what product name should be used in that case for the EAP Admin console?

Comment 24 Shelly McGowan 2015-01-20 16:24:09 UTC
Created attachment 981917 [details]
Product images for BPMSuite

Comment 25 Harald Pehl 2015-01-20 16:28:52 UTC
Catherine Robson should know about the exact requirements for the product logo.

Comment 26 Brian Stansberry 2015-01-20 16:48:25 UTC
Shelly,

I think what product name layered products want to use is a decision for those layered product teams.

Technically, the logo the console will pick is determined by the value of the product-name attribute in the root resource of the management resource tree (e.g. the one displayed if you start a server, start the CLI and connect, and run the "ls -l" command or the ":read-resource" low level operation).

https://developer.jboss.org/docs/DOC-47927, section "Establishing identity" details where that value comes from. It's the value of the "JBoss-Product-Release-Name" manifest property in the MANIFEST.MF of the org.jboss.as.product:<XXX> module. The value of "XXX" is determined by the "slot" property in bin/product.conf. The bin/product.conf file EAP ships says slot=eap. A layered product can either replace bin/product.conf file to trigger use of some other module, or it can override the org.jboss.as.product:eap module in its layer. The former is cleaner.

There can only be 1 value, so if products are composed of different items, someone involved with the product will need to pick the value.

Comment 27 Mark Proctor 2015-01-27 15:32:24 UTC
We are just having a conversation on Layering vs AddonOn. Fuse apparently now is addon, so is SY - rather than a layer.

We think this might be the right thing for BRMS and BPMS. So we should stick with the vanilla EAP identity, and work as an add-on for this. This way we don't need to do any re-branding.

Comment 28 Pavel Jelinek 2015-02-17 16:49:39 UTC
Verified for EAP 6.4.0.ER2.

It's necessary to copy/rename corresponding slots for modules 
org.jboss.as.console and
org.jboss.as.domain-http-error-context as well.

eg. for slot bpmsuite you have to do something like

cp -R modules/system/layers/base/org/jboss/as/console/eap/ modules/system/layers/base/org/jboss/as/console/bpmsuite
sed -i 's|slot="eap"|slot="bpmsuite"|' modules/system/layers/base/org/jboss/as/console/bpmsuite/module.xml

cp -R modules/system/layers/base/org/jboss/as/domain-http-error-context/eap/ modules/system/layers/base/org/jboss/as/domain-http-error-context/bpmsuite
sed -i 's|slot="eap"|slot="bpmsuite"|' modules/system/layers/base/org/jboss/as/domain-http-error-context/bpmsuite/module.xml


Note You need to log in before you can comment on or make changes to this bug.