Når du starter den universelle velkomsten som er konfigurert som vist ovenfor, vil du legge merke til at hele andrenivåsiden som forgrener seg fra rotsiden, har et tomt innholdsområde. Dette er fordi den delte velkomsten ikke har noe eget innhold. Disse områdene fylles ut ved hjelp av introkonfigurasjonsutvidelser.
Den tradisjonelle måten å bidra med konfigurasjonsutvidelser på er å oppgi fullstendig bane for ankerelementet på målsiden. Denne metoden støttes fortsatt, men den har vist seg å være risikabel. Som nevnt før, er det for tidlig å oppgi nøyaktig hvor utvidelsen vil ende opp, for utvidelsesforfattere. Det er ikke sikkert at de kjenner alle produktene som utvidelsen vil ende opp i, og derfor vet de ikke hvor de skal vises i forhold til hvert produkts fokus. I den universelle velkomsten overlates beslutningen til produktforfatterne. Utvidelsesforfattere har nå mulighet til å oppgi en ufullstendig målbane, slik at produktforfatteren kan fylle ut tomrommet.
Konfigurasjonsutvidelser som vil bruke målbaneoppløsning, må oppfylle tre vilkår:
Evnen til å tolke utvidelsesmålbaner er en ny introduksjonsstøttefunksjon i Eclipse 3.2 som er lagt til for å gjøre den universelle velkomsten kraftigere. Denne funksjonen er selv generisk ved at den kan brukes i andre velkomstimplementeringer, ikke bare i den universelle. I Eclipse 3.2 kan CustomizableIntroPart godta en valgfri introtilpasserklasse som kan påvirke virkemåten på flere måter. En av rollene til tilpasseren er å utføre sen målbanetolkning. Når det gjelder produktforfattere, er dette naturligvis bare implementeringsdetaljer, for i den universelle velkomstimplementeringen utføres sen banetolkning ved hjelp av datafilen nevnt tidligere. Denne filen lagres med preferansen org.eclipse.ui.intro/INTRO_DATA.
Filen 'INTRO_DATA' bruker XML-format og gjør det mulig for produktforfattere å kontrollere innholdet på hovedvelkomstsidene. Velkomstbidragsforfattere er bare nødt til å oppgi side-IDen i sine målbaner. Resten defineres i denne filen. Filen inneholder en sekvens av 'page'-elementer som hvert inneholder en antall 'group'-elementer. Gruppeelementer spesifiserer siderelativ bane og jar bidrag for underordnede. Bidragselementene brukes til å oppgi to aspekter:
<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>
I eksempelet over vil bidragene 'foo1', 'bar' og foo2' være i venstre og
'foo3', 'foo4' og 'foo5' i høyre kolonne på siden.
Den relative rekkefølgen til bidragene trekkes også ut av denne filen.
I tillegg klassifiseres bidrag på grunnlag av attributtet
importance
, som kan ha fire gyldige verdier:
høy, middels, lav og bildeforklaring, der lav er standardverdi.
Hver verdi har samsvarende presentasjon som får den til å skille seg ut på siden.
De første tre er vare forskjellige viktighetsnivåer etter produktforfatter (merk at samme bidrag kan klassifiseres med
forskjellige viktighetsnivåer i forskjellige produkter).
Det siste (bildeforklaring) brukes til å skille ut bidrag som er av en helt annen natur (for eksempel et bidrag som
har linker til videoer eller animasjoner).
Bidrag som ikke er oppført, legges til etter de oppførte bidragene og tildeles viktighetsverdien lav. Dette er viktig for bidrag som legges til etter at produktet er sendt ut. De må fortsatt vises.
Bidrag som ikke er relevante for prosjektet, kan skjules ved at de eksplisitt oppføres som underordnet under det skjulte elementet.
En utvidelse som bidras til en eller flere rotsider, kan selv inneholde ankere, slik at andre kan legge til innhold. Dette skaper et problem fordi den endelige banen til innholdet i utvidelsen ikke er kjent på forhånd. Av den grunn må målbaner for innhold i utvidelser som bruker sen banetolkning, tolkes:
<?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>
For å bidra med ankertilføyelser i utvidelsen over bør vi bruke følgende bane: "overview/@extra/extra-group/additions". Segmentet '@extra' vil bli erstattet med den tolkede banen til utvidelsen, med IDen 'extra' på siden 'overview'. Hvis for eksempel utvidelsen plasseres i øvre venstre segment på siden, vil den tolkede banen være: "overview/page-content/upper-left/extra-group/additions".