Managing links

Most of the extensions coming into the main Welcome pages offer links to open further pages contributed by the extensions themselves. It is recommended to create these pages in such a way as to continue with the shared Welcome visual design. The main requirement is to show the appropriate navigator at the top of the page.

It is fairly easy to do that using the 'include' element. The idea is to include the navigation content at the beginning of contributed page. Unlike the current Welcome implementation, shared Welcome main pages have navigation section that is different for each page. For this reason, pages that branch off these pages should include the navigation from the parent page. For example:

   <introContent>
      <extensionContent id="extra" name="Extra" alt-style="css/swt.properties" style="css/overview.css" path="overview/@">
         <link
               label="Extra Overview link"
               url="http://org.eclipse.ui.intro/showPage?id=extraOverview" 
               id="extra-overview">
            <text>Showing the third-level extra page for overview</text>
         </link>
      </extensionContent>
      <page id="extraOverview" style="$theme$/html/overview.css" style-id="page">
         <title style-id="intro-header">$introTitle$</title>
         <group id="extra-group1" filteredFrom="swt"/>
         <include path="overview/navigation-links"/>
         <group id="page-content">
            <group id="content-header" label="EXTRA OVERVIEW" filteredFrom="swt">
            </group>
            <text style-id="page-title" id="page-title" filteredFrom="html">EXTRA OVERVIEW</text>
            <text style-id="page-description" id="page-description">Extra overview page description.</text>
            <!-- Add content here -->
         </group>
      </page>
   </introContent>

The extension above contributed into the overview page contributes a link that shows another page whose definition is part of the extension. Note how we define the title element using substitution variable (the variable will be resolved based on the product property). We also include the group 'navigation-links' that belongs to the 'overview' page at the beginning of the page content definition. We also add the 'extra-group1' div because it is can be used by some themes for adding additional page decoration (indeed, it is used in 'Purple Mesh' theme for that exact purpose).