Вы находитесь на странице: 1из 30

Advanced DSpace: plugins

wiki.dspace.org/PluginManager

Three types of plugin:
-
-
-
singleton plugins
naed plugins
se!uence plugins

singleton plugins

key characteristic: only one ipleenting class

e"aple: site authentication

e"aple: site authentication
plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator

e"aple: site authentication
plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator

plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator
dspace.cfg:
#ooServlet.$ava:
SiteAuthenticator siteAuth = (SiteAuthenticator)
PluginManager.getSinglePlugin(SiteAuthenticator.class);

when to use:

%hen you need a unifor echanis to perfor a given function&
'ut don(t want to 'e constrained to that echanis forever.
when to use:

naed plugins

key characteristic: ultiple ipleentations availa'le& app choses one 'y nae

e"aple: crosswalks

e"aple: crosswalks
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets

e"aple: crosswalks
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets

dspace.cfg:
DisseminationCrosswalk #walk = (DisseminationCrosswalk)
PluginManager.get$amedPlugin(DisseminationCrosswalk.class% &dc');
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets
#ooDisseinator.$ava

note:
naed plugins ust have naes )keys* that are uni!ue for the interface

note:
naes ay contain any characters other than
(&( and (+(& 'ut alphanueric is preferred

when to use:

when to use:
%hen you need ultiple ipleentations to 'e availa'le / supported
throughout the application& leaving the ipleenting classes to choose
which option to use.

se!uence plugins

key characteristic: ,stack of singletons-

e"aple: stacka'le authentication

plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
e"aple: stacka'le authentication

plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
e"aple: stacka'le authentication

dspace.cfg:
plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
AuthenticationManager.$ava:
pri-ate static AuthenticationMethod stack./ = (AuthenticationMethod./)
PluginManager.getPluginSe(uence(AuthenticationMethod.class);

when to use:

when to use:
%hen you want to pass the responsi'ility for processing through a
stack of ipleenting classes.

wiki.dspace.org/.ategory:/0%T0
wiki.dspace.org/1uide2to2Developing2with2DSpace
dspace-devel3lists.sourceforge.net

Вам также может понравиться