I den nye fødererede oplysningssøgning i hjælpen anvendes begreberne søgeprogramtype og søgeprogram. En programtype er et metaprogram, hvorfra et antal konkrete søgeprogrammer kan oprettes vha. parameterangivelser.
Nye programtyper leveres via org.eclipse.help.ui.searchEngine:
Dette udvidelsespunkt bruges til at installere søgedeltagere i oplysningssøgningen. Hvert enkelt søgeprogram kan konfigureres individuelt. Når en søgning startes, udføres hvert søgeprogram som et baggrundsjob, og resultaterne samles straks i hjælpeoversigten, mens forespørgslen udføres.<extension point="org.eclipse.help.ui.searchEngine"> <engineType scopeFactory="com.example.xyz.XYZScopeFactory" label="XYZ-søgning" class="com.example.xyz.search.XYZSearch" icon="icons/etool16/xyzsearch.gif" pageClass="com.example.xyz.search.XYZSearchPage" id="com.example.xyz.XYZSearch"> <description> Forekomster af XYZ-søgning gennemsøger XYZ-webstedet. </description> </engineType>
De søgeprogrammer, der defineres her, vises ikke automatisk som fødererede søgedeltagere, før programproduktbindingen er etableret, medmindre attributten
productId
ikke er defineret. For de programmer, der definerer denne attribut, er det kun dem, der er bundet til et bestemt produkt, som vises, når produktet kører.
Søgeprogrammer kan blot sammensætte en URL og kun stille en forekomst til rådighed, der indeholder den pågældende URL som href
. Populære søgeprogrammer, hvortil API-understøttelse kræver licens, kan installeres på denne måde. I den anden ende af spektrummet kan søgeprogrammer kommunikere med serveren og modtage individuelle forekomster med oplysninger om f.eks. etiket, href, kort beskrivelse og antal forekomster osv. Et lokalt hjælpeprogram kan producere forekomster på denne måde.
Uanset søgemekanismen kan programmer stille forskellige søgeomfangsindstillinger til rådighed vha. JFace-indstillingssiden. Disse sider vises, når linket 'Udvidede indstillinger' følges fra oversigten Hjælp. Foruden de rodindstillingssider, der er defineret med programmet, kan yderligere indstillingsundersider installeres i de udvidede indstillinger.
Omfangsindstillinger indlæses og lagres vha. IPreferenceStore
-objekter. Omfangsindstillinger for alle programmer grupperes sammen under et navngivet omfangssæt. Første gang det åbnes, opretttes standardomfangssættet ('Standard'), men brugere kan definere flere omfangssæt og skifte frem og tilbage mellem dem.
Da fødereret søgeunderstøttelse er en del af org.eclipse.help.base
-plugin'en, kræves der en fabrik til at oprette søgeomfangsobjekter fra dataene i indstillingslageret. Klienter, der installerer omfangsindstillingssider, skal også installere omfangsfabrikker.
Programmer, der defineres i dette udvidelsespunkt, vises ikke som standard i grænsefladen. Det, der vises der, er en konkret forekomst af hvert program, der kan ændres individuelt. Produkter kan forudkonfigurere hjælpen med et antal forekomster af de registrerede programtyper, muligvis med angivelse af parametre, så det fungerer på en bestemt måde. Desuden kan brugere tilføje deres egne forekomster af registrerede programmer og konfigurere dem efter behov:
<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}&ul=&ps=20&m=all"> </param> </engine>