Ao lançar a página Bem-vindo universal configurada do modo apresentado acima, poderá verificar que todas as páginas de segundo nível que saem da página raiz contêm uma área de conteúdo vazia. Isto deve-se ao facto de a página Bem-vindo partilhada não ter conteúdo próprio. Estas áreas são preenchidas através da utilização de extensões de configuração da introdução.
A forma tradicional de contribuir com extensões de configuração é através da especificação de um caminho completo do elemento da âncora na página de destino. Este método ainda é suportado, sendo contudo um pouco frágil. Como já foi mencionado, a especificação do local exacto onde a extensão permanece no destino é prematura para os autores de extensões. Talvez não tenham conhecimento de todos os produtos nos quais a extensão permanece e, por conseguinte, não têm conhecimento de onde deverão ser apresentados de acordo com o foco de cada produto. Na página de Bem-vindo universal, esta decisão é atribuída aos autores de produtos. Os autores de extensões têm a opção de especificar um caminho destino incompleto, permitindo que o autor de produtos preencha as lacunas.
As extensões de configuração que pretendem utilizar a resolução do caminho destino necessitam de cumprir três condições:
A capacidade de processar os caminhos destino da extensão é uma novidade de suporte de introdução no Eclipse 3.2 adicionada de modo a tornar a página Bem-vindo universal mais poderosa. A própria função é genérica e pode ser utilizada noutras implementações da página Bem-vindo e não apenas na universal. No Eclipse 3.2, o CustomizableIntroPart poderá aceitar uma classe opcional do personalizador da introdução que poderá afectar este comportamento de várias formas. Um dos papéis do personalizador é a execução de resoluções do caminho destino tardias. Obviamente, no que diz respeito aos autores de produtos, tratam-se apenas de detalhes de implementação, uma vez que, na implementação da página Bem-vindo universal, a resolução do caminho destino tardio é efectuada através da utilização do ficheiro de dados mencionado anteriormente. Este ficheiro é armazenado através da utilização da preferência org.eclipse.ui.intro/INTRO_DATA.
O ficheiro "INTRO_DATA" utiliza o formato XML e permite que os autores de produtos controlem o conteúdo das páginas principais de Bem-vindo. Os autores de contribuições de páginas Bem-vindo necessitam de especificar apenas o ID da página nos respectivos caminhos destino. O restante é definido neste ficheiro. O ficheiro contém uma sequência de elementos "page", contendo cada um deles vários elementos "group". Os elementos de grupo especificam um caminho relativo à página e contêm contribuições para elementos descendentes. Os elementos de ocntribuição são utilizados para especificar dois aspectos:
<extensions> <page id="overview"> <group path="page-content/top-left"> <extension id="foo1" importance="high"/> <extension id="bar" importance="high"/> <extension id="foo2" importance="medium"/> </group> <group path="page-content/top-right"> <extension id="foo3" importance="low"/> <extension id="foo4" importance="low"/> <extension id="foo5" importance="callout"/> </group> <hidden> <extension id="foo6"/> <extension id="foo7"/> </hidden> </page> <page id="whatsnew"> ... </page> </extensions>
Neste exemplo, as contribuições "foo1", "bar" e foo2" serão apresentadas na
coluna da esquerda e as contribuições "foo3", "foo4" e "foo5" serão apresentadas
na coluna da direita da página. A ordem relativa das contribuições é também extraída deste ficheiro.
Para além disso, as contribuições são classificadas com base no atributo
importance
que pode conter quatro valores válidos: high,
medium, low e callout, sendo low o valor predefinido.
Cada valor contém uma apresentação correspondente que faz com que este se destaque na página.
Os três primeiros são simplesmente valores de importância diferentes de acordo
com o autor de produtos (repare que a mesma contribuição poderá receber uma
classificação de importância diferente em dois produtos separados). O último
valor (callout) é utilizado para seleccionar as contribuições que têm uma natureza
completamente diferente (por exemplo, uma contribuição que oferece ligações a
vídeos ou a animações).
As contribuições que não estão enumeradas são anexadas após as contribuições enumeradas e é-lhes atribuído um valor de importância baixo. Este facto é importante para as contribuições adicionadas após o envio do produto - a sua apresentação continua a ser necessária.
As contribuições que não são relevantes para o projecto podem ser ocultadas ao enumerá-las explicitamente como elementos descendentes do elemento "hidden".
Uma extensão contribuída para uma das páginas raiz pode conter âncoras, permitindo que outros utilizadores adicionem conteúdo. Este procedimento irá causar um problema, uma vez não há conhecimento antecipado sobre o caminho final processado do conteúdo na extensão. Por este motivo, os caminhos destino para o conteúdo nas extensões que utilizam resoluções de caminho tardias têm de ser processado:
<?xml version="1.0" encoding="utf-8" ?> <introContent> <extensionContent id="extra" name="Extra" alt-style="css/swt.properties" style="css/overview.css" path="overview/@"> <group id="extra-group" style-id="content-group"> <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> <anchor id="additions"/> </group> </extensionContent> </introContent>
Para contribuir para a âncora "additions" na extensão apresentada acima, deverá ser utilizado o seguinte caminho: "overview/@extra/extra-group/additions". O segmento "@extra" será substituído pelo caminho processado da extensão com o id "extra" na página "overview". Por exemplo, se a extensão for colocada no segmento superior esquerdo da página, o caminho processado será: "overview/page-content/upper-left/extra-group/additions".