Produktanpassning fungerar annorlunda när en primär funktionsmekanism används. Funktionens varumärkesinformation finns i ett insticksprogram som identifieras med den primära funktionen (eller insticksprogrammet med samma namn som den primära funktionen, om ingen har angetts). Filerna som utser och definierar varumärkesinformation för vår hypotetiska acmeweb-tillämpning markeras i nedanstående exempelkatalogstruktur:
acmeweb/ acmeweb.exe (produktens körbara fil - anropar eclipse.exe och anger den primära funktionen) eclipse/ .eclipseproduct eclipse.exe startup.jar install.ini .config/ platform.cfg jre/ features/ com.example.acme.acmefeature_1.0.0/ (primär funktion) feature.xml plugins/ com.example.acme.acmefeature_1.0.0/ (insticksprogram för primär funktion. Innehåller varumärkesinfo.) plugin.xml about.ini about.html about.mappings about.properties acme.png plugin_customization.ini splash.jpg welcome.xml com.example.acme.acmewebsupport_1.0.0/ ... links/ ...
Insticksprogrammet som associerats till en primär funktion är den plats där varumärkesinformationen för en produkt anges. Det finns många anpassningsbara aspekter av en produkt. Anpassningar på produktnivå definieras med hjälp av filen about.ini och andra filer som beskrivs i den. Produkter kan också styra standardvärden för inställningar för andra insticksprogram. Detta görs med hjälp av filen plugin_customization.ini.
Vi refererar åter till vår exempelprodukts insticksprogram för den primära funktionen. Låt oss titta närmare på hur produkten anpassas.
com.example.acme.acmefeature_1.0.0/ plugin.xml about.ini about.html about.mappings about.properties acme.png plugin_customization.ini plugin_customization.properties splash.bmp welcome.xml
Vi kommer att granska samma anpassningar som vi granskade för produkternas utökningspunkt, med fokus på skillnader i specifikationen, med hjälp av den primära funktionsmekanismen.
Såsom diskuterats med produktnivåanpassningen tillhandahåller alla funktioner och insticksprogram en fil med namnet about.html. Den innehåller information om det speciella insticksprogrammet.
Den primära funktionen innehåller också information och grafik för den övergripande produkten. Ytterligare filer används för att ange den här informationen.
En färgbild med 16x16 bildpunkter kan användas till att varumärka fönster som skapats av produkten. Den visas i övre vänstra hörnet i produktfönstren. Den anges i attributet windowImage i filen about.ini. Sökvägen ska anges som en insticksprogramrelativ sökväg. En korrekt post för katalogstrukturen som visas ovan skulle vara så här:
windowImage=acme.png
Insticksprogram som använder välkomstmekanismerna från Eclipse 2.1 bör ange välkomstsidfilen i attributet welcomePage i filen about.ini. Sökvägen ska anges som en insticksprogramrelativ sökväg. En korrekt post för katalogstrukturen som visas ovan skulle vara så här:
welcomePage=welcome.xml
Du kan också ange en språksökning för filen. (I avsnittet Språkmiljöspecifika filer finns mer information.)
welcomePage=$nl$/welcome.xml
Produktens välkomstskärm finns i en splash.bmp-fil i insticksprogramkatalogen för den primära funktionen. Bilden ska tillhandahållas i 24-bitars färg-BMP-format (RGB-format) och ha en storlek på cirka 500x330 bildpunkter. Om välkomstskärmar behöver anpassas för olika språkmiljöer kan de placeras i ett fragment i insticksprogrammet för den primära funktionen.
Filen plugin_customization.ini används för att ange standardinställningar för de inställningar som definierats av andra insticksprogram. Den här filen är en java.io.Properties-formatfil. Vanligen används den här filen för att ange värden för inställningar som publicerats som del av insticksprogrammets allmänna API. Dvs. att du tar en risk om du hänvisar till inställningar som används av insticksprogram men som inte definierats formellt i APIn.
En vanlig anpassning är att ange standardperspektiv för arbetsmiljön. Den här inställningen definieras i insticksprogrammet org.eclipse.ui. I följande exempel antas att produkten ska startas med resursperspektivet som standard.
org.eclipse.ui/defaultPerspectiveId=org.eclipse.ui.resourcePerspective
Om du upptäcker att du behöver ändra standardvärdet för en inställning i ett annat insticksprogram läser du API-dokumentationen för det programmet och ser efter om inställningen definierats som publik.
Filen plugin_customization.properties innehåller översatta strängar till filen
plugin_customization.ini.