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

Last change on this file since 7759 was 7759, checked in by Nicklas Nordborg, 3 years ago

References #2199: Implement a "File viewer" extension point

Added support for changing the HTML tag used by the CompactButtonRenderer. The default value is <a>.

The file action extension point now uses <span> instead.

Added some styling and changed the Base.getFileLinks() method to use the same HTML structure.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 11.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<!--
3  $Id: web-extensions.xml 7759 2019-11-27 12:00:25Z 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="file-viewer"
154    >
155    <action-class>net.sf.basedb.clients.web.extensions.toolbar.ButtonAction</action-class>
156    <renderer-factory override="true">
157      <factory-class>net.sf.basedb.clients.web.extensions.toolbar.CompactButtonRendererFactory</factory-class>
158      <parameters>
159        <button-tag>span</button-tag>
160      </parameters>
161    </renderer-factory>
162    <name>File viewer</name>
163    <description>
164      Extension point for adding actions after the "View" and "Download" actions
165      whenever a file item is displayed. Extensions should provide ActionButton
166      instances. The default renderer factory is CompactButtonRendererFactory, but
167      this can be overridden by the extensions. The JspContext.getCurrentItem() method
168      return a FileViewerContext instance. This object can be used to retrieve information
169      about the current file, but also about the surrounding context, for example,
170      if the file is in a "Data files" list for another item.
171    </description>
172  </extension-point>
173
174  <extension-point 
175    id="overview.info-details">
176    <action-class>net.sf.basedb.clients.web.extensions.section.SectionAction</action-class>
177    <name>Item overview - node information</name>
178    <description>
179      Extension point for including more information about the currently selected node
180      in the overview. The information is displayed as a section in the right pane.
181      This extension point supports custom javascript and stylesheet, but rendering
182      is internal. The JspContext is populated with the current 'Node' object from the
183      overview which can be used to retreive more information.
184    </description>
185  </extension-point>
186
187  <extension-point 
188    id="login-form">
189    <action-class>net.sf.basedb.clients.web.extensions.login.LoginFormAction</action-class>
190    <name>Login form customization</name>
191    <description>
192      Extension point for customizing the login form. Makes it possible to change login
193      and/or password prompts, help texts, etc. Since there is only one login form,
194      only the first extension found for this extension point is used.
195    </description>
196  </extension-point>
197 
198  <extension-point 
199    id="global-skin">
200    <action-class>net.sf.basedb.clients.web.extensions.skin.SkinAction</action-class>
201    <name>Skins</name>
202    <description>
203      Extension point for GUI customizations. Extensions should implement
204      the SkinAction interface, which can be used to set the favicon and
205      add custom data to a hidden div tag on the page. Most work is expected
206      to be done by stylesheets and/or scripts added to the JspContext
207      instance passed to factory via the prepareContext method.
208    </description>
209  </extension-point>
210
211  <extension-point
212    id="start-page">
213    <action-class>net.sf.basedb.clients.web.extensions.startpage.StartPageAction</action-class>
214    <name>Start page</name>
215    <description>
216      Extension point for selecting the start page that is displayed
217      after a user has logged in to BASE. Extensions should implement
218      the StartPageAction interface. Use the BASE › Preferences menu
219      to select the start page. This extension point doesn't use any
220      custom scripts or stylesheets.
221    </description>
222  </extension-point>
223 
224  <!--
225    More extension points:
226    In addition to the extension points in this file, the web
227    client also defines a lot of other extension points that are
228    registered programmatically. For more information see
229    Extensions -> Installed extensions in the web client interface.
230   
231     * Toolbar extension points: Adds buttons to toolbars in
232       list and single-item view pages.
233     * Edit dialog: Adds extra tabs to edit dialogs
234     * OnSave: Add callback functionality when saving from an edit dialog
235  -->
236 
237  <extension
238    id="password-login-form"
239    extends="net.sf.basedb.clients.web.login-form"
240    >
241    <about>
242      <name>Password login form</name>
243      <description>
244        The regular username+password login form. This is disabled by
245        default, but need to be enabled when installing an external
246        authentication manager that is optional.
247      </description>
248    </about>
249    <index>99</index>
250    <action-factory>
251      <factory-class>net.sf.basedb.clients.web.extensions.login.PasswordLoginFormFactory</factory-class>
252    </action-factory>
253  </extension>
254 
255  <extension
256    id="bioassayset.overviewplots.maplot"
257    extends="net.sf.basedb.clients.web.bioassayset.overviewplots"
258    >
259    <index>1</index>
260    <about>
261      <name>MA/Correction factor plots</name>
262      <description>
263        Generates MA and correction factor plots for
264        2-channel data.
265      </description>
266    </about>
267    <action-factory>
268      <factory-class>
269        net.sf.basedb.clients.web.extensions.plot.MAPlotFactory
270      </factory-class>
271      <parameters>
272        <width>400</width>
273        <height>300</height>
274        <plotServlet>/views/experiments/plotter/plot</plotServlet>
275      </parameters>
276    </action-factory>
277  </extension>
278 
279  <extension
280    id="view-and-download-file"
281    extends="net.sf.basedb.clients.web.file-viewer"
282    >
283    <index>1</index>
284    <about>
285      <name>View and download files</name>
286      <description>
287        Add view and download icons to all files.
288      </description>     
289    </about>
290    <action-factory>
291      <factory-class>
292        net.sf.basedb.clients.web.extensions.fileviewer.ViewAndDownloadActionFactory
293      </factory-class>
294    </action-factory>
295  </extension>
296 
297</extensions>
Note: See TracBrowser for help on using the repository browser.