Analytics/Systems/Wikimetrics/Adding New Features/Tag Cohorts

From Wikitech
Jump to: navigation, search

Currently deployed to production

Background

We would like to implement a feature that would allow a user to tag a cohort. Tagging cohorts will help users to create cohorts from similar cohorts. For example, if a user would like to look at the retention of active editors from all their March edit-a-thons, they can find those cohorts tagged as March 2014 edit-a-thon to examine all those cohorts tagged. They can use those cohorts to create a master cohort and run metrics on it.

When normal users search through a tag, the cohorts that show up will be either their own cohorts, cohorts shared with them, or public cohorts. There will be no ability for normal users to search through private cohorts of other users. In addition to normal users, we would like to implement a super user. A super user would be able to see private cohorts that are tagged. Users may choose to opt out of this feature.

We would like to give the Grantmaking evaluation team super user access. They will use this ability to find cohorts tagged with program tags. The evaluation team will use these cohorts to run various metrics from particular program implementations, such as Wiki Loves Monuments, for high-level analysis. They can use this information for a follow-up inquiry. This will help give an idea of how a program performs overall.

To-do

Completed

Autocomplete Tag

To help users visualize what tags are being used and help curb typos, we intend to autocomplete tags. That is, when a user begins typing, a drop down list of matching tags will appear.

Tagging a cohort/Deleting a tag

Users can now tag a cohort with tags of their own choosing. They can also delete a tag from a cohort by clicking the "x" next to each tag.

User Stories

Section needs work.

Title Description
Program Manager shares cohort
  • shared with a specific user
Program Manager shares cohorts with special class of users
  • could be grantmaking
  • people have some sort of oversight
Program Manager tags her cohort
  • tags are added & visible on “My Cohorts” page
  • selects a cohort, types in a tag (UTF-8)
  • can add unlimited number of tags
  • added tags are visible only to cohort owner
  • shared cohorts show all tags too
  • all tags are lower-cased and sanitized (remove HTML, SQL etc)
  • spaces are not allowed. use hyphens
  • categories are achieved by prepending its name & colon (e.g. “month:may”; “year:2014”)
Program Manager clicks auto-complete suggestion while typing tag
  • suggestion pops up after 2 letters typed in
  • suggestions are taken from defined tag names in DB. This list does not get bigger as people invent other tags.
Program Manager tags cohort causing it to be shared
  • If they tag it with the name of a program (eg wiki loves monuments) then tag triggers a share with class of people who have rights to see the tag
  • prompt user “certain tags like this one automatically allow certain people at WMF with admin rights to view your cohort”. Ask to allow or not
Program Manager changed his setting for answering ‘yes’ to autoshare anything tagged. to be filled out
Program Manager searches for cohorts with a tag name
  • search bar on “My Cohorts” page
  • auto-complete suggestions after typing 2 characters
  • click search refines list of cohorts to search matches
  • if nothing found, display “Your search did not match any cohorts”
Program Manager deletes a tag on her cohort
  • on “My Cohorts” page, each tag has a little ‘X’ icon next to it.
  • Clicking it pops up confirmation dialog to confirm removing the tag.
SpecialUser views all cohorts and tags
  • Create SpecialUser account with password
  • Can log into wikimetrics
  • Under “My Cohorts” will see all cohorts
SpecialUser adds and deletes tags to be filled out
SpecialUser creates report using tags
  • Specifies tags instead of a cohort.
  • all cohorts matching that tag are combined into a new (temporary) cohort against which to create the report.
Need admin page to set programs tags to be filled out


Meeting notes 2014-07-09

Attendees: Dan, Teresa, Kevin, Nuria

We talked about the functionality we think we can implement with tags in a reasonable timeframe. Our goal is that the tag functionality needs to be able to benefit any wikimetrics user. We jusr restricted our meeting about tag insertion, we have not consider creation of reports via tags (which is agreat idea but out of scope)

Considerations

We will not be implementing priviledge user functionality. Wikimetrics has no roles and we do not wish to add those at this time as it complicates heavily what is a very simple tool. If we were to add 'roles' we would need to consider how does affect any feature we might want to develop in the future. At this time we think is a core principle that every user of wikimetrics should have access to the same functionality if there are no technical considerations like performance issues.

Tag insertion

End goal is to have an organized set of tags that grantmaking can use. Our suggestion is that grantmaking defines a protocol when it comes to tags. Some examples of how tags could look:

 "Grantmaking:May 2004"
 "gp:2014:Hackathon"
"2014:May:Hackathon"

This is a convention that grantmaking can define to its liking. We can even upload a set of tags that are "predefined" by grantmaking to the database. Those can be made available in an autocomplete when tagging a cohort.

Now, to be clear: tags will be available to any user, not just grantmaking as there are no "authorized" or "unauthorized" tags.

Tag Search

In the future we can search (via autocomplete again) cohorts via tags. Note that search is global and goes against all tags in database, again, there are no aothorized tags.

Sanctioned Tags

the tag list is now on a separate page, easier to search on or cut & paste. https://www.mediawiki.org/wiki/Analytics/Wikimetrics/Standard_tags

Tags for year-month have been removed as a requirement for the time being.