Univerzális bevezető kiterjesztése

Amikor a fentiek szerint beállított univerzális Üdvözlő indításra kerül, megfigyelhető, hogy a főoldalról elágazó összes másodszintű oldal üres tartalomterülettel rendelkezik. Ennek oka, hogy a megosztott Üdvözlő nem rendelkezik saját tartalommal. Ezeket a területeket a bevezető beállítási kiterjesztései látják el tartalommal.

A beállítási kiterjesztések hagyományosan a céloldalon található horgonyelem teljes elérési útjának megadásával kerülnek közreadásra. Annak ellenére, hogy ez a módszer a továbbiakban is támogatott, bizonyos fokig sérülékenynek bizonyult. Amint arra az előzőekben is utaltunk, meglehetősen korai a kiterjesztések szerzői számára annak meghatározása, hogy a kiterjesztés a célon belül pontosan hova fog kerülni. Előfordulhat, hogy nem ismerik az összes terméket, amelyben az általuk írt kiterjesztést használni fogják, így nem tudhatják, hogy hol kell elhelyezni azokat az egyes termékek fókusza szerint. Az univerzális Üdvözlőben ez a döntés a termék szerzőire hárul. A kiterjesztések szerzői megadhatnak hiányos cél elérési utat, ezáltal lehetővé téve a termék szerzője számára a hiányzó részek kitöltését.

Azoknak a beállítási kiterjesztéseknek, amelyek késleltetett cél elérési út feloldást kívánnak használni, három feltételt kell teljesíteniük:

  1. A beállítási kiterjesztéseknek egyedi azonosítót kell meghatározniuk az 'id' attribútum segítségével. Az azonosító nélküli kiterjesztések figyelmen kívül maradnak. Ez azért fontos, mert a termék szerzője a kiterjesztésre az azonosító segítségével tud hivatkozni.
  2. A beállítási kiterjesztéseknek felhasználóbarát nevet kell meghatározniuk a 'name' attribútum segítségével. Ez főként akkor fontos, ha a személyre szabás beállításoldalt fogják használni, mert a kiterjesztések a felhasználói felületen jelennek meg.
  3. A cél elérési útnak a következő formátumot kell követnie: "oldalazonosító/@", ahol az 'oldalazonosító' a céloldal azonosítója. Amikor a rendszer a cél elérési útban a '/@' karaktersorozatot észleli, akkor megkísérli az elérési út dinamikus feloldását az elvárt teljes formátumba.

A cél elérési utak feloldásának képessége az Eclipse 3.2 új bevezető támogatási szolgáltatása, amelynek célja az univerzális Üdvözlő hatékonyabbá tétele. Maga a szolgáltatás általános abban az értelemben, hogy az univerzálison kívül egyéb Üdvözlő megvalósításokban is használható. Az Eclipse 3.2 változatában a CustomizableIntroPart képes egy elhagyható, a bevezető testre szabását végző osztály elfogadására, amely viselkedését számos módon befolyásolhatja. A személyre szabó egyik feladata a késleltetett cél elérési út feloldása. Természetesen a szerzők szemszögéből ez csak a megvalósítás részletkérdése, mert az univerzális Üdvözlő megvalósításban a késleltetett cél elérési út feloldás az előzőekben említett adatfájl segítségével történik. Ez a fájl az org.eclipse.ui.intro/INTRO_DATA beállítás segítségével kerül eltárolásra.

Az 'INTRO_DATA' fájl, amely lehetővé teszi a termék szerzői számára a fő Üdvözlő lapok tartalmának vezérlését, XML formátumot használ. Az Üdvözlő közreműködő szerzőinek csupán az oldalazonosítót kell megadniuk a cél elérési utakban, a többi meghatározást ez a fájl tartalmazza. A fájl egy sor oldal ('page') elemet tartalmaz, amelyek mindegyike több csoport ('group') elemből áll. A csoportelemek határozzák meg az oldalhoz képest relatívan megadott elérési utat és a leszármazottak számára hozzájárulással rendelkeznek. A hozzájárulás elemek segítségével két szempont határozható meg:

   <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>

A fenti példában a 'foo1', 'bar' és foo2' hozzájárulások az oldal bal, a 'foo3', 'foo4' és 'foo5' pedig az oldal jobb oldali oszlopában helyezkednek el. A hozzájárulások relatív sorrendjét a rendszer szintén ebből a fájlból nyeri ki. Ezen kívül a hozzájárulások fontosságuk alapján (importance attribútum) kerülnek osztályozásra. Az attribútum négy érvényes értékkel rendelkezhet: high (magas), medium (közepes), low (alacsony), illetve callout (kihívás). Az alapértelmezett érték a low (alacsony). Az egyes értékek megfelelő megjelenítéssel rendelkeznek, amelynek köszönhetően az oldalon könnyen azonosíthatók. Az első három egyszerűen a termék szerzője által meghatározott különböző fontossági szintek (fontos megjegyezni, hogy ugyanaz a közreműködés két különálló termékben eltérő fontossági besorolást kaphat). Az utolsó (callout) segítségével választhatók ki azok a hozzájárulások, amelyek a többitől eltérő jellegűek (például videókat vagy animációkat kínáló hozzájárulások).

A felsorolásban nem szereplő hozzájárulások a listában a felsoroltak után szerepelnek, alacsony fontossági értékkel. Ennek főleg a termék szállítását követően felvett hozzájárulások esetében van jelentősége - ezeknek is meg kell jelenniük.

A projekt által nem érintett hozzájárulások kifejezetten elrejthetők, ha azok a 'hidden' (rejtett) elem leszármazottjaként szerepelnek.

Kiterjesztés-hozzájárulások

A főoldalakon közreadott kiterjesztések maguk is tartalmazhatnak horgonyokat, ezáltal lehetővé téve mások számára, hogy tartalmat adjanak hozzá az oldalhoz. Ez problémát okozhat, mert a kiterjesztés tartalmának végső feloldott elérési útja előre nem ismert. Ebből az okból kifolyólag, a késleltetett elérési út felismerést használó kiterjesztések tartalmának cél elérési útjait magukat is fel kell oldani.

<?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>Az áttekintés harmadik oldalának megjelenítése</text>

        </link>
         <anchor id="additions"/>
</group>
	</extensionContent>
</introContent>

Ha a fenti kiterjesztés 'additions' horgonyához szeretnénk hozzájárulni, akkor a következő elérési utat kell használnunk: "overview/@extra/extra-group/additions". A '@extra' szegmenst a rendszer az 'extra' azonosítójú kiterjesztés feloldott elérési útjára cseréli az 'overview' oldalon. Például, ha a kiterjesztés az oldal bal-felső szegmensében helyezkedik el, akkor a feloldott elérési út az "overview/page-content/upper-left/extra-group/additions" lenne.