ActivityTracking
We are looking at gathering data about activity from various tool events, and then providing views and allowing queries. This work is IN PROGRESS. Questions? Contact Ian Jacobs.
Note: Activity tracking is about tracking CHANGE while we are also interested (e.g., in Dashboards) in tracking state.
Events Model
- subject (entity responsible for the event, either an individual or a "group")
- subject context:
- user who triggered event,
- if individual, affiliation at the time of the event
- if individual, entity the individual represented when the event happened (which may a group, e.g., as its Chair, or an organization) (that information is not always available)
- note that some events will be associated with individuals which are not in our db (e.g. mail to a mailing list)
- verb: the action that characterizes the event; the question of the granularity of that action is open, but as of the CG meeting of 20120901, we were leaning towards actions that target high-level objects (i.e. "publish a working draft of a specification", rather than "publish a document")
- verb context:
- date
- signal (which may or may not have an identity, e.g. message-id for a message), which usually has a url and a title (that signal may be grounded in a process, but it's not clear that we need to track this at this time); should this signal be typed (e.g. mail, document, ...)?
- object: target of the action
- object context:
- group (optional?)
- source / tool
- often url, title
- type
Examples
- start a thread; signal: message identified by its mid
Object: thread, which has a title, a url; its source/tool is the mailing list
- posting a message in a thread; signal: message identified by its mid
Object: thread, which has a title, a url; its source/tool is the mailing list
- taking an action item
Object: action item, which has a title, a url; its source/tool is the tracker instance
- publish a Working Draft
Object: Foo specification, which has a title, a url (latest version); its source/tool is the TR page (?)
- public a Recommendation
Object: Foo specification, which has a title, a url (latest version); its source/tool is the TR page (?)
Events taxonomy
Group
- proposed
- created
- closed
- supported
- description updated
- charter published/updated
- new thread
- Eli started a new thread on the public-gee@w3.org mailing list titled "Blort"
- new message
- Laura posted a message on the public-gee@w3.org mailing list thread titled "Blort"
Test suites
- new test suite
- new test case
- test case approved, modified, etc.
Reports
- new draft
- new final spec
- (for WG: LC, CFI, CFR)
- The A and B Working Groups have published a Working Draft of the Foo specification ...(or we have two messages; one for A and one for B)
- W3C has published a Recommendation of Bar from the A and B Working Groups.
- Anne updated an Editors Draft of the Baz Specification
IPR information
- call for final spec commitment
- In the Gee CG, Juni sent a call for final spec commitments on "Activity Streams 1.0: SQL"
- final spec commitment received
- (for WG: CFE)
Join/Leave
- join (various participant types)
- leave
- nominate (for WG)
Chair information
- new chair
- chair left
Blog
- new blog
- In the Foo CG, Bob published a new blog post titled "Why A is better than B"
- new comment
- In the Foo CG, Fabrice posted a comment on the blog post "Getting started" by Bob
Issue tracking
- action open/closed/modified
- In the Foo CG, Gaby accepted a new action item "to start publication process for spec"
- issue open/closed/modified
- In the Foo Cg, Henry raised a new issue httpRange-14: "Boiling the Ocean"
- comment on issue
Wiki
- new page
- edit
- Charles edited the wiki page "WorkingMode"
Version control system
- commit
- Dan committed a change in the Mercurial repository with this commit message: "message"
Meetings
- Scheduled
- Agenda announced
- Minutes announced
- In the Foo CG, Ileana announced minutes of the Aug 29 meeting
Views
- Group view: what's new (aggregation of events)?
- Community Group Lead: what's hot? what's inactive (and candidate for outreach or closure)?
Queries
See also Dashboards that are likely to use these queries
Inactive groups
- group A didn't have any activity on the blog, mailing list, wiki, version control in the past 2 months [or is it didn't have activity of type "post", "edit", ...?]
- Another idea related to WGs: lack of home page updates (known through version control) recently.
Hot groups
- groups E and F had more than 20 new participants joining in the past 2 weeks
- Dom: But what about the number of people who have left during that time?
- groups G and H had 50 messages on their mailing list in the past month
- group J has done a lot of version control check-ins in the past 2 weeks
Prospects
- Acme Inc has 5 active participants in 3 CGs
- More than N users affiliated with Acme have done edits/blogs/mail for more than 3 groups in the past month.
- Confirm with BizDev. One value is connecting activity with other orgs that might be interested in that activity (but not yet participating).
Working Group Chair
- Spec "Foobar" has not been published as technical report in 5 months
- editor John has not pushed update to "Bar" in 3 months
- Karen hasn't updated her overdue action items in 2 months
Usage scenarios
- Joe chairs group A. Joe sees Group B is succeeding in test suite development thanks to activity tracking. Joe engaged with Group B chair to learn how. (Chair training)
Policy
- We are recording personal information; we need to examine the privacy implications.
Implementation notes
- Could we use an existing system (and its APIs) to record and query event information?
Phases
- Phase I: Architecture/data modeling
- Phase II: Create core (gathering, aggregation)
- Phase III: Create listeners for different tool types
- Phase IV: Testing, demonstration of scalability
- Phase V: Integration (dashboards, word press plugin for home pages)