Οι μηχανές αναζήτησης που ορίζονται εδώ δεν θα εμφανιστούν αυτόματα ως συστατικά στοιχεία συμμετοχής συλλογικής αναζήτησης μέχρι την ολοκλήρωση του δεσμού μηχανής προϊόντος, εκτός εάν το γνώρισμα productId
δεν προσδιοριστεί.
Ως προς τις μηχανές που το προσδιορίζουν, θα εμφανιστούν μόνο όσες έχουν δεσμό
με συγκεκριμένο προϊόν όταν εκτελεστεί το προϊόν αυτό.
Οι μηχανές αναζήτησης μπορούν απλά να συνθέσουν ένα URL και να παράσχουν μόνο μία επίσκεψη που περιέχει αυτό το URL ως href. Η προσθήκη των δημοφιλών μηχανών αναζήτησης για τα οποία η υποστήριξη API απαιτεί άδεια χρήσης γίνεται με τον τρόπο αυτό. Στην άλλη άκρη του φάσματος, οι μηχανές αναζήτησης μπορούν να επικοινωνήσουν με τον εξυπηρετητή και να λάβουν μεμονωμένες επισκέψεις με πληροφορίες όπως ετικέτα, href, σύντομη περιγραφή, βαθμολογία κλπ. Η τοπική μηχανή βοήθειας μπορεί να παράγει επισκέψεις με τον τρόπο αυτό.
Ανεξάρτητα από το μηχανισμό αναζήτησης, οι μηχανές μπορούν να παράσχουν διάφορες ρυθμίσεις εμβέλειας χρησιμοποιώντας τις σελίδες προτιμήσεων JFace. Οι σελίδες αυτές εμφανίζονται όταν η διασύνδεση "Ειδικές ρυθμίσεις" ακολουθείται από την προβολή "Βοήθεια". Επιπλέον των κεντρικών σελίδων προτιμήσεων που ορίζονται στη μηχανή, είναι δυνατή η προσθήκη πρόσθετων υποσελίδων προτιμήσεων για πιο προηγμένες ρυθμίσεις.
Οι ρυθμίσεις εμβέλειας φορτώνονται και αποθηκεύονται με τη χρήση των αντικειμένων IPreferenceStore
. Οι ρυθμίσεις εμβέλειας για όλες τις μηχανές ομαδοποιούνται κάτω από ένα επώνυμο σύνολο εμβελειών.
Κατά το πρώτο άνοιγμα, δημιουργείται το προεπιλεγμένο σύνολο εμβελειών
("Προεπιλεγμένο"), αλλά οι χρήστες μπορούν να καθορίσουν περισσότερα
σύνολα εμβελειών με δυνατότητα εναλλαγής μεταξύ τους.
Εφόσον η υποστήριξη συλλογικής αναζήτησης είναι τμήμα της πρόσθετης
λειτουργίας org.eclipse.help.base
, χρειάζεται μια μέθοδος
κατασκευής για τη δημιουργία αντικειμένων εμβέλειας αναζήτησης από τα δεδομένα
στο χώρο αποθήκευσης προτιμήσεων. Απαιτείται από τους πελάτες που προσθέτουν σελίδες προτιμήσεων εμβέλειας να προσθέσουν ομοίως και μεθόδους κατασκευής εμβέλειας.
Οι μηχανές που ορίζονται στο σημείο επέκτασης δεν εμφανίζονται στο περιβάλλον χρήστη ως προεπιλογή. Αυτό που εμφανίζεται είναι μια υπαρκτή χρήση μιας μηχανής αναζήτησης που μπορεί να τροποποιηθεί μεμονωμένα. Τα προϊόντα μπορούν να προ-ρυθμίσουν το σύστημα βοήθειας με έναν αριθμό χρήσεων των καταχωρημένων ειδών μηχανών, πιθανόν παραμετροποιημένων για λειτουργία με τον επιθυμητό τρόπο. Επιπρόσθετα, οι χρήστες μπορούν να προσθέσουν τις δικές τους χρήσεις των καταχωρημένων μηχανών και να τις ρυθμίσουν ανάλογα με τις επιλογές τους.
<!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>
καθορίζει ένα συγκεκριμένο είδος μηχανής αναζήτησης. Το είδος της μηχανής αναζήτησης μπορεί να χρησιμοποιηθεί για τη δημιουργία υπαρκτών χρήσεων της μηχανής αναζήτησης είτε από το χρήστη είτε εάν έχουν ήδη φορτωθεί από το προϊόν. Για να είναι χρήσιμα, τα είδη μηχανής αναζήτησης πρέπει να έχουν τη δυνατότητα ρύθμισης ώστε να μπορεί να δημιουργηθεί ένας αριθμός μηχανών χρησιμοποιώντας ένα μόνο είδος.
org.eclipse.help.search.ISearchEngine
. Η
κλάση ευθύνεται για την αναζήτηση βάσει ενός δεδομένου ερωτήματος και
εμβέλειας.
org.eclipse.help.ui.RootScopePage
. Αυτή η σελίδα έχει το
master switch για τη μηχανή αναζήτησης και χρησιμοποιείται συνήθως για τη
φιλοξενία οργάνων, τα οποία χρησιμοποιούνται για τον περιορισμό της εμβέλειας
αναζήτησης της μηχανής.
org.eclipse.help.ui.ISearchScopeFactory
. Η
μέθοδος κατασκευής ευθύνεται για τη δημιουργία αντικειμένων ISearchScope
από ρυθμίσεις που έχουν αποθηκευθεί στην κλάση IPreferenceStore
. Εάν
καθοριστεί το pageClass
, πρέπει να καθοριστεί και η μέθοδος κατασκευής εμβέλειας.<!ELEMENT description (#PCDATA)>
μια σύντομη περιγραφή της μηχανής αναζήτησης
<!ELEMENT subpage EMPTY>
<!ATTLIST subpage
id CDATA #REQUIRED
label CDATA #REQUIRED
class CDATA #IMPLIED
category CDATA #REQUIRED>
μια θυγατρική σελίδα στην κεντρική σελίδα προτίμησης εμβέλειας που
καθορίζεται στο στοιχείο engine
. Εάν δεν έχει καθοριστεί το γνώρισμα της
μηχανής pageClass
, οι υπο-σελίδες θα αγνοηθούν.
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>
Καθορίζει μια υπαρκτή χρήση ενός συγκεκριμένου είδους μηχανής αναζήτησης. Η χρήση μπορεί να συνδέεται με το προϊόν ώστε να εμφανίζεται μόνο όταν το προϊόν αυτό είναι ενεργό. Η μηχανή αναζήτησης μπορεί να διαθέτει τη δική της ετικέτα και περιγραφή. Εάν δεν καθοριστεί, θα χρησιμοποιηθούν τα δεδομένα του είδους μηχανής. Τέλος, κάθε είδος μηχανής καθορίζει ένα έγκυρο σύνολο παραμέτρων που μπορεί να μεταβιβαστεί σε αυτό για να το ρυθμίσει. Οι μηχανές αναζήτησης μπορούν να καθορίσουν τις τιμές αυτών των παραμέτρων.
org.eclipse.core.runtime.Platform.getProduct()
). Εάν δεν έχει
καθοριστεί, η μηχανή θα εμφανιστεί για όλα τα προϊόντα.true
, η μηχανή θα ενεργοποιηθεί
αρχικά. Οι χρήστες μπορούν να αντικαταστήσουν αυτή την τιμή στο UI.<!ELEMENT param EMPTY>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED>
μια προαιρετική παράμετρος που χρησιμοποιείται για τη ρύθμιση αυτής της χρήσης ενός είδους μηχανής αναζήτησης. Οι έγκυρες παράμετροι καθορίζονται από το είδος της μηχανής.
<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>
Instances of XYZ Search search the XYZ site.</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}&ul=&ps=20&m=all"
>
</param>
</engine>
</extension>
class
του στοιχείου engineType
πρέπει να παρέχει
ένα πλήρες όνομα της κλάσης που υλοποιεί το org.eclipse.help.search.ISearchEngine
. Το
γνώρισμα pageClass
πρέπει να παρέχει ένα πλήρες όνομα της κλάσης
που επεκτείνει το org.eclipse.help.ui.RootScopePage
. Το
γνώρισμα scopeFactory
πρέπει να παρέχει ένα πλήρες όνομα της
κλάσης που υλοποιεί το org.eclipse.help.ui.ISearchScopeFactory
.
Το γνώρισμα class
του στοιχείου subpage
πρέπει να
παρέχει ένα πλήρες όνομα μιας κλάσης που υλοποιεί το org.eclipse.help.ui.ISearchScopePage
.
Τα προϊόντα μπορούν να δημιουργήσουν υπαρκτές χρήσεις του κέντρου πληροφοριών και των αναζητήσεων στο διαδίκτυο χρησιμοποιώντας τη δική τους ταυτότητα μηχανής και τις απαιτούμενες παραμέτρους.
Το είδος μηχανής αναζήτησης κέντρου πληροφοριών διαθέτει την ταυτότητα
μηχανής org.eclipse.help.ui.infoCenter
και δέχεται μία παράμετρο
url
που παραπέμπει στον απομακρυσμένο εξυπηρετητή, όπου έχει
εγκατασταθεί το κέντρο πληροφοριών. Τα αποτελέσματα εμφανίζονται με τον
ίδιο τρόπο όπως και τα αποτελέσματα τοπικής βοήθειας.
Το είδος μηχανής αναζήτησης στο διαδίκτυο έχει την ταυτότητα μηχανής
org.eclipse.help.ui.web
και δέχεται μία παράμετρο url
που αντιπροσωπεύει ένα υπαρκτό ερώτημα αναζήτησης με την πραγματική σειρά
χαρακτήρων αναζήτησης που αντικαθίσταται από ένα σύμβολο αντικατάστασης
'{expression}', όπως στο ακόλουθο παράδειγμα:
http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=allΤα αποτελέσματα της αναζήτησης στο διαδίκτυο εμφανίζονται ως μια διασύνδεση που ανοίγει το πρόγραμμα πλοήγησης με τη σειρά χαρακτήρων αναζήτησης, η οποία αντικαθίσταται στην παράμετρο
url
.
Copyright (c) 2000, 2005 IBM Corporation και άλλων.
Με την επιφύλαξη παντός δικαιώματος.Αυτό το πρόγραμμα και τα συνοδευτικά του υλικά διατίθενται βάσει των όρων της κοινής άδειας χρήσης Eclipse Public License v1.0 που συνοδεύει αυτή τη διανομή και διατίθεται στην ακόλουθη διεύθυνση: http://www.eclipse.org/legal/epl-v10.html.