Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#1593 closed task (fixed)

Extension system for the core API

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: critical Milestone: BASE 3.0
Component: core Version:
Keywords: Cc:

Description

The current extension mechanism was designed to be used by the web client and it has a several functions that are useful only in a web context. Eg. servlet support, jsp support, etc. The inner core of the extensions API is however not tied to any particular technology so it should be possible to re-use a lot of the code.

This ticket partly overlaps #1592. We certainly don't want another location were this kind of extensions should be installed.

Ticket #1582 is the main reason that we may need a core extension system but it may also be possible to use this for authentication plug-ins, etc.

Change History (14)

comment:1 by Nicklas Nordborg, 13 years ago

Priority: majorcritical

comment:2 by Nicklas Nordborg, 13 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:3 by Nicklas Nordborg, 13 years ago

(In [5598]) References #1593: Extension system for the core API

The first step towards a core extension system. It is still very rudimentary and will only read the core-extensions.xml file at startup. No support yet for other extensions or automatic updates. The web client extension system has not been touched yet but this should be merged with the core extensions.

The next step is to define an extension point for #1582 and try to implement a HDFS extension. This should help to get things going before starting to move the web part into this.

comment:4 by Nicklas Nordborg, 13 years ago

(In [5600]) References #1593: Extension system for the core API

Now scan the plugins directory for extensions at startup.

comment:5 by Nicklas Nordborg, 13 years ago

(In [5601]) References #1592: Unified installation procedure for plug-ins, extensions and more... References #1593: Extension system for the core API

Started to move the web client extensions into the core registry. So far the extensions are loaded at startup, but there is no support for adding more at runtime. The administrative interface is a bit of a mess right now, since a lot of the metadata that we used to get from the registration process is not yet available.

comment:6 by Nicklas Nordborg, 13 years ago

(In [5602]) References #1592: Unified installation procedure for plug-ins, extensions and more... References #1593: Extension system for the core API

Added fuctionality for metadata handling and status/error reporting. Everything is still only loaded at startup but now we can see most of the information in the admin interface.

comment:7 by Nicklas Nordborg, 13 years ago

(In [5603]) References #1592: Unified installation procedure for plug-ins, extensions and more... References #1593: Extension system for the core API

Added support for adding and removing extensions at runtime. There are still some minor issues to fix since it seems difficult to get the various processors to do exactly what is needed. There are also some issues when an updated version of an extension is installed over an old one.

Added a lot more statistics to both the manager and processors. It is now possible to get almost as much information as before.

comment:8 by Nicklas Nordborg, 13 years ago

(In [5605]) References #1593: Extension system for the core API

Better support for handling updated extensions. New and missing extensions are now registered/unregistered properly.

Fixed some startup problems that left BASE in "isRunning" mode when it actually failed to cleanup due to an error in the start() method.

comment:9 by Nicklas Nordborg, 13 years ago

(In [5606]) References #1593: Extension system for the core API

References #1592: Unified installation procedure for plug-ins, extensions and more...

Servlets are now processed and loaded by the extensions system. Moved handling of settings to the core. Removed classes that are no longer used.

comment:10 by Nicklas Nordborg, 13 years ago

(In [5608]) References #1593: Extension system for the core API

Added possibility to disable external extensions since this can interfere with test programs.

comment:11 by Nicklas Nordborg, 13 years ago

(In [5609]) References #1593: Extension system for the core API

Automatically set correct version number in extension definition files when building.

Added more <about> information.

comment:12 by Nicklas Nordborg, 13 years ago

Resolution: fixed
Status: assignedclosed

comment:13 by Nicklas Nordborg, 13 years ago

(In [5620]) References #1593: Extension system for the core API

Removed unused imports which caused compilation error in jsp.

comment:14 by Nicklas Nordborg, 13 years ago

(In [5691]) References #1593: Extension system for the core API

Fixed commented-out code. Fixed some incorrect javadoc.

Note: See TracTickets for help on using tickets.