Welcome (also referred to as Intro) support is a set of extension points that control the initial user experience of a product or rich client application. These extension points allow plug-ins to define specialized pages that introduce a platform product to new users. The Intro pages are shown the first time a product is started guiding users into discovering a product's functionality. An Intro can be anything from a single page displaying a demo video, to multiple pages that are extensible and follow the Eclipse platform's pluggable architecture.
Intro extensions define a class which extends the abstract class org.eclipse.ui.part.IntroPart which is responsible for painting the contents of the screen. An IntroPart shares some similarities with views and editors, which are also Workbench parts. When the workbench initializes, it creates an intro site that reserves space for the intro page. The intro part implementation for the site is determined using product configuration information. Once an intro part is shown, it can move between two modes:
It is possible to write an intro part from scratch but there are advantages to using the customizable intro part described below.
The intro part used by the Eclipse Platform and SDK is based on the class org.eclipse.ui.intro.config.CustomizableIntroPart. An intro of this kind will be based on a configuration which can be extended by individual plugins. The configuration uses an xml file contributed using the extension point org.eclipse.ui.intro.config to define the intro content. Individual plugins can extend the configuration using the org.eclipse.ui.intro.configExtension. extension point. The customizable intro part has several benefits:
Universal Intro is an intro configuration based on the customizable intro part and is used by the Eclipse Platform and SDK. The Universal Intro configuration provides a standardized set of pages and anchors which can be extended by other plugins. Use of Universal Intro is encouraged because it allows a plugin to contribute intro content to any product that uses Universal Intro. Without Universal Intro it would be necessary to write a config extension for each intro configuration that a plugin might possibly contribute to.
Defining an Intro Part
Using the Customizable Intro Part