See: Description
Interface | Description |
---|---|
AuthenticationIdentity |
Interface for the
identity parameter of the
AuthenticationManager.authenticate
method. |
AuthenticationManager |
Authentication Manager.
|
AuthorizationManager |
Authorization Manager.
|
Connector |
The root of the SPI for connector instances.
|
ConnectorFactory |
This factory provides a mechanism by which
ConnectorType.validateConfig
may create instances of the connector for the
purpose of validation. |
ConnectorPersistentStore |
Gives connectors access to a local storage area.
|
ConnectorPersistentStoreAware |
If a
Connector implements this marker interface, then the Connector
Manager will call the setter when it instantiates it, supplying a
ConnectorPersistentStore object, which encapsulates how a connector
can persist and use information about documents or any other information. |
ConnectorShutdownAware |
A
Connector object may implement this interface if it wishes
to be informed when the Connector instance is being shut down
or deleted. |
ConnectorType |
The root of the SPI for connector configuration.
|
DatabaseResourceBundle |
Supplies SQL language syntax variations for the various database
implementations.
|
Document |
Interface that represents a document.
|
DocumentAcceptor |
Interface for a DocumentAcceptor - something that takes spi Documents
and sends them along on their way.
|
DocumentList |
Interface that represents a list of documents to be traversed.
|
HasTimeout | Deprecated
This Interface has been fully deprecated.
|
Lister |
The
Lister mechanism might be
used as an alternative to the TraversalManager as a
convenient interface for feeding documents by the connector. |
ListerAware | |
LocalDatabase |
Provides access to the Connector Manager's configured JDBC database
which the connector implementer can use for any purpose.
|
LocalDocumentStore | Deprecated
This interface has never been publicly implemented
|
Property |
Interface that represents a property.
|
Retriever |
A
Retriever provides access to document content, based upon a docid. |
RetrieverAware | |
Session |
The primary access point to information from the repository.
|
TraversalContext |
A callback interface that the
Connector Manager will pass in to a
TraversalManager , which
the traversal manager can the use to call back to get information from the
Connector Manager. |
TraversalContextAware |
A
TraversalManager should implement this interface if it wants the
Connector Manager to supply it with a TraversalContext object. |
TraversalManager |
Interface for implementing query-based traversal.
|
TraversalSchedule |
A traversal schedule for a connector.
|
TraversalScheduleAware |
An optional interface that a
TraversalManager or Lister
may implement, which will receive the TraversalSchedule for
this connector. |
Class | Description |
---|---|
AuthenticationResponse |
The response from the
AuthenticationManager.authenticate
method. |
AuthorizationResponse |
The carrier type of the list returned by the
AuthorizationManager.authorizeDocids method. |
ConfigureResponse |
The response for most configuration methods, such as
ConnectorType.getConfigForm and
ConnectorType.validateConfig . |
Principal |
Represents a principal for authentication and authorization purposes.
|
SecureDocument |
An implementation of the
Document interface for use with
ACLs. |
SimpleAuthenticationIdentity |
Simple implementation of the
AuthenticationIdentity interface. |
SimpleConnectorFactory |
Simple implementation of the
ConnectorFactory interface. |
SimpleConnectorType |
Simple implementation of the
ConnectorType interface. |
SimpleDocument |
Simple implementation of the
Document interface. |
SimpleDocumentList |
Simple implementation of the
DocumentList interface. |
SimpleProperty |
Simple implementation of the
Property interface. |
SimpleTraversalContext |
Simple implementation of the
TraversalContext interface. |
SocialCollectionHandler |
SocialCollectionHandler initializes a social collection, which is a container
in GSA for social documents, like user profile documents.
|
SocialUserProfileDocument |
A user profile document object.
|
SocialUserProfileDocument.ColleagueData |
A colleague object.
|
SocialUserProfileProperties |
Distinguished Properties for user profiles
|
SpiConstants |
Non-instantiable class that holds constants used by the SPI and
documents their meanings.
|
Value |
Wrapper class for all data items from a repository.
|
XmlUtils |
Utility class containing methods used to encode and construct XML for the
Connector Manager.
|
Enum | Description |
---|---|
AuthorizationResponse.Status |
Authorization Status codes.
|
SpiConstants.AclAccess |
Enum for the list of possible ACL access values.
|
SpiConstants.AclInheritanceType |
Enum for the list of possible inheritance types.
|
SpiConstants.AclScope |
Enum for the list of possible ACL scope values.
|
SpiConstants.ActionType |
Enum for action types.
|
SpiConstants.CaseSensitivityType |
Enum for the possible case sensitivity rules.
|
SpiConstants.ContentEncoding |
Enum for feed content encoding.
|
SpiConstants.DatabaseType |
This enumeration identifies databases.
|
SpiConstants.DocumentType |
Enum for the list of possible document types.
|
SpiConstants.FeedType |
Enum for the list of possible feed types.
|
SpiConstants.PrincipalType |
Enum for the types of Principals.
|
SpiConstants.RoleType | Deprecated
Roles are ignored by the Google Search Appliance.
|
Exception | Description |
---|---|
DocumentAcceptorException |
Thrown for general
DocumentAcceptor errors, such as connectivity
problems. |
DocumentAccessException |
Thrown in cases where the search or traversal user does not have enough
privileges to access a document.
|
DocumentNotFoundException |
Thrown for documents that do not exist or are unknown to the connector.
|
RepositoryDocumentException |
Thrown for problems accessing individual documents in a repository.
|
RepositoryException |
Thrown for general repository errors, such as connectivity problems.
|
RepositoryLoginException |
Thrown to indicate unsuccessful login.
|
SkippedDocumentException |
Thrown for documents that should be skipped for non-error reasons.
|
Defines the SPI for connector developers who wish to write plug-ins to the Google Search Appliance.
The Connector Manager uses the Spring Framework to
instantiate two important interfaces of this package: ConnectorType
and
Connector
.
The implementor of this SPI must
provide two Spring xml configuration files to notify the Connector
Manager of the existence of their implementation and to describe how to
instantiate their implementation. These two files must have these names:
The first file, connectorType.xml, should be a complete and independent file that provides a bean definition for a class that implements the ConnectorType interface. The Connector Manager will use the id attribute of that bean as the name of your implementation. It is the implementor's responsibility to make sure that this name is unique in a Search Appliance installation (that is, unique to all Connector Managers in an installation).
When a connector manager starts up, it looks for all classpath resources with this path: config/connectorType.xml. It passes these to Spring which then instantiates them all. Connector developers should include such a file in the jar in which they package their connector.
The second file, connectorInstance.xml, should provide a bean definition for a class that implements the Connector interface. The id attribute for this bean should be the same as the id for your ConnectorType interface. Unlike the connectorType.xml, the file is not normally self-contained. It may refer to external variables in the following syntax:
<property name="username" value="${username}"/>
These variables will be supplied by Spring from a properties file created by the Connector Manager for each instance of a connector. Spring supplies these values using their PropertyPlaceholderConfigurer functionality. The actual values are expected to come from the Search Appliance administrator, via screens rendered on the Administrator Console.
The primary responsibility of the ConnectorType implementation is to provide the Administrator Console with forms and validation methods for these configuration screens.
Example: suppose you want to write a connector for a 3rd-party CMS named "XyzCms". You would write a complete java implementation of this SPI, using the XyzCms's proprietary API. You would also provide the two xml files, ConnectorType.xml and ConnectorInstance.xml. You might give the defined beans in both XML files the ids "XyzCmsConnector" - or perhaps "XyzCmsConnectorFromMyCompany", to ensure uniqueness.
At a particular customer installation, the Search Appliance administrator would find a machine on which to run an external Connector Manager, would download and install Tomcat, then Connector Manager from the code site, or by using simpler, supported installers, if such exist. He or she would then download and install your connector, according to directions you supply. When the Connector Manager starts up in the new Tomcat instance, it looks for all config files on the class path at "config/connectorType.xml", and it discovers your XyzCmsConnector, perhaps among others. It uses Spring to instantiate your class that implements "ConnectorType" according to that XML file.
Suppose that customer has two different XyzCms repositories, with different names, say "XyzA" and "XyzB". The customer would then use the Search Appliance's Admin Console to create two instances of your connector, perhaps giving the connector instances the same names as the repositories: "XyzA" and "XyzB". In turn, the connector manager would automatically create two properties files, named after the connector instance names, XyzA.properties and XyzB.properties. The connector manager then uses Spring to instantiate two instances of your Connector implementation, using the two properties files.
For details on dependent specifications, see these sites: