Develop a plugin system for Gazette.

Registered by Santiago Ocamica

Gazette needs a plugin system to support 3rd party services.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Santiago Ocamica
Definition:
Approved
Series goal:
None
Implementation:
Beta Available
Milestone target:
None
Started by
Santiago Ocamica

Sprints

Whiteboard

Using DSO's (Dynamically Shared Objects) and GModule seems a good idea. Here's a sample from the vala documentation: https://live.gnome.org/Vala/TypeModules.
- santi698

IMO our first work item would be writing a nice API. We could abstract as much as possible to the Service class and provide higher level subclasses such as TextService(For displaying text with a title), and whatever may be useful.
- santi698

(?)

Work Items

Work items:
Make a service library for 3rd party services to link against: DONE
Create a class to load and unload services (loading DONE, unloading TODO): INPROGRESS
Port all existing services to the new API: DONE
Package the library separately from gazette. (gazette-dev package): TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.