Hakuohjelmien lisäys

Ohjejärjestelmän uusi hajautettu tiedonhaku käyttää hakuohjelman lajeja ja hakuohjelmia. Ohjelman laji on metaohjelma, josta voi luoda konkreettisia hakuohjelmia parametrien avulla.

Uusia ohjelmalajeja lisätään org.eclipse.help.ui.searchEngine-laajennuspisteen avulla:

<extension point="org.eclipse.help.ui.searchEngine">
	<engineType
		scopeFactory="com.example.xyz.XYZScopeFactory"
		label="XYZ Search"
		class="com.example.xyz.search.XYZSearch"
		icon="icons/etool16/xyzsearch.gif"
		pageClass="com.example.xyz.search.XYZSearchPage"
		id="com.example.xyz.XYZSearch">
		<description>
			XYZ Search -haun ilmentymiä - XYZ-sivusto.
		</description>
	</engineType>
Tämän laajennuspisteen avulla lisätään haun osapuolia tietohakuun. Kunkin hakuohjelman voi määrittää yksilöllisesti. Kun haku aloitetaan, kukin hakuohjelma ajetaan tausta-ajossa ja tulokset kootaan ohjenäkymään kyselyn alle.

Tässä määritetyt hakuohjelmat eivät näy hajautetun haun osapuolina automaattisesti, ennen kuin ohjelman tuotesidonta toteutetaan, paitsi jos productId-määritettä ei määritetä. Niiden ohjelmien osalta, joissa se määritetään, vain tiettyyn tuotteeseen sidotut ohjelmat näkyvät, kun kyseinen tuote on ajossa.

Hakuohjelmat voivat yksinkertaisesti koostaa URL-osoitteen ja tuottaa vain yhden osuman, joka sisältää kyseisen URL-osoitteen href-tunnisteena. Suositut hakuohjelmat, joiden API-tuki edellyttää lisenssiä, voi lisätä tällä tavalla. Toisaalta hakuohjelmat voivat viestiä palvelimen kanssa ja vastaanottaa yksittäisiä osumia, joissa on sellaisia tietoja kuin nimiö, href, lyhyt kuvaus, pistemäärä ja niin edelleen. Paikallinen ohjetoiminto voi tuottaa osumia tällä tavalla.

Hakumenetelmästä huolimatta hakuohjelmissa voi käyttää erilaisia hakualueiden asetuksia JFace-oletusasetussivujen avulla. Nämä sivut tulevat näkyviin, kun seuraat Ohje-näkymän Lisäasetukset-linkkiä. Ohjelmaan määritettyjen perusoletusasetussivujen lisäksi voi lisätä uusia oletusasetusten alisivuja, joissa on lisäasetuksia.

Alueiden asetukset ladataan ja tallennetaan IPreferenceStore-objektien avulla. Kaikkien ohjelmien vaikutusalueiden asetukset ryhmitellään yhteen nimetyn aluejoukon alaisuuteen. Ensimmäisen avauksen yhteydessä luodaan oletusarvoinen aluejoukko ('Default'), mutta käyttäjät voivat määrittää enemmän joukkoja ja valita niiden välillä.

Koska hajautetun haun tuki on osa org.eclipse.help.base-lisäosaa, hakualueobjektien luonti oletusasetusten varaston tiedoista edellyttää factory-metodia. Työasemien, jotka liittyvät alueen oletusasetussivuihin, on liityttävä myös alueen factory-metodeihin.

Tässä laajennuspisteessä määritetyt ohjelmat eivät näyt käyttöliittymässä oletusarvon mukaan. Käyttöliittymässä on näkyvissä hakuohjelman konkreettinen ilmentymä, jota voi muokata yksilöllisesti. Tuotteet voivat määrittää ohjejärjestelmään ennalta joukon rekisteröidyn ohjelman lajien ilmentymiä, joiden parametreja on voitu muokata niin, että ne toimivat halutulla tavalla. Lisäksi käyttäjät voivat lisätä omat ilmentymänsä rekisteröidyistä ohjelmista ja määrittää ne tarpeitaan vastaaviksi:

<engine
	enabled="true"
	engineTypeId="com.example.xyz.search.XYZSearch"
	id="com.example.xyz.XYZSearch"
	label="XYZ Search">
</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}&amp;ul=&amp;ps=20&amp;m=all">
	</param>
</engine>