Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution

I put in the filePrefix as the theme ids follow the Java-style reverse-DNS format, which is pretty unwieldy as a file prefix.  For example, the standard theme Ids follow the format ‘org.eclipse.ui.intro.universal.XXX’.  But we can use the themeId as a base directory for resolving the file within the bundle, much like how we often resolve resources using $nl$.  That’s simple, and it makes it easy to see what resources are overridden by a theme.  I’ll get this implemented tonight, and add docs to the Universal Intro doc where these properties are defined.

As to why the themes are included in org.eclipse.ui.intro.universal… It’s a good question, and it doesn’t make sense to me.  The real problem is that a product definer who wants to craft a custom look but still use the Universal Intro approach has no choice but to include the other themes or fork the bundle.  I’ve opened bug 492036 to track this.

Brian.

On 19-Apr-2016, at 12:42 PM, Oberhuber, Martin <Martin.Oberhuber@xxxxxxxxxxxxx> wrote:

+1 for documenting the new functionality in the core.runtime.products extension point, 
Especially as all examples for the "filePrefix" in the Gerrit Change could be derived from the Theme ID.

Added advantage of this approach is, that even legacy themes that don't add a new property could benefit from the new functionality by just contributing new images in the product bundle.

I don't understand the hardcoded "-intro-eclipse.png" image name in your description, Dani;
and I do think that adding to the core.runtime.products extension point API docs is an API addition;
But I'm +1 on the approach if a Gerrit change can be provided for review early enough.

Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
direct +43.662.457915.85  fax +43.662.457915.6
 

From: <eclipse-pmc-bounces@xxxxxxxxxxx> on behalf of "daniel_megert@xxxxxxxxxx" <daniel_megert@xxxxxxxxxx>
Reply-To: "eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Date: Tuesday 19 April 2016 at 18:16
To: "eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Subject: Re: [eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution

The problem is that the same branding image is currently used by all themes. The current branding image looks good for all existing themes, but not for the new Solstice theme. Products (usually via org.eclipse.ui.intro/INTRO_THEME in their plugin_customization.ini) and users (via UI) can choose the theme of their choice (i.e. not use the default). If we change the branding image to make Solstice look nice it will make all other themes look bad and affect most existing products. They would be forced to change their product and might have to update screenshots. That's not an acceptable approach.

We don't need to add a new API / property but simply document on the 'org.eclipse.core.runtime.products' extension point that theme specific branding images can be provided by prepending the last segment of the theme ID to "-intro-eclipse.png". No changes to the existing themes would be required.

Dani



From:        "Oberhuber, Martin" <Martin.Oberhuber@xxxxxxxxxxxxx>
To:        "eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Date:        19.04.2016 17:41
Subject:        Re: [eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution
Sent by:        eclipse-pmc-bounces@xxxxxxxxxxx




Hi Brian,

My first impulse was to support the idea that a Theme could also influence image selection from the product bundle. But
  • Looking at the Gerrit contriburtion, I'm missing docs for the new API (what does the new property do ? Could a .exsd for the plugin editor be provided?)
  • I'm also not sure about the name of the property ("filePrefix"), shouldn't it be "productImagePrefix" and how does it relate to HIGH_CONTRAST_PREFIX ?
To be honest, I question the value of providing multiple Themes in the SDK to choose from, and try to make all of them look really good.
What is the expected audience who would ever want to switch to a different Intro Theme ?
Isn't that just Product Builders, who would create their own product bundle eventually ?

In other words, why don't we just provide one default Theme – Solstice – with excellent quality in the SDK and get rid of the other ones or move them to an "example plugin" (or keep them around but don't care about how good they look) ?

I might be missing background on why the "choose theme" was created in the first place – any thoughts ?

Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
direct +43.662.457915.85  fax +43.662.457915.6
 

From: <eclipse-pmc-bounces@xxxxxxxxxxx> on behalf of "briandealwis@xxxxxxxxx" <briandealwis@xxxxxxxxx>
Reply-To:
"
eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Date:
Thursday 14 April 2016 at 16:35
To:
"
eclipse-pmc@xxxxxxxxxxx" <eclipse-pmc@xxxxxxxxxxx>
Subject:
[eclipse-pmc] Request API exemption for Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution


I’d like to request an API exemption for M7 for the following change:

Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution
https://git.eclipse.org/r/70362

This change adds a new theme property for Welcome/Intro themes called “filePrefix” used to resolve theme-dependent variants of images that are referenced by the theme.

We need this functionality for the new Solstice theme (bug 466370). Unlike the previous themes (circles, slate, and mesh), the Solstice theme has a dark background where the product logos are shown.  The Eclipse logo is effectively invisible in this theme.

The filePrefix causes the Intro code to first attempt to resolve images with the given prefix and then fallback to the path as-is.  This prefixing only happens for files specified as product-properties, such as the branding logo.  For example, the Solstice theme defines (simplified; full details in patch):

<theme id=“org.eclipse.ui.intro.universal.solstice">
       <property name=“filePrefix” value=“solstice-“ />


</theme>

The Platform and SDK products specify their branding logo using a product property like:

<property name=“introBrandingImage” value=“product:intro-eclipse.png” />


When resolving the introBrandingImage, the code will now first try resolving ’solstice-intro-eclipse.png’ from the product bundle.  If not found, it will fallback to ‘intro-eclipse.png’.  If a directory is specified (e.g., ‘product:logos/eclipse.png’) then the prefix is applied to the file portion (‘logos/solstice-eclipse.png’).

Without this change, product definitions have to explicitly reference a more Solstice-friendly logo.  But then the other themes don’t look as intended. [Though to be honest, I think they all look better with the white logo.]


SCREENSHOT

Solstice with the current logo (purple lettering):

[attachment "Without Solstice-friendly logo.PNG" deleted by Daniel Megert/Zurich/IBM] _______________________________________________
eclipse-pmc mailing list
eclipse-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/eclipse-pmc

_______________________________________________
eclipse-pmc mailing list
eclipse-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/eclipse-pmc


Back to the top