← Back to team overview

launchpad-dev team mailing list archive

Providing Project/Team/User Timelines

 

Hey guys,
As an avid launchpad user I am very happy and big fan of the work being done
and already done.
A little idea has been brewing in my head on how to improve the experience
on launchpad.
One thing I am missing is an activity timeline for teams/projects/users
In my case I usually like seeing activity graphs of the bugs for my team.
Allowing me to reorganize
and coordinating development based on manpower and team focus.

Using Zeitgeist as a backend in Launchpad will allow users to have a
personal timeline of their
activities regarding themselves or specific project or team. This will allow
easier trackeing of when
things were done commited and view a chronicle of the project in terms of
all (blueprints/bugs/etc..)
mashed together. So again this is to provide a timeline per
project/team/individual.

First thing we need for that is a Zeitgeist running on a server with an SQL
DB different SQLite.
This should be no problem.
Pushing activity from launchpad into zeitgeist means we need to hook into
launchpad and push
what the user does into Server-Zeitgeist. Our current ontology structure
allows us to easily accept
incoming user activity from Launchpad. An example of the data structure that
will be pushed as a
user activities when user files a bug (filing bug
https://bugs.launchpad.net/zeitgeist/+bug/602211):

   - Event:
      - Timestamp = ...
      - Actor = User ID
      - Interpretation = lp://ReportEvent
      - Manifestation = zg://UserActivity
      - Payload = (extra data can be inserted here)
   - Subject:
      - URI = https://bugs.launchpad.net/zeitgeist/+bug/602211
      - Origin = https://bugs.launchpad.net/zeitgeist/
      - Interpretation = lp://Bug
      - Manifestation = lp://LaunchpadItem
      - Text = "Monitoring Create/Move/Copy Files events"
      - MimeType = NONE

Now this is just an example an far from perfect and I would like to discuss
the idea with you guys here.
One of the issues we will face is user privacy. Again that should not be an
issue since a logic can be
implemented between launchpad and Zeitgeist for querying for information.
Allowing timelines to be either
public or private to the respected teams/individuals.

So to sum it up we need the following:

   1. Run Zeitgeist on a Server
   2. Replace Zeitgeist SQLite DB with another SQL DB for concurrent
   connections
   3. Define the Ontology and use cases of Launchpad activities to be logged
   4. Hook into Launchpad and push user activities into Zeitgeist
   5. Create a Logic Layer for querying rights (between Launchpad and
   Zeitgeist)
   6. Display timelines for bugs, blueprints, teams, individuals and
   projects.

Please feel free to criticize the idea or help evolve it to something that
we can all together work on.
Cheers
Seif

Follow ups