Opened 14 years ago

Closed 14 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 14 years ago.
Example file for dummy services

Download all attachments as: .zip

Change History (4)

comment:1 Changed 14 years ago by Nicklas Nordborg

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

comment:2 Changed 14 years ago by Nicklas Nordborg

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

Now it is ready for testing with the FTP extension.

Changed 14 years ago by Nicklas Nordborg

Attachment: services.xml added

Example file for dummy services

comment:3 Changed 14 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

Seems to be working fine right now.

Note: See TracTickets for help on using tickets.