Sökmotorerna som definieras här kommmer inte automatiskt att visas som förenade
sökdeltagare förrän bindning till motorprodukt har etablerats, om inte attributet
productId
har lämnats odefinierat. För motorer som definierar det,
visas endast de som är bundna till en specifik produkt när den produkten körs.
Sökmotorer kan helt enkelt skriva en URL-adress och visa endast en träff som innehåller den URL-adressen som href. Populära sökmotorer med API-funktioner som förutsätter licens går att kopplas in på det sättet. I andra änden av spektrumet kan sökmotorer kommunicera med servern och få individuella träffar med information som label, href, short description, score etc. Lokala hjälpmotorer kan få träffar på det sättet.
Oavsett vilken sökmekanism som används kan motorer tillhandahålla diverse olika omfångsinställningar med hjälp av JFace inställningssidor. De sidorna visas när du följer länken 'Avancerade inställningar' från hjälpvyn. Förutom rotinställningssidor som definieras med motorn, går det att lägga in ytterligare undersidor med inställningar när mer avancerade inställningar önskas.
Omfångsinställningarna läses in och lagras med hjälp av IPreferenceStore
-objekt. Omfångsinställningarna
för alla motorer samlas under en namngiven omfångsuppsättning. När den först
öppnas, skapas standardomfångsuppsättningen ('Standard'), men användare kan definiera
fler omfångsuppsättningar och växla mellan dem.
Eftersom förenad söksupport är en del av insticksprogrammet org.eclipse.help.base
,
behövs det en fabrik för att skapa sökomfångsobjekt av data i inställningslagret. Klienter som
använder sidor med omfångsinställningar måste även använda omfångsfabriker.
Motorer som definieras i den här utökningspunkten visas inte i gränssnittet som standard. Det som visas där är en konkret förekomst av en sökmotor som går att ändra individuellt. Produkter kan förkonfigurera hjälpsystemet med ett antal förekomster av de registrerade motortyperna, eventuellt parameteriserade för att fungera på ett önskat sätt. Dessutom kan användare lägga till sina egna förekomster av de registrerade motorerna och konfigurera dem efter egna önskemål.
<!ELEMENT extension (engineType* , engine*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT engineType (description? , subpage*)>
<!ATTLIST engineType
id CDATA #REQUIRED
label CDATA #REQUIRED
icon CDATA #IMPLIED
class CDATA #REQUIRED
pageClass CDATA #IMPLIED
scopeFactory CDATA #IMPLIED>
definierar en viss typ av sökmotor. Sökmotortyp kan användas till att skapa konkreta motorförekomster antingen av användaren eller förinlästa av produkten. Motortyper måste gå att konfigurera så att ett antal motorer kan skapas med hjälp en enda motortyp för att de ska vara praktiska att använda.
org.eclipse.help.search.ISearchEngine
. Klassen ansvarar för sökning baserat på en viss fråga och ett visst omfång. org.eclipse.help.ui.RootScopePage
.På den här sidan finns huvudväxeln för sökmotorn och den fungerar vanligen som värd för gränssnittskontroller som används till att avgränsa sökningen för motorn. org.eclipse.help.ui.ISearchScopeFactory
. Fabriken ansvarar för att skapa ISearchScope-objekt från inställningar som lagrats i klassen IPreferenceStore
. Om pageClass
anges måste även omfångsfabriken anges. <!ELEMENT description (#PCDATA)>
en kortfattad beskrivning av sökmotorn
<!ELEMENT subpage EMPTY>
<!ATTLIST subpage
id CDATA #REQUIRED
label CDATA #REQUIRED
class CDATA #IMPLIED
category CDATA #REQUIRED>
en underordnad sida till inställningssidan för rotomfånget i elementet engine
. Om motorattributet pageClass
inte definierats ignoreras undersidor.
org.eclipse.help.ui.ISearchScopePage
. <!ELEMENT engine (description? , param*)>
<!ATTLIST engine
productId CDATA #IMPLIED
engineTypeId CDATA #REQUIRED
enabled (true | false)
label CDATA #IMPLIED
id CDATA #REQUIRED>
Anger en konkret förekomst av en viss sökmotortyp. Förekomsten kan vara bunden till produkten så att den bara visas när produkten är aktiv. Motorn kan ha en separat etikett och beskrivning. Om den inte anges används motortypsdata. Slutligen definierar varje motortyp en giltig uppsättning parametrar som kan överföras till den för att konfigurera den. Motorer kan ange värden för de här parametrarna.
org.eclipse.core.runtime.Platform.getProduct()
). Om inget värde anges visas motorn för alla produkterna. true
anges aktiveras motorn från start. Användare kan åsidosätta det här värdet i användargränssnittet. <!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED>
en valfri parameter som används till att konfigurera den här förekomsten av en sökmotortyp. Ogiltiga parametrar definieras av motortypen.
<extension point=
"org.eclipse.help.ui.searchEngine"
>
<engineType scopeFactory=
"com.example.xyz.XYZScopeFactory"
label=
"XYZ-sökning"
class=
"com.example.xyz.search.XYZSearch"
icon=
"icons/etool16/xyzsearch.gif"
pageClass=
"com.example.xyz.search.XYZSearchPage"
id=
"com.example.xyz.XYZSearch"
>
<description>
Förekomster av XYZ Search söker igenom webbplatsen XYZ.</description>
</engineType>
<engine enabled=
"true"
engineTypeId=
"com.example.xyz.search.XYZSearch"
id=
"com.example.xyz.XYZSearch"
label=
"XYZ-sökning"
>
</engine>
<engine enabled=
"true"
engineTypeId=
"org.eclipse.help.ui.web"
id=
"org.eclipse.sdk.Eclipse"
label=
"%search.Eclipse.label"
>
<description>
%search.Eclipse.desc</description>
<param name=
"url"
value=
"http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=all"
>
</param>
</engine>
</extension>
class
för elementet engineType
måste tillhandahålla ett fullständigt namn på den klass som implementerar org.eclipse.help.search.ISearchEngine
. Attributet pageClass
måste tillhandahålla ett fullständigt namn på den klass som utökar org.eclipse.help.ui.RootScopePage
. Attributet scopeFactory
måste tillhandahålla ett fullständigt namn på den klass som implementerar org.eclipse.help.ui.ISearchScopeFactory
.
Attributet class
för elementet subpage
måste tillhandahålla ett fullständigt namn på den klass som implementerar org.eclipse.help.ui.ISearchScopePage
.
Produkter kan skapa konkreta förekomster av InfoCenter- och webbsökningar genom att använda motor-ID:t och de obligatoriska parametrarna.
InfoCenter-motortypen har motor-ID:t org.eclipse.help.ui.infoCenter
och accepterar en parameter-url
som pekar på fjärrservern där InfoCenter är installerat. Resultat visas på samma sätt som det lokala hjälpresultatet.
Webbsökmotortypen har motor-ID:t org.eclipse.help.ui.web
och accepterar en parameter-url
representerar en konkret sökfråga med den faktiska söksträngen ersätts med en ersättningssymbol '{expression}', som i följande exempel:
http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=allWebbsökresultat visas som en länk som öppnas i webbläsaren med söksträngen utbytt i
url
-parametern.
Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved.
Detta program och medföljande material tillhandahålls under villkoren för Eclipse Public License v1.0 som medföljer denna distribution och finns tillgänglig på
http://www.eclipse.org/legal/epl-v10.html