In order to hook into to the universal intro, developers should have a
product-based eclipse application. This requires the use of the
org.eclipse.runtime.products
extension point (the assumption is
that the product has already been defined):
<extension id="foo" point="org.eclipse.core.runtime.products"> <product application="org.eclipse.ui.ide.workbench" description="Product Foo to use for testing the universal intro" name="Product Foo"> </product> </extension>
For this example, assume that the extension is defined in the plugin.xml
file in the com.example.intro
plug-in. A
long-standing feature of the eclipse intro support is the ability to hook
products and intros using the product-intro binding:
<extension point="org.eclipse.ui.intro"> <introProductBinding introId="org.eclipse.ui.intro.universal" productId="com.example.intro.foo"/> </extension>
The extension above binds the universal intro implementation (org.eclipse.ui.intro.universal) and our product id.
Universal intro customization is split between product branding properties and preferences. Product branding properties are set by the product and cannot be modified. They include product title, branding image and branding image text:
<product application="org.eclipse.ui.ide.workbench" description="Product Foo to use for testing the universal intro" name="Product Foo"> <property name="introTitle" value="Welcome to Product Bar"/> <property name="introBrandingImage" value="product:eclipse.png"/> <property name="introBrandingImageText" value="XYZ Company"/> </product>
Product properties whose values represent a file name relative to the product bundle must be qualified with the 'product:' prefix. The following properties are supported:
The universal intro supports replacing file-based
properties such as introBrandingImage with a theme-specific
alternative. For example, a product may contribute a introBrandingImage
as "product:gizmo.png"
, but this image does not match the
the com.acme.theme
theme. A more suitable image can be placed
in the product bundle in com.acme.theme/gizmo.png
.
When a replacement image is not found, the resolver will fall back
to the general image gizmo.png
image found at the root
of the product bundle.
Second half of universal intro variables are accessible as preferences. The split is due to the fact that these variables can be configured by users and are exposed in the new Welcome preference page. The initial values for these preferences should be placed in the 'plugin_customization.ini' file that is referenced from the product extension. These preferences are: