source: extensions/net.sf.basedb.examples/trunk/META-INF/extensions.xml @ 6306

Last change on this file since 6306 was 6306, checked in by Nicklas Nordborg, 16 months ago

References #1317: base.thep.lu.se is moving to https

Fixed links in the documentation of Example code.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 24.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<!--
3  Copyright (C) 2011 Nicklas Nordborg
4
5  This file is part of the Example Code Package for BASE.
6  Available at http://baseplugins.thep.lu.se/
7  BASE main site: http://base.thep.lu.se/
8 
9  This is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License
11  as published by the Free Software Foundation; either version 3
12  of the License, or (at your option) any later version.
13 
14  The software is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with BASE. If not, see <http://www.gnu.org/licenses/>.
21-->
22<extensions xmlns="http://base.thep.lu.se/extensions.xsd"
23  id-base="net.sf.basedb.examples.extensions.">
24  <about safe-scripts="1">
25    <name>Extensions example package</name>
26    <description>
27      This package contains several simple example extensions.
28      Most of them are variants of the well-known "Hello world"
29      code example.
30    </description>
31    <version>1.9-dev</version>
32    <min-base-version>3.10.0</min-base-version>
33    <copyright>BASE development team</copyright>
34    <url>https://baseplugins.thep.lu.se/wiki/net.sf.basedb.examples.extensions</url>
35    <email>basedb-users@lists.sourceforge.net</email>
36  </about>
37 
38  <plugin-definition id="ExampleAnalyzer">
39    <about>
40      <name>Example: Copy spot intensity</name>
41      <description>
42        An example analysis plugin that creates a new bioassay set
43        by multiplying each intensitity value with the same factor,
44        filtering out intensities below a cutoff value.
45      </description>
46    </about>
47    <plugin-class>net.sf.basedb.examples.plugins.ExampleAnalyzer</plugin-class>
48  </plugin-definition>
49 
50  <plugin-definition id="ExampleImporter">
51    <about>
52      <name>Example: sample importer</name>
53      <description>
54        An example plugin that pretends to import samples.
55        It can't be configured, but will ask for a file to
56        import from and if existing samples should be updated
57        or not. It won't actually import any samples, but
58        will report that a few samples has been imported.
59      </description>
60    </about>
61    <plugin-class>net.sf.basedb.examples.plugins.ExampleImporter</plugin-class>
62  </plugin-definition>
63 
64  <extension-point
65    id="custom-extension-point"
66    >
67    <action-class>net.sf.basedb.examples.extensions.custom.ExampleAction</action-class>
68    <name>Example extension point</name>
69    <description>
70      An example of custom extension point defined within an extension package.
71      Use the menu entry "Hello world examples-&gt;Example actions" to list all
72      extensions that are implementing this extension point. There should be
73      at least one extension that is defined by this package. Other extensions
74      may use this extension point to verify that it is possible to extend
75      custom extension points.
76    </description>
77  </extension-point>
78 
79  <extension
80    id="menu.helloworld"
81    extends="net.sf.basedb.clients.web.menu.extensions"
82    >
83    <index>0</index>
84    <action-factory>
85      <factory-class>
86        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
87      </factory-class>
88      <parameters>
89        <type>SUBMENU</type>
90        <submenuId>hello</submenuId>
91        <title>Hello world examples!</title>
92        <tooltip>Find all examples here</tooltip>
93        <icon>/images/info.png</icon>
94      </parameters>
95    </action-factory>
96  </extension>
97  <extension
98    id="menu.helloworldsimple"
99    extends="net.sf.basedb.clients.web.menu.extensions"
100    >
101    <index>1</index>
102    <about>
103      <name>Hello world</name>
104      <description>
105        The very first extensions example. Adds a "Hello world"
106        menu item that displays "Hello world" in a javascript
107        popup when selected.
108      </description>
109    </about>
110    <action-factory>
111      <factory-class>
112        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
113      </factory-class>
114      <parameters>
115        <id>hello-world</id>
116        <menuId>hello</menuId>
117        <title>Hello world!</title>
118        <tooltip>This is to test the extensions system</tooltip>
119        <icon>/images/info.png</icon>
120        <script>~/scripts/menu-items.js</script>
121      </parameters>
122    </action-factory>
123  </extension>
124 
125  <extension
126    id="menu.helloworldfactory"
127    extends="net.sf.basedb.clients.web.menu.extensions"
128    >
129    <index>2</index>
130    <about>
131      <name>Hello factory world</name>
132      <description>
133        A "Hello world" variant with a custom action factory.
134        Everything is hard-coded into the factory.
135      </description>
136    </about>
137    <action-factory>
138      <factory-class>
139        net.sf.basedb.examples.extensions.menu.HelloWorldFactory
140      </factory-class>
141      <parameters>
142        <id>hello-factory-world</id>
143        <script>~/scripts/menu-items.js</script>
144      </parameters>
145    </action-factory>
146  </extension>
147 
148  <extension
149    id="menu.hellouser"
150    extends="net.sf.basedb.clients.web.menu.extensions"
151    >
152    <index>3</index>
153    <about>
154      <name>Greetings user</name>
155      <description>
156        A "Hello world" variant with a custom action factory
157        that displays "Greetings {name of user}" instead. We also
158        make the icon configurable.
159      </description>
160    </about>
161    <action-factory>
162      <factory-class>
163        net.sf.basedb.examples.extensions.menu.HelloUserFactory
164      </factory-class>
165      <parameters>
166        <id>greetings-user</id>
167        <prefix>Greetings</prefix>
168        <icon>/images/take_ownership.png</icon>
169        <script>~/scripts/menu-items.js</script>
170      </parameters>
171    </action-factory>
172  </extension>
173
174  <extension
175    id="menu.hellojspworld"
176    extends="net.sf.basedb.clients.web.menu.extensions"
177    >
178    <index>4</index>
179    <about>
180      <name>Hello JSP world</name>
181      <description>
182        This example uses a custom JSP page to display the
183        "Hello world" message instead of a javascript popup.
184        We use data-url and data-popup to specify the URL and
185        name+size of popup window. No custom event binding is needed
186        since data-url is supported natively by BASE.
187      </description>
188    </about>
189    <action-factory>
190      <factory-class>
191        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
192      </factory-class>
193      <parameters>
194        <id>hello-jsp-world</id>
195        <menuId>hello</menuId>
196        <title>Hello JSP world!</title>
197        <tooltip>Opens a JSP page with the message</tooltip>
198        <data-url>$HOME$/hello_world.jsp?ID=$SESSION-ID$</data-url>
199        <data-popup>HelloJspWorld, 450, 300</data-popup>
200        <icon>~/images/world.png</icon>
201      </parameters>
202    </action-factory>
203  </extension>
204  <extension
205    id="menu.helloxjspworld"
206    extends="net.sf.basedb.clients.web.menu.extensions"
207    >
208    <index>5</index>
209    <about>
210      <name>Hello X-JSP world</name>
211      <description>
212        This example uses a custom X-JSP page to display the
213        "Hello world" message instead of a javascript popup.
214        An X-JSP file is a JSP file that has access to classes in
215        the extension's JAR file. NOTE! This example requires that
216        the XJSP compiler is installed on the server.
217      </description>
218    </about>
219    <action-factory>
220      <factory-class>
221        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
222      </factory-class>
223      <parameters>
224        <id>hello-xjsp-world</id>
225        <menuId>hello</menuId>
226        <title>Hello X-JSP world!</title>
227        <tooltip>Opens a X-JSP page with the message</tooltip>
228        <data-url>$HOME$/hello_world.xjsp?ID=$SESSION-ID$</data-url>
229        <data-popup>HelloXJspWorld, 450, 300</data-popup>
230        <icon>~/images/xworld.png</icon>
231      </parameters>
232    </action-factory>
233  </extension>
234  <extension
235    id="menu.helloservletworld"
236    extends="net.sf.basedb.clients.web.menu.extensions"
237    >
238    <index>6</index>
239    <about>
240      <name>Hello Servlet world</name>
241      <description>
242        This example uses a custom Servlet page to display the
243        "Hello world" message instead of a javascript popup.
244      </description>
245    </about>
246    <action-factory>
247      <factory-class>
248        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
249      </factory-class>
250      <parameters>
251        <id>hello-servlet-world</id>
252        <menuId>hello</menuId>
253        <title>Hello Servlet world!</title>
254        <tooltip>Opens a Servlet generated page with the message</tooltip>
255        <data-url>$HOME$/HelloWorld/with/some/path-info.servlet?ID=$SESSION-ID$</data-url>
256        <data-popup>HelloServletWorld, 450, 300</data-popup>
257        <icon>~/images/servlet.png</icon>
258      </parameters>
259    </action-factory>
260  </extension>
261  <extension
262    id="menu.helloservletworld2"
263    extends="net.sf.basedb.clients.web.menu.extensions"
264    >
265    <index>7</index>
266    <about>
267      <name>Hello Servlet world (alternate)</name>
268      <description>
269        This example uses a custom Servlet page to display the
270        "Hello world" message instead of a javascript popup.
271        The difference from the above menu is that this uses an
272        alternate path to the servlet.
273      </description>
274    </about>
275    <action-factory>
276      <factory-class>
277        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
278      </factory-class>
279      <parameters>
280        <id>hello-servlet-world-2</id>
281        <menuId>hello</menuId>
282        <title>Hello Servlet world (alternate)!</title>
283        <tooltip>Opens a Servlet generated page with the message</tooltip>
284        <data-url>$SERVLET_HOME$/HelloWorld/with/other/path?ID=$SESSION-ID$</data-url>
285        <data-popup>HelloServletWorld2, 450, 300</data-popup>
286        <icon>~/images/servlet.png</icon>
287      </parameters>
288    </action-factory>
289  </extension>
290  <extension
291    id="menu.exampleactions"
292    extends="net.sf.basedb.clients.web.menu.extensions"
293    >
294    <index>8</index>
295    <about>
296      <name>Example actions</name>
297      <description>
298        List all extensions extending the custom extension point:
299        net.sf.basedb.examples.extensions.extension-point
300      </description>
301    </about>
302    <action-factory>
303      <factory-class>
304        net.sf.basedb.clients.web.extensions.menu.FixedMenuItemFactory
305      </factory-class>
306      <parameters>
307        <id>hello-example-actions</id>
308        <menuId>hello</menuId>
309        <title>Example actions</title>
310        <tooltip>List all example actions</tooltip>
311        <data-url>$HOME$/ExampleActions.servlet?ID=$SESSION-ID$</data-url>
312        <data-popup>ExampleActions, 900, 600</data-popup>
313        <icon>~/images/servlet.png</icon>
314      </parameters>
315    </action-factory>
316  </extension>
317 
318  <extension
319    id="toolbar.iteminfo"
320    extends="net.sf.basedb.clients.web.toolbar.item.all"
321    >
322    <index>1</index>
323    <about>
324      <name>Show item info</name>
325      <description>
326        This example creates a toolbar button on all single-item
327        pages that opens a JSP page that displays some information
328        about the item.
329      </description>
330    </about>
331    <action-factory>
332      <factory-class>
333        net.sf.basedb.examples.extensions.toolbar.InfoButtonFactory
334      </factory-class>
335      <parameters>
336        <id>more-info-button</id>
337        <title>More info...</title>
338        <tooltip>Show some information about $NAME</tooltip>
339        <icon>/images/info.png</icon>
340        <script>~/scripts/toolbar-buttons.js</script>
341        <data-url>$HOME$/item_info.jsp</data-url>
342      </parameters>
343    </action-factory>
344
345  </extension>
346  <extension
347    id="toolbar.filterselected"
348    extends="net.sf.basedb.clients.web.toolbar.list.annotatable"
349    >
350    <index>1</index>
351    <about>
352      <name>Annotation filter</name>
353      <description>
354        This example creates a toolbar button that can apply a
355        special filter for showing only items that has been
356        annotated or only items that has no annotations.
357      </description>
358    </about>
359    <action-factory>
360      <factory-class>
361        net.sf.basedb.examples.extensions.toolbar.InfoButtonFactory
362      </factory-class>
363      <parameters>
364        <id>annotation-filter</id>
365        <title>Annotation filter...</title>
366        <tooltip>Filter items based on if they have been annotated or not</tooltip>
367        <icon>/images/filter.png</icon>
368        <script>~/scripts/toolbar-buttons.js</script>
369        <data-url>$HOME$/filter_annotated.jsp</data-url>
370      </parameters>
371    </action-factory>
372  </extension>
373  <extension
374    id="toolbar.clickme"
375    extends="net.sf.basedb.clients.web.toolbar.list.all"
376    >
377    <index>2</index>
378    <about>
379      <name>Click me!</name>
380      <description>
381        Click the button!
382      </description>
383    </about>
384    <action-factory>
385      <factory-class>
386        net.sf.basedb.clients.web.extensions.toolbar.FixedButtonFactory
387      </factory-class>
388      <parameters>
389        <clazz>auto-init button</clazz>
390        <data-auto-init>click-me</data-auto-init>
391        <title>Click me!</title>
392        <tooltip>Come on! Do it!</tooltip>
393        <data-message>Ouch!</data-message>
394        <icon>/images/info.png</icon>
395        <script>~/scripts/toolbar-buttons.js</script>
396      </parameters>
397    </action-factory>
398  </extension>
399  <extension
400    id="history-edit"
401    >
402    <extends>
403      <ref index="2">net.sf.basedb.clients.web.tabcontrol.edit.sample</ref>
404      <ref index="2">net.sf.basedb.clients.web.tabcontrol.edit.extract</ref>
405      <ref index="2">net.sf.basedb.clients.web.tabcontrol.edit.user-preferences</ref>
406      <ref index="2">net.sf.basedb.clients.web.tabcontrol.edit.user-information</ref>
407    </extends>
408    <about>
409      <name>History file (edit)</name>
410      <description>
411        Adds an extra tab to the "Edit sample/extract" dialogs, were the user may
412        select a "History file" (whatever that is!) that is linked
413        with an any-to-any link to the item. This action also need the
414        'history-save' action to save the link.
415      </description>
416    </about>
417    <action-factory>
418      <factory-class>
419        net.sf.basedb.clients.web.extensions.tabcontrol.IncludeContentTabFactory
420      </factory-class>
421      <parameters>
422        <id>history-file</id>
423        <title>History file</title>
424        <tooltip>On this form you can link the item with it's history file!</tooltip>
425        <include>~/history_file.jsp</include>
426      </parameters>
427    </action-factory>
428  </extension>
429
430  <extension
431    id="history-save"
432    >
433    <extends>
434      <ref index="2">net.sf.basedb.clients.web.onsave.sample</ref>
435      <ref index="2">net.sf.basedb.clients.web.onsave.extract</ref>
436      <ref index="2">net.sf.basedb.clients.web.onsave.user-preferences</ref>
437      <ref index="2">net.sf.basedb.clients.web.onsave.user-information</ref>
438    </extends>
439    <about>
440      <name>History file (save)</name>
441      <description>
442        Saves an any-to-any link between a sample/extract and it's history file.
443        The history file is set in an extra tab in the "Edit sample/extract"
444        dialogs that is controlled by the 'history-edit' extension.
445      </description>
446    </about>
447    <action-factory>
448      <factory-class>
449        net.sf.basedb.examples.extensions.edit.HistoryOnSaveActionFactory
450      </factory-class>
451    </action-factory>
452  </extension>
453
454  <extension
455    id="onsave.lastupdatedby"
456    extends="net.sf.basedb.clients.web.onsave.all"
457    >
458    <index>3</index>
459    <about>
460      <name>Last updated by</name>
461      <description>
462        Creates an any-to-any link between any item and the currently logged in user
463        when that item is edited and saved in the web interface.
464      </description>
465    </about>
466    <action-factory>
467      <factory-class>
468        net.sf.basedb.examples.extensions.edit.LastUpdatedByOnSaveActionFactory
469      </factory-class>
470    </action-factory>
471  </extension>
472
473  <extension
474    id="list.owner-registration-date"
475    extends="net.sf.basedb.clients.web.listcolumn.ownable"
476    >
477    <index>1</index>
478    <about>
479      <name>Owner registration date</name>
480      <description>
481        Add a column to the list page of all ownable items that display
482        the registration date of the owner of the item.
483      </description>
484    </about>
485    <action-factory>
486      <factory-class>
487        net.sf.basedb.clients.web.extensions.list.PropertyPathActionFactory
488      </factory-class>
489      <parameters>
490        <id>owner.entryDate</id>
491        <title>Owner registration date</title>
492        <property>owner.entryDate</property>
493        <valueType>DATE</valueType>
494      </parameters>
495    </action-factory>
496  </extension>
497 
498  <extension
499    id="list.owner-email"
500    extends="net.sf.basedb.clients.web.listcolumn.ownable"
501    >
502    <index>2</index>
503    <about>
504      <name>Owner email</name>
505      <description>
506        Add a column to the list page of all ownable items that display
507        the owner's email address.
508      </description>
509    </about>
510    <action-factory>
511      <factory-class>
512        net.sf.basedb.clients.web.extensions.list.PropertyPathActionFactory
513      </factory-class>
514      <parameters>
515        <id>owner.email</id>
516        <title>Owner email</title>
517        <property>owner.email</property>
518        <valueType>STRING</valueType>
519        <formatterClass>net.sf.basedb.clients.web.formatter.NiceFormatter</formatterClass>
520        <exportFormatterClass>net.sf.basedb.examples.formatter.ToUpperCaseFormatter</exportFormatterClass>
521      </parameters>
522    </action-factory>
523  </extension>
524 
525  <extension
526    id="list.rawbioassay-data-files"
527    extends="net.sf.basedb.clients.web.listcolumn.rawbioassay"
528    >
529    <index>10</index>
530    <about>
531      <name>Data files</name>
532      <description>
533        Adds a column to the rawbioassays list that display data files attached to
534        each raw bioassay.
535      </description>
536    </about>
537    <action-factory>
538      <factory-class>
539        net.sf.basedb.examples.extensions.list.DataFilesActionFactory
540      </factory-class>
541    </action-factory>
542  </extension>
543 
544  <extension
545    id="list.extra-id"
546    extends="net.sf.basedb.clients.web.listcolumn.all"
547    >
548    <index>99</index>
549    <about>
550      <name>Extra id</name>
551      <description>
552        Add an extra id column to all lists. Useful for
553        testing that the extension system is working.
554      </description>
555    </about>
556    <action-factory>
557      <factory-class>
558        net.sf.basedb.clients.web.extensions.list.PropertyPathActionFactory
559      </factory-class>
560      <parameters>
561        <id>xid</id>
562        <title>XID</title>
563        <property>id</property>
564        <valueType>INT</valueType>
565      </parameters>
566    </action-factory>
567  </extension>
568
569  <extension 
570    id="loader.user"
571    extends="net.sf.basedb.util.overview.loader">
572    <index>1</index>
573    <about>
574      <name>Owner of item</name>
575      <description>
576        Load the owner of each item as a property
577        node in the item overview.
578      </description>
579    </about>
580    <action-factory>
581      <factory-class>
582        net.sf.basedb.examples.extensions.overview.OwnerNodeLoaderFactory
583      </factory-class>
584    </action-factory>
585  </extension>
586
587  <extension 
588    id="validator.user"
589    extends="net.sf.basedb.util.overview.validator">
590    <index>1</index>
591    <about>
592      <name>Check the owner of an item</name>
593      <description>
594        This validator check the following things:
595        * Missing and denied access to the owner of an item
596        * That an URL has been specified for the user and has a valid syntax
597      </description>
598    </about>
599    <action-factory>
600      <factory-class>
601        net.sf.basedb.examples.extensions.overview.OwnerValidatorFactory
602      </factory-class>
603    </action-factory>
604  </extension>
605 
606  <extension
607    id="validationrule.missing-owner"
608    extends="net.sf.basedb.util.overview.validationrule">
609    <index>1</index>
610    <about>
611      <name>Missing owner</name>
612      <description>
613        Checks if an owner has been set for an item. Can't really happen
614        since an owner is always set by the core API.
615      </description>
616    </about>
617    <action-factory>
618      <factory-class>
619        net.sf.basedb.util.overview.extensions.ReflectValidationRuleActionFactory
620      </factory-class>
621      <parameters>
622        <field>net.sf.basedb.examples.extensions.overview.OwnerValidator.MISSING_OWNER</field>
623      </parameters>
624    </action-factory>
625  </extension>
626 
627  <extension
628    id="validationrule.denied-owner"
629    extends="net.sf.basedb.util.overview.validationrule">
630    <index>2</index>
631    <about>
632      <name>Access denied to owner</name>
633      <description>Checks if the user is denied access to the owner of an item.</description>
634    </about>
635    <action-factory>
636      <factory-class>
637        net.sf.basedb.util.overview.extensions.ReflectValidationRuleActionFactory
638      </factory-class>
639      <parameters>
640        <field>net.sf.basedb.examples.extensions.overview.OwnerValidator.DENIED_OWNER</field>
641      </parameters>
642    </action-factory>
643  </extension>
644 
645  <extension
646    id="validationrule.missing-url"
647    extends="net.sf.basedb.util.overview.validationrule">
648    <index>3</index>
649    <about>
650      <name>Missing URL</name>
651      <description>Check that an URL has been set for a user</description>
652    </about>
653    <action-factory>
654      <factory-class>
655        net.sf.basedb.util.overview.extensions.ReflectValidationRuleActionFactory
656      </factory-class>
657      <parameters>
658        <field>net.sf.basedb.examples.extensions.overview.OwnerValidator.MISSING_URL</field>
659      </parameters>
660    </action-factory>
661  </extension>
662
663  <extension
664    id="validationrule.invalid-url"
665    extends="net.sf.basedb.util.overview.validationrule">
666    <index>4</index>
667    <about>
668      <name>Invalid URL</name>
669      <description>Checks if an URL has a valid syntax.</description>
670    </about>
671    <action-factory>
672      <factory-class>
673        net.sf.basedb.util.overview.extensions.ReflectValidationRuleActionFactory
674      </factory-class>
675      <parameters>
676        <field>net.sf.basedb.examples.extensions.overview.OwnerValidator.INVALID_URL</field>
677      </parameters>
678    </action-factory>
679  </extension>
680
681  <extension 
682    id="loader.role"
683    extends="net.sf.basedb.util.overview.loader">
684    <index>2</index>
685    <about>
686      <name>Role membership</name>
687      <description>
688        Load the role membership of users as a folder-node with one item-node
689        for each role.
690      </description>
691    </about>
692    <action-factory>
693      <factory-class>
694        net.sf.basedb.examples.extensions.overview.RoleNodeLoaderFactory
695      </factory-class>
696    </action-factory>
697  </extension>
698
699  <extension 
700    id="validator.role"
701    extends="net.sf.basedb.util.overview.validator">
702    <index>2</index>
703    <about>
704      <name>Check the role membership of a user</name>
705      <description>
706        This validator check the following things:
707        * The the user is a member of at least one role
708      </description>
709    </about>
710    <action-factory>
711      <factory-class>
712        net.sf.basedb.examples.extensions.overview.RoleValidatorFactory
713      </factory-class>
714    </action-factory>
715  </extension>
716
717  <extension
718    id="validationrule.missing-role"
719    extends="net.sf.basedb.util.overview.validationrule">
720    <index>5</index>
721    <about>
722      <name>Missing role</name>
723      <description>Checks if a user is a member of at least one role.</description>
724    </about>
725    <action-factory>
726      <factory-class>
727        net.sf.basedb.util.overview.extensions.ReflectValidationRuleActionFactory
728      </factory-class>
729      <parameters>
730        <field>net.sf.basedb.examples.extensions.overview.RoleValidator.MISSING_ROLE</field>
731      </parameters>
732    </action-factory>
733  </extension>
734
735  <extension
736    id="overview.info"
737    extends="net.sf.basedb.clients.web.overview.info-details"
738    >
739    <index>1</index>
740    <about>
741      <name>Overview information</name>
742      <description>
743        This example adds a section to the information pane in
744        the "Item overview" functionality. It will display some
745        generic information about the current item.
746      </description>
747    </about>
748    <action-factory>
749      <factory-class>
750        net.sf.basedb.examples.extensions.overview.InfoSectionFactory
751      </factory-class>
752      <parameters>
753        <id>example.moreInformation</id>
754        <title>More information</title>
755        <include>~/overview_info.jsp</include>
756      </parameters>
757    </action-factory>
758  </extension>
759 
760  <extension 
761    id="logging.stdout"
762    extends="net.sf.basedb.core.log-manager"
763    >
764    <about>
765      <name>Stdout log manager</name>
766      <description>
767        A simple log manager that writes logging information to stdout. It
768        uses the core database logger for collecting the log information.
769      </description>
770    </about>
771    <index>1</index>
772    <action-factory>
773      <factory-class>net.sf.basedb.examples.extensions.log.StdoutLogMangerFactory</factory-class>
774    </action-factory>
775  </extension>
776 
777  <extension
778    id="pink-panther"
779    extends="net.sf.basedb.clients.web.global-skin"
780    >
781    <about>
782      <name>Pink Panther Skin</name>
783      <description>
784        An example skin that replaces the BASE logo and some other
785        images with a "pink panther" variant and makes some other changes.
786      </description>
787    </about>
788    <action-factory>
789      <factory-class>
790        net.sf.basedb.clients.web.extensions.skin.FixedSkinActionFactory
791      </factory-class>
792      <parameters>
793        <id>examples</id>
794        <stylesheet>~/pink-panther/skin.css</stylesheet>
795        <script>~/pink-panther/skin.js</script>
796        <image-remap-dir>/pink-panther</image-remap-dir>
797      </parameters>
798    </action-factory>
799  </extension>
800 
801  <extension
802    id="example-action-1"
803    extends="net.sf.basedb.examples.extensions.custom-extension-point"
804    >
805    <about>
806      <name>Example action</name>
807      <description>
808        One example of an action extending the custom extension
809        point.
810      </description>
811    </about>
812    <action-factory>
813      <factory-class>
814        net.sf.basedb.examples.extensions.custom.ExampleActionFactory
815      </factory-class>
816      <parameters>
817        <name>Example action #1</name>
818      </parameters>
819    </action-factory>
820  </extension>
821
822</extensions>
Note: See TracBrowser for help on using the repository browser.