public abstract class PluginRepositoryType
extends java.lang.Object
For enterprise content servers providing Content Management Interoperability Services (CMIS), the CMIS repository type can be used to access the server. A plug-in provided repository type can be used to extend IBM Content Navigator to support access other data sources not traditionally considered enterprise content servers.
Note that additional configuration is needed by the Content Navigator administrator to define the actual repository of the plug-in provided repository type and add it to a desktop.
| Constructor and Description |
|---|
PluginRepositoryType() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
excludeAdminOnlyRepositoryConfigProperties()
Returns a Boolean value that indicates whether
AdminOnly
RepositoryConfig properties are excluded when requested by users who
are not an administrator during runtime. |
java.lang.String |
getConfigurationDijitClass()
Returns the name of a Dojo
dijit class that provides a configuration interface widget for this
repository type. |
java.lang.String |
getConnectedConfigurationDijitClass()
Returns the name of a Dojo
dijit class that provides a configuration interface widget for this
repository type. |
java.lang.String[][] |
getExtendedConfigDijitClasses(java.util.Locale locale)
Returns a two-dimensional array of tab names names and Dojo
dijit classes that provide additional interfaces for configuring the widget
for this repository type. |
java.lang.String[] |
getGroupNamesForUser(PluginServiceCallbacks callbacks,
javax.servlet.http.HttpServletRequest request,
PluginRepositoryConnection connection,
java.lang.String userid)
Obtain the group membership list for a given user.
|
java.lang.String |
getIconClass()
Returns the style class to use to display an icon for this repository type.
|
abstract java.lang.String |
getId()
Returns a unique identifier for the repository type.
|
abstract java.lang.String |
getName(java.util.Locale locale)
Returns a descriptive label for this repository type that is displayed in the IBM Content Navigator
administration tool.
|
java.lang.String |
getPluginId()
Returns the identifier of the plug-in that contains this respository type.
|
java.lang.String |
getRepositoryModelClass()
Returns the name of a Dojo class that extends ecm.model.Repository and represents this repository on the client.
|
com.ibm.json.java.JSONObject |
getRepositoryPrivileges(PluginServiceCallbacks callbacks,
javax.servlet.http.HttpServletRequest request,
PluginRepositoryConnection connection)
Obtain privileges for the repository.
|
boolean |
isServerAuthenticationUsed()
Returns a Boolean value that indicates whether the plug-in uses a server-to-server authentication.
|
abstract void |
logoff(PluginServiceCallbacks callbacks,
javax.servlet.http.HttpSession session,
PluginRepositoryConnection connection)
Logoff the repository.
|
abstract PluginRepositoryConnection |
logon(PluginServiceCallbacks callbacks,
javax.servlet.http.HttpServletRequest request,
java.lang.String userid,
java.lang.String password,
RepositoryConfig repositoryConfig)
Perform logon to the repository.
|
abstract void |
performAction(PluginServiceCallbacks callbacks,
RepositoryConfig repositoryConfig,
java.lang.String action,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Performs a repository specific action.
|
void |
setPluginId(java.lang.String pluginId)
For Internal Use Only.
|
public abstract java.lang.String getId()
Important: This identifier is used in URLs so it must contain only alphanumeric characters.
String that is used to identify the repository type.public abstract java.lang.String getName(java.util.Locale locale)
String containing the short description of the repository type.public java.lang.String getIconClass()
String containing the style class to use.public abstract PluginRepositoryConnection logon(PluginServiceCallbacks callbacks, javax.servlet.http.HttpServletRequest request, java.lang.String userid, java.lang.String password, RepositoryConfig repositoryConfig) throws java.lang.Exception
callbacks - request - userid - password - repositoryConfig - java.lang.Exceptionpublic java.lang.String[] getGroupNamesForUser(PluginServiceCallbacks callbacks, javax.servlet.http.HttpServletRequest request, PluginRepositoryConnection connection, java.lang.String userid) throws java.lang.Exception
callbacks - request - connection - java.lang.Exceptionpublic com.ibm.json.java.JSONObject getRepositoryPrivileges(PluginServiceCallbacks callbacks, javax.servlet.http.HttpServletRequest request, PluginRepositoryConnection connection) throws PluginRepositoryLogonException
callbacks - request - connection - PluginRepositoryLogonException - for any situation where the logon is not successfulpublic abstract void logoff(PluginServiceCallbacks callbacks, javax.servlet.http.HttpSession session, PluginRepositoryConnection connection) throws java.lang.Exception
callbacks - An instance of the PluginServiceCallbacks class that contains several functions that can
be used by the service. These functions provide access to the plug-in configuration and content server
APIs.session - The HttpSession for the user. (Since logoff can be called as part of session invalidation, a request
may not exist.)connection - The instance of PluginRepositoryConnection that was originally returned from
PluginRepositoryType.logon.java.lang.Exceptionpublic abstract void performAction(PluginServiceCallbacks callbacks, RepositoryConfig repositoryConfig, java.lang.String action, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
callbacks - An instance of the PluginServiceCallbacks class that contains several functions that can
be used by the service. These functions provide access to the plug-in configuration and content server
APIs.request - The HttpServletRequest object that provides the request. The service can access the
invocation parameters from the request.response - The HttpServletResponse object for the request. The service can get the output stream and
write the response. In most cases the response will be in JSON format. Use the
PluginServiceCallbacks.writeJSONResponse method to send the response back in such cases
as this will allow other plug-ins such as EDSPlugin to process the response.java.lang.Exception - For exceptions that occur when the service is running. If the logging level is high enough to log
errors, information about the exception is logged by IBM Content Navigator.public java.lang.String getConfigurationDijitClass()
dijit class that provides a configuration interface widget for this
repository type. The widget must extend the ecm.widget.admin.PluginRepositoryConfigurationPane
widget. An instance of the widget is created and displayed in the IBM Content Navigator administration tool for
the general repository configuration. General repository configuration does not require connection to the
repository and typically provides a URL and other parameters needed to successfully connect to the repository,
with the user only needing to provide userid and password.
Refer to the documentation on ecm.widget.admin.PluginRepositoryConfigurationPane for more information on
what is required for a plug-in repository configuration user interface.
public java.lang.String getConnectedConfigurationDijitClass()
dijit class that provides a configuration interface widget for this
repository type. The widget must extend the ecm.widget.admin.PluginRepositoryConfigurationPane
widget. An instance of the widget is created and displayed in the IBM Content Navigator administration tool for
the configuration parameters tab of the repository configuration. This tab is enabled after the administrator has
filled in the general configuration and logged into the repository.
Refer to the documentation on ecm.widget.admin.PluginRepositoryConfigurationPane for more information on
what is required for a plug-in repository configuration user interface.
public java.lang.String[][] getExtendedConfigDijitClasses(java.util.Locale locale)
dijit classes that provide additional interfaces for configuring the widget
for this repository type. These widget must extend the ecm.widget.admin.PluginRepositoryConfigurationPane.
The first member of the array is the name that will be displayed on the tab in the administration tool for the repository,
the second is the configuration dijit. For example:
return new String[][] {{"Tab1", "samplePluginDojo.SampleRepositoryExtendedConfigPane1"},
{"Tab2", "samplePluginDojo.SampleRepositoryExtendedConfigPane2"},
{"Tab3", "samplePluginDojo.SampleRepositoryExtendedConfigPane3"}};
The example above creates three tabs named Tab1, Tab2, and Tab3.
The array may contain any number of name, dijit pairs, as show in in the example above.
An instance of each widget is created in the IBM Content Navigator administration tool for the repository.
Refer to the documentation on ecm.widget.admin.PluginRepositoryConfigurationPane for more information on
what is required for a plug-in repository configuration user interface.
locale - - May be used to get localized names from resource bundle.public java.lang.String getRepositoryModelClass()
public final java.lang.String getPluginId()
Important: This method is implemented by IBM Content Navigator and must not be overridden.
Plugin class for the plug-in.public final void setPluginId(java.lang.String pluginId)
public boolean isServerAuthenticationUsed()
true the users will not be prompted for username and password.public boolean excludeAdminOnlyRepositoryConfigProperties()
AdminOnly
RepositoryConfig properties are excluded when requested by users who
are not an administrator during runtime.true to exclude AdminOnly properties