source: extensions/net.sf.basedb.examples/trunk/README @ 7021

Last change on this file since 7021 was 6306, checked in by Nicklas Nordborg, 2 years ago

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

Fixed links in the documentation of Example code.

  • Property svn:mime-type set to text/x-trac-wiki
File size: 5.2 KB
RevLine 
[636]1== Requirements ==
2
[4240]3 1. BASE 3.10 or later.
[636]4 
5== Introduction ==
6
[683]7This package contains a few simple variants of ''Hello world'' applications
8in the form of extensions to the BASE web client. The package installs
9several examples into the ''Extensions -> Hello world examples'' menu:
[636]10
[683]11 * Hello world! - A basic example using only javascript
12 * Hello factory world! - An example that uses a custom action factory
13 * Greetings Root! - An example of a custom action factory with parameters
14 * Hello JSP world! - Uses a JSP file to display the message instead of javascript
15 * Hello X-JSP world! - Another variant of a JSP file
16 * Hello Servlet world! - Uses a servlet to generate the message
[1150]17 * Hello Servlet world (alternate)! - Uses an alternative servlet path
[636]18
[1019]19There are also a few toolbar button extensions:
20
21 * More info - A toolbar button on all single-item toolbars and
22   displays some information in a popup window about the current item.
23 * Annotation filter - A toolbar button on all list pages for annotatable
24   items which allows a user to show only items with/without annotations.
25
[1269]26And a edit/save extension:
27 
28 * Sample history data - Two extensions that works together. The first adds
29   a tab to the "Edit sample" dialog were the user can select a file to link
30   with the sample. The second extensions attaches to the save event and
31   saves the link.
[1271]32 * Last updated by - An on-save extension that creates an any-to-any link
33   between any item and the currently logged in user. This is a very simple
34   logging feature that stores information about the last update to an item.
[1269]35
[1596]36And some extra list columns:
37
38 * Owner registration date - Adds a list column that display the registration
39   date of the owner of the item. The column is added to all list pages that
40   list items that have an owner.
41 * Onwer email - Adds a list column that display the email address of the
42   owner of the item. This uses a custom formatter to create mailto links
43   on the web page and a formatter that convert to upper case when exporting.
44   The column is added to all list pages that list items that have an owner.
45 * Data files - Adds a column to the raw bioassay list that display the
46   data files that are attached to each raw bioassay. This uses a custom
47   action factory and illustrates the possibility to create fullblown HTML
48   for the web page, and a text-only variant for the table exporter.
49
[1604]50Item overview extensions:
51
[1611]52 * Loader that add the owner of an item to the overview.
53 * Validator that check that the owner has an URL and that it is valid.
54 * Loader that load the role membership of users.
55 * Validator that check that a user is a member of at least one role.
56 * A extra information section which display some information about the
57   currently selected node and item.
[1604]58
[1711]59Logging extensions:
60
61  * A logging extension that write information about created, updated and
62    deleted items to stdout. The logger is based on the default database
63    logger.
64
[4239]65A custom extension point:
66
67 * A simple example of defining a custom extension point. There is
68   one implementation provided in this package, but the main purpose
69   of the extension point is to make it easier for other extensions to
70   test and implement custom extension points.
71
[1347]72This package contains the following plug-ins:
73
74 * An importer that pretends to be able to import samples. It will
75   accept any file, but doesn't do anything. Main purpose is to
76   show parameter handling with plug-ins.
77 * An analyser plug-in that does some bogus calculations on a
78   bioassay set. Main purpose is to show how a plug-in can access
79   analysed data, do some calculations and store the result as
80   a new bioassay set.
81
82
[636]83== Installation ==
84
[1392]85 1. Download the base-examples-*.tar.gz file.
86 2. Unpack the downloaded file to a directory of your choice.
87 3. Copy the 'base-examples.jar' file to your BASE plug-ins directory
88    as configured in the base.config[plugins.dir] setting.
89 4. Go to 'Administrate->Plug-ins & Extensions->Overview' page.
90 5. Run the installation wizard and select to install 'base-examples.jar'.
91 6. The ''Hello X-JSP world'' example requires that the X-JSP compiler is installed
[683]92    on the server. Read in the documentation how to do this.
[6306]93    https://base.thep.lu.se/chrome/site/latest/html/admin/plugins.installation.html
[1392]94 7. Done. You may have to use 'BASE->Reload permissions' from the menu to see the
95    'Extensions' menu.
[636]96
[1392]97
[636]98== Compiling ==
99
100To compile this package you also need:
101 
[1433]102 1. Ant 1.8
[4236]103 2. Java 1.8
[636]104
105Follow these instructions:
106
[691]107 1. Type `ant download-lib` to automatically download the BASE core JAR file that
108    are neeed for compilation. You can also do this manually by copying the
[2287]109    base-core-3.x.jar and base-webclient-3.x.jar files from the BASE installation
[1346]110    directory (<basedir>/www/WEB-INF/lib/) to the ./lib/compile directory.
[636]111
[1392]112 2. Type 'ant' to compile the code and generate the 'base-examples.jar'
[1094]113    file in the project directory. This file can be installed into BASE following
114    the intructions above.
115
[1346]116 3. Use 'ant package' to create a downloadable tar.gz.
117 
118 4. If you create a file called 'build.properties' and enter a the path to the
119    plug-ins directory under the key 'base.plugins', you can simply type
120    'ant install' to copy the examples to the BASE plug-ins directory.
Note: See TracBrowser for help on using the repository browser.