Definir conteúdo de introdução
Vamos abordar agora o conteúdo propriamente dito. O conteúdo descreve-se em termos de páginas. Todas as páginas têm um atributo id.
Este é o ID que se utiliza na definição das páginas inicial e de espera e noutros lugares onde haja referência a uma página. Caso contrário, os atributos relevantes dependem do tipo de página que estiver definida.
Há dois tipos básicos de páginas:
- Páginas estáticas são ficheiros HTML simples. Estas páginas utilizam os mecanismos HTML normais para ligar a outras páginas. As páginas estáticas não precisam de ser definidas no ficheiro de conteúdo de configuração, salvo no que toca à página inicial. Dado que a página inicial é especificada por ID (ID-página-inicial) no elemento apresentação, deve haver uma definição de página que utilize esse ID do ficheiro de conteúdo.
Esta página só tem de definir um url. Todos os outros sub-elementos serão ignorados dado que a própria página HTML irá descrever o conteúdo da página.
Todas as outras páginas de introdução que foram contributo do plug-in devem ser
incluídas no plug-in, mas não têm que ser especificadas no ficheiro de
conteúdo. Os ficheiros HTML situados noutros plug-ins ou na Web também podem ser referenciados.
- Páginas dinâmicas são descritas no ficheiro de conteúdo XML com sub-elementos que descrevem o conteúdo da página. Os sub-elementos são artigos da UI que se costumam encontrar em páginas semelhantes a HTML.
Consoante a implementação, estas páginas serão dinamicamente convertidas em
HTML (quando o tipo de implementação for html) ou criadas dinamicamente
como formulários de UI baseados em SWT (quando o tipo de implementação
for swt). Os subelementos seguintes podem ser definidos numa página:
- Um group utiliza-se para agrupar outros sub-elementos e definir um estilo coerente em todo o grupo.
- Uma link define uma ligação que pode ser apresentada com uma imagem e texto. A ligação pode navegar para outra página e opcionalmente executar uma acção de introdução. As acções são especificadas como comandos no URL.
- Os elementos text e img mostram conteúdo de texto e imagem.
- O elemento include inclui um sub-elemento anteriormente definido. O elemento é referenciado pelo seu ID.
- O elemento head define HTML adicional a incluir na secção de cabeça da página quando for usada a implementação html.
- O elemento html define HTML adicional a incluir no corpo da página quando for usada a implementação html.
Também pode ser definido um título (title) para a página. Uma página também pode especificar que o seu conteúdo está definido num ficheiro de conteúdo (content) separado. Poderá ser útil dividir páginas em ficheiros separados quando o rendimento é crucial, dado que o conteúdo de uma página de introdução só será inicializado quando for necessário.
A melhor forma de saber como é o formato da definição do conteúdo consiste na
procura de implementações no SDK Eclipse. O seguinte fragmento apresenta o exemplo:
<introContent>
<page alt-style="css/root_swt.properties" style="css/root.css" id="root" style-id="page">
<title style-id="intro-header">Welcome to Eclipse
Platform</title>
<group id="links-background">
<group id="page-links">
<link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
<text>Find out what Eclipse is all about</text>
</link>
<link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
<text>Let us guide you through Eclipse end-to-end tutorials</text>
</link>
<link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
<text>Explore Eclipse development through code
samples</text>
</link>
<link label="Whats New" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
<text>Find out what is new in this release</text>
</link>
</group>
</group>
...
Os elementos na página também podem ser filtrados a partir
(filteredFrom) de determinada implementação. Isto permite aos designers
de página conceberem-nas com certas plataformas em mente. Existem muitos mais
atributos poderosos que se podem utilizar para descrever uma página e o seu
conteúdo. Consulte a documentação sobre pontos de extensão para org.eclipse.ui.intro.config
e respectiva especificação de formato de ficheiro de conteúdo de introdução para referências completas de elementos, sub-elementos e seus atributos válidos.