Vyhledávač

org.eclipse.help.ui.searchEngine

3.1

Tento bod rozšíření se používá k zapojování účastníků hledání do sdruženého prohledávání nápovědy. Jednotlivé vyhledávače lze vzájemně nezávisle konfigurovat. Po zahájení vyhledávání se jednotlivé vyhledávače provádějí na pozadí a výsledky jsou průběžně shromažďovány v pohledu Nápověda.

Zde definované vyhledávače se nezapojují do sdruženého vyhledávání jako účastníci automaticky, dokud není zřízena vazba produktu a vyhledávače, pokud atribut productId není definován. Z vyhledávačů, které tento atribut definují, se při spuštění určitého produktu zobrazí pouze ty, které jsou vázány k tomuto produktu.

Vyhledávače mohou sestavit adresu URL a poskytnout jediný odkaz obsahující tuto adresu URL v prvku href. Tímto způsobem lze zapojit oblíbené vyhledávače, jejichž rozhraní API vyžaduje licenci. Na opačném konci linky mohou vyhledávače komunikovat se serverem a přijímat jednotlivé odkazy doplněné o informace o štítku, hypertextového odkazu, stručného popisu, hodnocení atd. Generátor lokální nápovědy může vytvářet odkazy tímto způsobem.

Nezávisle na mechanizmu vyhledávání vyhledávače mohou poskytovat různá nastavení rozsahu vyhledávání s použitím stránek předvoleb JFace. Tyto stránky se zobrazí po použití odkazu 'Rozšířené nastavení' v pohledu Nápověda. Kromě kořenových stránek předvoleb definovaných vyhledávačem lze zapojovat přídavné podřízené stránky předvoleb za účelem zpřístupnění dalších rozšířených nastavení.

Nastavení rozsahu se načítají a ukládají s použitím objektů IPreferenceStore. Nastavení rozsahu pro všechny vyhledávače se seskupují pod názvem sada rozsahů. Při prvním otevření dojde k vytvoření výchozí sady rozsahů ('Default'), uživatelé však mohou definovat další sady rozsahů a přepínat je.

Protože podpora sdruženého vyhledávání je součástí modulu plug-in org.eclipse.help.base, je k vytvoření objektů rozsahu hledání z dat v úložišti předvoleb zapotřebí továrna. Klienti zapojovaní do stránek předvoleb rozsahu se musejí zapojovat rovněž do továren rozsahů.

Vyhledávače definované v tomto bodu rozšíření se při výchozím nastavení v uživatelském rozhraní nezobrazují. Zobrazuje se zde konkrétní instance vyhledávače, kterou lze samostatně upravovat. Produkty mohou předběžně konfigurovat systém nápovědy řadou instancí registrovaných typů vyhledávačů volitelně parametrizovaných za účelem dosažení požadované funkce. Dále uživatelé mohou přidávat své vlastní instance registrovaných vyhledávačů a konfigurovat je podle vlastního uvážení.

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

Definuje konkrétní typ vyhledávače. Typ vyhledávače lze použít k vytváření konkrétních instancí vyhledávače uživatelem i k vytvoření instancí předem načítaných produktem. Podmínkou účinného použití typů vyhledávačů je konfigurovatelnost, jež umožní vytváření řady vyhledávačů s použitím jediného typu vyhledávače.



<!ELEMENT description (#PCDATA)>

Krátký popis vyhledávače



<!ELEMENT subpage EMPTY>

<!ATTLIST subpage

id       CDATA #REQUIRED

label    CDATA #REQUIRED

class    CDATA #IMPLIED

category CDATA #REQUIRED>

Podřízená stránka stránky předvoleb kořenového rozsahu definovaná v prvku engine. Pokud není definován atribut pageClass vyhledávače, budou podstránky ignorovány.



<!ELEMENT engine (description? , param*)>

<!ATTLIST engine

productId    CDATA #IMPLIED

engineTypeId CDATA #REQUIRED

enabled      (true | false)

label        CDATA #IMPLIED

id           CDATA #REQUIRED>

Určuje konkrétní instanci určitého typu vyhledávače. Instance může být vázána na určitý produkt za účelem zobrazení pouze při splnění této podmínky: produkt je aktivní. Vyhledávač může mít svůj vlastní štítek a popis. Nejsou-li tyto údaje zadány, budou použity údaje typu vyhledávače. Jednotlivé typy vyhledávačů definují platnou sadu parametrů, které lze vyhledávači předávat za účelem konfigurace. Vyhledávače mohou zadávat hodnoty těchto parametrů.



<!ELEMENT param EMPTY>

<!ATTLIST param

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Volitelný parametr, který lze použít pro konfiguraci této instance typu vyhledávače. Platné parametry jsou definovány typem vyhledávače.



Následuje příklad rozšíření hledání v nápovědě:

   

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

Instance hledání XYZ Search na webu XYZ.

</description>

</engineType>

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

</extension>

Atribut class prvku engineType musí poskytovat úplný kvalifikovaný název třídy, která implementuje org.eclipse.help.search.ISearchEngine. Atribut pageClass musí poskytovat úplný kvalifikovaný název třídy, která rozšiřuje org.eclipse.help.ui.RootScopePage. Atribut scopeFactory musí poskytovat úplný kvalifikovaný název třídy, která implementuje org.eclipse.help.ui.ISearchScopeFactory. Atribut class prvku subpage musí poskytovat úplný kvalifikovaný název třídy, která implementuje org.eclipse.help.ui.ISearchScopePage.

Modul plug-in uživatelského rozhraní nápovědy poskytuje typy vyhledávačů pro lokální dokumentaci nápovědy, Informační centrum a Prohledávání webu a dále lokální instanci vyhledávače v nápovědě. Tato instance nepřijímá parametry a nemá Id produktu, a proto se bude zobrazovat ve všech produktech.

Produkty mohou vytvářet konkrétní instance Informačního centra a Prohledávání webu s použitím Id svého vyhledávače a požadovaných parametrů.

Typ vyhledávače Informačního centra má Id org.eclipse.help.ui.infoCenter a akceptuje jeden parametr url, který odkazuje na vzdálený server, na kterém je instalováno Informační centrum. Výsledky se zobrazují stejným způsobem jako výsledky hledání v lokální nápovědě.

Typ vyhledávače Prohledávání webu má Id org.eclipse.help.ui.web a přijímá jeden parametr url, který představuje konkrétní dotaz hledání, ve kterém je skutečný vyhledávaný řetězec nahrazen zástupným symbolem '{expression}'. Viz následující příklad:

http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=all

Výsledky prohledávání webu se zobrazují v podobě odkazu, který otevírá webový prohlížeč, s vyhledávaným řetězcem nahrazeným v parametru url.