Opened 16 years ago

Closed 16 years ago

#1036 closed task (fixed)

Implement 'service' extension point

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 2.8
Component: web Version:
Keywords: Cc:

Description

It could be useful to have an extension point that can be used for hooking in various services, for example an FTP Service (#408). Other things this could be useful for is:

  • A clean-up service, that regularly cleans up things
  • Regular synchronization between BASE and an external database
  • and probably a lot more...

This extension point work something like this:

  • We define a 'services' extension point.
  • Extensions extending it should provide a ServiceController implementation which in it's simplest form needs two methods: start() and stop().
  • When the BASE web server starts up and the extension system has been initialized, all registered 'services' extensions will be loaded and their start() method called.
  • When the web server shuts down their stop() method is called.
  • We also need a way to handle scanning for new and updated services. New services should simply be started. An existing service that is updated first needs to stop the old service, perform the update, then start the updated service.
  • We could also optionally provide functionality for manually stopping and starting services from the web interface.
  • Another advanced option could be to provide a way to specify which services that should be started automatically and which should be started manually.

Attachments (1)

services.xml (1.8 KB ) - added by Nicklas Nordborg 16 years ago.
Example file for dummy services

Download all attachments as: .zip

Change History (4)

comment:1 by Nicklas Nordborg, 16 years ago

Milestone: BASE 2.8
Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 by Nicklas Nordborg, 16 years ago

(In [4320]) References #1036: Implement 'service' extension point

Now it is ready for testing with the FTP extension.

by Nicklas Nordborg, 16 years ago

Attachment: services.xml added

Example file for dummy services

comment:3 by Nicklas Nordborg, 16 years ago

Resolution: fixed
Status: assignedclosed

Seems to be working fine right now.

Note: See TracTickets for help on using tickets.