ActivityTracking

From Community Council Community Group

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

Mail

Test suites

  • new test suite
  • new test case
  • test case approved, modified, etc.

Reports

IPR information

Join/Leave

  • join (various participant types)
  • leave
  • nominate (for WG)

Chair information

  • new chair
  • chair left

Blog

Issue tracking

Wiki

Version control system

Meetings

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

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)