source: trunk/src/clients/web/web-extensions.xml @ 7271

Last change on this file since 7271 was 7271, checked in by Nicklas Nordborg, 6 years ago

References #2052: Add extension point for custom action in the Adminstrate->Services list

The extension point has now been defined: net.sf.basedb.clients.web.services.list.actions.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 9.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<!--
3  $Id: web-extensions.xml 7271 2017-01-19 08:54:41Z nicklas $
4
5  Copyright (C) Nicklas Nordborg
6
7  This file is part of BASE - BioArray Software Environment.
8  Available at http://base.thep.lu.se/
9
10  BASE is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License
12  as published by the Free Software Foundation; either version 3
13  of the License, or (at your option) any later version.
14
15  BASE is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License
21  along with BASE. If not, see <http://www.gnu.org/licenses/>.
22-->
23<extensions
24  xmlns="http://base.thep.lu.se/extensions.xsd"
25  id-base="net.sf.basedb.clients.web."
26  >
27  <about>
28    <version></version>
29    <name>Web client extensions points and extensions</name>
30    <description>
31      This file defines extension points and extensions for
32      the web client. The extensions are only loaded when BASE
33      starts up as a web server.
34    </description>
35    <copyright>BASE development team</copyright>
36    <email>basedb-users@lists.sourceforge.net</email>
37    <url>http://base.thep.lu.se/</url>
38  </about>
39 
40  <plugin-definition 
41    id="SimpleExport">
42    <about>
43      <name>Table exporter</name>
44      <description>
45        Export all table listings in the web interface as tab-separated
46        text files or as XML. This plugin only works from within the web
47        client, since it depends on context and table information.
48      </description>
49    </about>
50    <plugin-class>net.sf.basedb.clients.web.plugins.SimpleExport</plugin-class>
51    <settings>
52      <property name="everyone-use">1</property>
53      <property name="immediate-execution">1</property>
54    </settings>
55  </plugin-definition>
56 
57  <extension-point
58    id="menu.extensions"
59    >
60    <action-class>net.sf.basedb.clients.web.extensions.menu.MenuItemAction</action-class>
61    <name>Menu: extensions</name>
62    <description>
63      Extension point for adding extensions to the 'Extensions' menu.
64      Extensions should provide MenuItemAction instances. The rendering
65      is internal and extensions can't use their own rendering factories.
66      The context will only include information about the currently logged
67      in user, not information about the current page that is displayed.
68      The reason for this is that the rendered menu is cached as a string
69      in the user session. The menu is not updated on every page request.
70      As of BASE 3.3, this extension point also support custom scripts and
71      stylesheets.
72    </description>
73  </extension-point>
74 
75  <extension-point 
76    id="bioassayset.list.tools"
77    >
78    <action-class>net.sf.basedb.clients.web.extensions.toolbar.ButtonAction</action-class>
79    <renderer-factory override="true">
80      <factory-class>net.sf.basedb.clients.web.extensions.toolbar.CompactButtonRendererFactory</factory-class>
81    </renderer-factory>
82    <name>Bioassay set: Tools</name>
83    <description>
84      Extension point for the Tools column in the bioassayset tree
85      view of an experiment. Extensions should provide ActionButton
86      instances. The default renderer factory is CompactButtonRendererFactory,
87      but this can be overridden by the extensions. Note that the tree
88      contains items of more than one type: BioAssaySet, Transformation and
89      ExtraValue. The JspContext.getItem() can return any one of those
90      types.
91    </description>
92  </extension-point>
93
94  <extension-point 
95    id="bioassayset.overviewplots"
96    >
97    <action-class>net.sf.basedb.clients.web.extensions.plot.OverviewPlotAction</action-class>
98    <name>Bioassay set: Overview plots</name>
99    <description>
100      Extension point for overview plots for a bioassay set. The overview
101      plots are usually one pre-defined plot per bioassay. For example,
102      MA plots for 2-channel data. Extensions should provide OverviewPlotAction
103      instances. The rendering is internal and generates one &lt;img&gt; tag
104      for each plot. An extension is supposed to generate the image URL that
105      leads to a servlet that creates the actual image. We recommend that
106      images are cached. See the core plot servlet for details.
107    </description>
108  </extension-point>
109 
110  <extension-point
111    id="services"
112    >
113    <action-class>net.sf.basedb.clients.web.extensions.service.ServiceControllerAction</action-class>
114    <name>Services</name>
115    <description>
116      Extension point for services. A service is a piece of code that
117      is loaded when the BASE web server starts up. The service is then running
118      as long as the BASE web server is running. It is also possible to
119      manually stop and start services. This extension point is different from
120      most others in that it doesn't affects the visible interface. Since
121      services are loaded at startup time, this also means that the
122      context passed to ActionFactory methods doesn't have any user
123      information. However, the InvokationContext.getClientContext().getSessionControl()
124      returns a special SessionControl which gives the extension permission to impersonate
125      another user so that it can access the BASE database if needed.
126      There is also no meaning for extensions to specify a RendererFactory.
127    </description>
128    <error-handler-factory>
129      <factory-class>net.sf.basedb.util.extensions.LoggingErrorHandlerFactory</factory-class>
130      <parameters>
131        <rememberLast>true</rememberLast>
132      </parameters>
133    </error-handler-factory>
134  </extension-point>
135 
136  <extension-point 
137    id="services.list.actions"
138    >
139    <action-class>net.sf.basedb.clients.web.extensions.toolbar.ButtonAction</action-class>
140    <renderer-factory override="true">
141      <factory-class>net.sf.basedb.clients.web.extensions.toolbar.CompactButtonRendererFactory</factory-class>
142    </renderer-factory>
143    <name>Services: Actions</name>
144    <description>
145      Extension point for the Actions column in the Adminstrate-&gt;services list.
146      Extensions should provide ActionButton instances. The default renderer factory is
147      CompactButtonRendererFactory, but this can be overridden by the extensions.
148      The JspContext.getItem() method return the current ServiceControllerAction.
149    </description>
150  </extension-point>
151
152  <extension-point 
153    id="overview.info-details">
154    <action-class>net.sf.basedb.clients.web.extensions.section.SectionAction</action-class>
155    <name>Item overview - node information</name>
156    <description>
157      Extension point for including more information about the currently selected node
158      in the overview. The information is displayed as a section in the right pane.
159      This extension point supports custom javascript and stylesheet, but rendering
160      is internal. The JspContext is populated with the current 'Node' object from the
161      overview which can be used to retreive more information.
162    </description>
163  </extension-point>
164
165  <extension-point 
166    id="login-form">
167    <action-class>net.sf.basedb.clients.web.extensions.login.LoginFormAction</action-class>
168    <name>Login form customization</name>
169    <description>
170      Extension point for customizing the login form. Makes it possible to change login
171      and/or password prompts, help texts, etc. Since there is only one login form,
172      only the first extension found for this extension point is used.
173    </description>
174  </extension-point>
175 
176  <extension-point 
177    id="global-skin">
178    <action-class>net.sf.basedb.clients.web.extensions.skin.SkinAction</action-class>
179    <name>Skins</name>
180    <description>
181      Extension point for GUI customizations. Extensions should implement
182      the SkinAction interface, which can be used to set the favicon and
183      add custom data to a hidden div tag on the page. Most work is expected
184      to be done by stylesheets and/or scripts added to the JspContext
185      instance passed to factory via the prepareContext method.
186    </description>
187  </extension-point>
188
189  <extension-point
190    id="start-page">
191    <action-class>net.sf.basedb.clients.web.extensions.startpage.StartPageAction</action-class>
192    <name>Start page</name>
193    <description>
194      Extension point for selecting the start page that is displayed
195      after a user has logged in to BASE. Extensions should implement
196      the StartPageAction interface. Use the BASE › Preferences menu
197      to select the start page. This extension point doesn't use any
198      custom scripts or stylesheets.
199    </description>
200  </extension-point>
201 
202  <!--
203    More extension points:
204    In addition to the extension points in this file, the web
205    client also defines a lot of other extension points that are
206    registered programmatically. For more information see
207    Extensions -> Installed extensions in the web client interface.
208   
209     * Toolbar extension points: Adds buttons to toolbars in
210       list and single-item view pages.
211     * Edit dialog: Adds extra tabs to edit dialogs
212     * OnSave: Add callback functionality when saving from an edit dialog
213  -->
214 
215  <extension
216    id="bioassayset.overviewplots.maplot"
217    extends="net.sf.basedb.clients.web.bioassayset.overviewplots"
218    >
219    <index>1</index>
220    <about>
221      <name>MA/Correction factor plots</name>
222      <description>
223        Generates MA and correction factor plots for
224        2-channel data.
225      </description>
226    </about>
227    <action-factory>
228      <factory-class>
229        net.sf.basedb.clients.web.extensions.plot.MAPlotFactory
230      </factory-class>
231      <parameters>
232        <width>400</width>
233        <height>300</height>
234        <plotServlet>/views/experiments/plotter/plot</plotServlet>
235      </parameters>
236    </action-factory>
237  </extension>
238 
239 
240 
241</extensions>
Note: See TracBrowser for help on using the repository browser.