Gwibber Service improvements
Rationale:
The current gwibber service is very hard to test and can be fragile.
Goal:
Re-factor the gwibber service to make testing easier, write tests and simplify maintenance of the service.
Test Plans:
Ensure distro acceptance tests pass and verify new unit tests for the service pass and provide effective coverage.
Blueprint information
- Status:
- Not started
- Approver:
- Sebastien Bacher
- Priority:
- High
- Drafter:
- Ken VanDine
- Direction:
- Approved
- Assignee:
- Ken VanDine
- Definition:
- Approved
- Series goal:
- Accepted for quantal
- Implementation:
- Deferred
- Milestone target:
- ubuntu-12.10-beta-1
- Started by
- Completed by
Whiteboard
Discussion Topics
* gwibber-service refactoring
* Testability
* Stop caching in the DB completely and rely on the DeeResourceManager for cached models?
* DB schema changes to leverage the advantages of a relational DB instead of just storing json strings?
* Service Plugin changes
* Make plugins standalone processes?
* Provide superclass for all plugins to inherit from, useful for either current model or split processes?
* use libpeas for plugins?
* Split the plugins into separate sources and have individual maintainers for each?
* python3
* Barry already ported mx.DateTime and looks like there shouldn't be any blockers to porting
* Streaming API?
Plugins to keep:
* facebook
* foursquare
* twitter
* identica
* statusnet
* flickr
Plugins to remove:
* digg
* friendfeed
* pingfm
* qaiku
Work Items
Work items:
[ken-vandine] refactor out the DB for caching and service via Dee.SharedModel: POSTPONED
[ken-vandine] Remove unsupported service plugins: DONE
[bigwhale] StreamingAPI: POSTPONED
[ken-vandine] Refactor plugins: POSTPONED
[ken-vandine] Separate unit tests for dispatcher/plugins from API unit tests: POSTPONED
[ken-vandine] Remove Messages dbus interface: POSTPONED
[ken-vandine] Investigate Streams dbus interface, hopefully drop it: POSTPONED
[bigwhale] Rewrite operation collector code: POSTPONED
Sync friends with contacts in EDS: POSTPONED
Work items for ubuntu-
[ken-vandine] Post about state of plugin support and need for maintainers of split out plugins: TODO
[davidc3] split a scope out of the gwibber lens: TODO