ZeitgeistIntegration

Summary

Release Note

Ubuntu One activities and events are logged into the Zeitgeist database.

Rationale

Zeitgeist keeps a log of all activities and events that happen during a desktop session. It makes sense to have all Ubuntu One components writing to that log as well, so applications that query this information like Gnome Activity Journal and the Unity Shell can make proper use of Ubuntu One events.

User stories

Andrew is a Ubuntu One user and wants to know if a file he has just copied into his Ubuntu One folder was successfully synchronized.

Pedro wants to find out all the files he published thru Ubuntu One in the past two months.

Assumptions

We assume that Zeitgeist will be installed by default in subsequent Ubuntu releases, so it makes sense to implement this feature. Despite this assumption, all Ubuntu One Zeitgeist plugins should have a fallback in case it's been disabled.

Design

Each Ubuntu One program and daemon that runs on the client will have a connection to the Zeitgeist daemon. Using this connection, the Ubuntu One program will log each event and user activity.

For each Event and Activity that will be logged we need a small specification of the required Zeitgeist fields that need to be filled. These specifications will be tracked on UbuntuOne/Specs/ZeitgeistIntegration/EventsSpec

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

A User interface for this feature will popup a notification every N-minutes to show summarizing information on the number of files synchronized, state of publishing of files/folders, and similar events.

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Since this is a new feature, no migration will be needed.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


CategorySpec

UbuntuOne/Specs/ZeitgeistIntegration (last edited 2010-11-19 19:05:38 by alecu)