Extending the content of an intro config
Plug-ins can contribute intro content to a page defined elsewhere. However, the defining page must define an
anchor attribute that acts as a location placeholder for new content. The SDK overview page defines
two anchors for adding JDT and PDE related elements on the overview page.
<group id="page-content">
<text style-id="page-title" id="page-title">OVERVIEW</text>
<text style-id="page-description" id="page-description">Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. It provides a feature-rich development environment that allows the developer to efficiently create tools that integrate seamlessly into the Eclipse Platform.</text>
<group id="overview-links">
<link label="Workbench basics" url="https://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-2.htm" id="basics">
<text>Learn about basic Eclipse workbench concepts</text>
</link>
<link label="Team support" url="https://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-26.htm" id="team">
<text>Find out how to collaborate with other developers</text>
</link>
<anchor id="jdtAnchor"/>
<anchor id="pdeAnchor"/>
</group>
</group>
These anchors can be referenced by plug-ins that add content to the page. Content is added using the
org.eclipse.ui.intro.configExtension
extension. In addition to extending page content, this extension point also allows one to contribute standby content
parts and custom actions.
To extend an existing intro config, you can use the configExtension element. In this element,
you specify the configId of the intro config being extended and the content file that describes the new
content.
<extension
point="org.eclipse.ui.intro.configExtension">
<configExtension
configId="org.eclipse.platform.introConfig"
content="$nl$/overviewExtensionContent.xml"/>
...
</extension>
The format of the content file is similar to that of the intro config content, except that it must
contain an extensionContent element that defines the path to the anchor where the extension content
should be inserted.
<introContent>
<extensionContent
alt-style="css/swt.properties"
style="css/overview.css"
path="overview/page-content/overview-links/jdtAnchor">
<link label="Java development" url="https://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.jdt.doc.user/gettingStarted/qs-BasicTutorial.htm" id="java">
<text>Get familiar with developing Java programs using Eclipse</text>
</link>
</extensionContent>
</introContent>
After contributing custom content to an intro's predefined anchor points, a given product can bind itself to that
intro using the
org.eclipse.ui.intro
discussed above. When the product is run, the intro that was extended will be shown with the additional
content. This allows the product to have its own branding and other product-specific information, while reusing
a closely related product's intro along with key content of its own.
A given intro could also selectively include pieces of a related product's intro. In this case, the product could define its
own intro and intro config, and then reference important elements defined in another intro's config
using an include in the content file. This mechanism is valuable in situations where related products
are built on top of one another and it is necessary to introduce users to key concepts in the higher level
products.