Page MenuHomePhabricator

Create tag projects worktype-project, origin-user, origin-alert, origin-team
Closed, ResolvedPublic

Description

Hi!

I'd like to get created a few tag projects for me to keep track of my tasks:

* name: worktype-project
  description: Tag to track project related tasks.

* name: worktype-maintenance
  description: Tag to track maintenance related tasks.

* name: worktype-unplanned 
  description: Tag to track unplanned tasks.

* name: origin-user
  description: Tag to track user created tasks.

* name: origin-alert
  description: Tag to track alert created tasks.

* name: origin-team
  description: tag to track team created tasks.

Project type: Tag
Name: <name in the above list>
Optional hashtatgs: No need
Project description: <description in the above list>
Visible To: Public (no login required)
Editable By: All Users
Joinable By: All Users

I tried to find some similar set of tags but did not find it
Thanks!

EDIT: Per https://phabricator.wikimedia.org/T295692#7516999, @MBinder_WMF will create the tags with a Cloud-Services focus:

* name: cloud-services-worktype-project
  * description: Tag to track project related tasks.

* name: cloud-services-worktype-maintenance
  * description: Tag to track maintenance related tasks.

* name: cloud-services-worktype-unplanned 
  * description: Tag to track unplanned tasks.

* name: cloud-services-origin-user
  * description: Tag to track user created tasks.

* name: cloud-services-origin-alert
  * description: Tag to track alert created tasks.

* name: cloud-services-origin-team
  * description: tag to track team created tasks.

Event Timeline

Essential-Work and OKR-Work and Unplanned-Sprint-Work exist.
It's unclear to me what "project related tasks" or "alert created tasks" or "team created tasks" or "user created tasks" mean (which tasks are not created by users of this platform?), and which underlying problem this is supposed to solve, outweighing the additional manual tagging work and notification noise. Is there broader interest in this that could be pointed to?

Is there broader interest in this that could be pointed to?

No, it's for personal work management.

WorkType-Maintenance and WorkType-NewFunctionality and Unplanned-Sprint-Work exist.

Those might work in a loose way, if we can consolidate the name would be better (ex. adding WorkType-Unplanned).

It's unclear to me what "project related tasks" or "alert created tasks" or "team created tasks" or "user created tasks" mean (which tasks are not created by users of this platform?)

I can try to elaborate more.

  • "project related tasks" are tasks that allow to evolve a system or project, they are planned, intentional and expected.
  • "alert created tasks" are tasks created automatically by an alert of any kind (puppet failing alert, host down alert, ...)
  • "team created tasks" are tasks created by any member of the team (that currently, that means my team, the meaning of time can be made broader or smaller, depending on the context).
  • "user created tasks" are tasks created by any user, where user means "any person using the service that task is related to, excluding team members". User is a very subjective term, in this context, it's my subject the one that will evaluate what qualifies as a user.

and which underlying problem this is supposed to solve, outweighing the additional manual tagging work and notification noise.

The underlying problem is my capacity to organize my tasks, coordinate effectively and give the best service possible, that this will help improve. The manual tagging work (or automatic, up to me) will be done by me, so there's no burden on anyone else besides whatever overhead those new tags put in the system.

Which problems are solved by categorizing the task author, in contrast to e.g. setting Priority? I know that the Security team does so via a custom "Affiliation" task field (but IIRC that is for statistical reasons).
Is there an example for an "alert" task somewhere, and/or do they have some existing pattern (e.g. having "alert" in the task title, or some specific task type)?

Generally speaking, I'd like to avoid creating global projects tags for individual personal use, so I wonder if there are better approaches.

Which problems are solved by categorizing the task author, in contrast to e.g. setting Priority?

It's not so much the author as it's the origin, if there's a rise in tasks opened by users for example it's a very good indicator that something got broken or miscomunicated, pointing towards increasing the safety of our deployments, our monitoring or our documentation/communication processes, if it's a raise in the alerts one it's probably something broken, or noisy alerts (that would point towards fixing those and removing/fixing them).

Those are just examples, but other action points and directions can be prioritized by knowing the origin of the work.

Is there an example for an "alert" task somewhere, and/or do they have some existing pattern (e.g. having "alert" in the task title, or some specific task type)?

Not really, that's something that I started doing manually for the most part (see T289655), but I want to start moving towards creating those automatically.
Having alert in the task title seems pretty flaky as a check, specially being possible to categorize.

Generally speaking, I'd like to avoid creating global projects tags for individual personal use, so I wonder if there are better approaches.

I'm ok with creating personal project tags (if those exist), or any similar approach that allows easily, certainly and machine-parseably categorizing tasks in those groups.

Generally speaking, I'd like to avoid creating global projects tags for individual personal use, so I wonder if there are better approaches.

I'm ok with creating personal project tags (if those exist), or any similar approach that allows easily, certainly and machine-parseably categorizing tasks in those groups.

https://phabricator.wikimedia.org/flag/ would be the closest thing I know of to personal tags. I do not use flags much currently, but in the past I have used them to track groups of things I was interested in by theme. I did this by making my own mappings (red -> urgent, orange -> cloud, pink -> toolforge, ...) and then making saved searches with names for each group.

https://phabricator.wikimedia.org/flag/ would be the closest thing I know of to personal tags. I do not use flags much currently, but in the past I have used them to track groups of things I was interested in by theme. I did this by making my own mappings (red -> urgent, orange -> cloud, pink -> toolforge, ...) and then making saved searches with names for each group.

I see no flags there, is that expected? (maybe I need some permissions or something?)

I see no flags there, is that expected? (maybe I need some permissions or something?)

If nothing is flagged: Yes. See https://www.mediawiki.org/wiki/Phabricator/Help#Personal_lists_of_items

Aklapper renamed this task from Create a few tag projects for task tracking to Create tag projects worktype-project, origin-user, origin-alert, origin-team.Nov 15 2021, 7:11 PM

Which problems are solved by categorizing the task author, in contrast to e.g. setting Priority?

It's not so much the author as it's the origin, if there's a rise in tasks opened by users for example it's a very good indicator that something got broken or miscomunicated, pointing towards increasing the safety of our deployments, our monitoring or our documentation/communication processes, if it's a raise in the alerts one it's probably something broken, or noisy alerts (that would point towards fixing those and removing/fixing them).

That makes sense to me, however I don't believe that manual tagging of tasks would provide close-to-complete reliable metrics. It sounds more like a proposal to have some kind of affiliation information for accounts (and filtering on that), and the larger topic of staff not always self-identifying as staff (which I'd love to see fixed).

Is there an example for an "alert" task somewhere, and/or do they have some existing pattern (e.g. having "alert" in the task title, or some specific task type)?

Not really, that's something that I started doing manually for the most part (see T289655), but I want to start moving towards creating those automatically.

I'd think of https://phabricator.wikimedia.org/p/phaultfinder (or https://phabricator.wikimedia.org/p/ops-monitoring-bot) automatically creating such tasks, and already being able to filter by author.

If nothing is flagged: Yes. See https://www.mediawiki.org/wiki/Phabricator/Help#Personal_lists_of_items

That might do the trick, it would be great if you could see the flags from any view though (like tags), otherwise they only show in details and that special flags page right? (If I'm wrong please let me know, that might solve my problem :) )

That makes sense to me, however I don't believe that manual tagging of tasks would provide close-to-complete reliable metrics. It sounds more like a proposal to have some kind of affiliation information for accounts (and filtering on that), and the larger topic of staff not always self-identifying as staff (which I'd love to see fixed).

Being only myself tagging, I can get as close to complete as I put time in it, you are right as this does not scale, but for now it's enough for me. Having some way to do it automatically (by filtering or whatever) would be awesome, but that looks like a way larger issue, not a requirement. Though if you have an idea on how to do it and/or docs I might be willing to give it a shot at some point.

I'd think of https://phabricator.wikimedia.org/p/phaultfinder (or https://phabricator.wikimedia.org/p/ops-monitoring-bot) automatically creating such tasks, and already being able to filter by author.

Yep, those are the main ways I want to create tasks from alerts (specifically the one from prometheus), but we might have to do something different for cloud/VMs eventually.

If nothing is flagged: Yes. See https://www.mediawiki.org/wiki/Phabricator/Help#Personal_lists_of_items

That might do the trick, it would be great if you could see the flags from any view though (like tags), otherwise they only show in details and that special flags page right? (If I'm wrong please let me know, that might solve my problem :) )

You are not wrong. :)

I guess there are two ways: Really creating separate project tags (though I'd still prefer some individual name prefix like user-dcaro-something in that case), or using columns on a workboard if categories were disjunct (but that seems to be only the case for origin-*, so wouldn't work for worktype-project.

I wonder if @MBinder_WMF or @mmodell have any better ideas how to best do this. :-/

though I'd still prefer some individual name prefix like user-dcaro-something in that case

For the record, I'm ok with that too

Fair warning: I've only really thought about this ticket at a high-level, and I am sure there are both more specific and more holistic approaches. :)

On the subject of Flags:
FWIW, here's how I personally use flags:

Screenshot 2021-11-16 095511.jpg (168×1 px, 36 KB)

For me, Green is what I use to track Herald rules, probably because at the time I set that up years ago there was not a way to add specific Herald rules to a Dashboard (there may be now, but my system still works for me, so I have not looked into it). The other section simply searches for all Flags that are not Green, and I just use that to stay on top of certain tasks. This is just an example of how these can be leveraged.

On the subject of new, global tags: Unless there is a need for doing the tracking described in this ticket across multiple teams (or it's not too complicating to make these tags, which doesn't seem to be the case given this conversation), I would recommend just creating team-specific tags, and maybe using a Herald rule to make sure tasks that get misfiled arrive in the right place. There are lots of teams that use projects to specify types of tasks, without doing so globally. For instance, until recently, there was Android-app-Bugs . My team also has tags to filter by Team, Org, Product, Tech, etc.

Another idea is to use a user board, but make Milestones for that user board. E.g. "User-dcaro (Unplanned)". I would generally avoid Subprojects regardless of situation because they don't seem to offer anything substantial over simply having separate projects, and the restrictions are annoying (and the feature remains marked as "experimental" I think). Milestones offer columns for categorization, while also maintaining the option to tag tasks and/or filter/search for them by tag. The downside (well, deliberate restriction, really) is that tasks will not be able to be cross-tagged with those categories, as columns are mutually exclusive on a single board. Otherwise, if the purpose is truly "personal work management" then I think a personal board is a good fit. It is also much less ambiguous than a global tag tends to inherently be. :)

Thanks for the example!

I would generally avoid Subprojects

Yep, specially the fact that you can only have one of this tags per parent project on the same task (ex, User-dcaro/origin-user would be exclusive with User-dcaro/worktype-unplanned).
Same with the milestones, yes, so those don't work for me. And board lanes.

So I think that the best would be something like 'User-dcaro-<tagname>' top level projects?

Given what's discussed so far (meaning there might be more worth considering)...probably? I can't say I have yet seen what you are describing. I don't think it's a problem (unusual isn't inherently bad!), but convention suggests it might be more consistent to do it on a per-team basis. For how many teams would you use this?

Given what's discussed so far (meaning there might be more worth considering)...probably? I can't say I have yet seen what you are describing. I don't think it's a problem (unusual isn't inherently bad!), but convention suggests it might be more consistent to do it on a per-team basis. For how many teams would you use this?

Currently only for me, might get more widely adopted eventually, but that's not the current status.

Right, sorry, lemme re-rephrase: I'm assuming that you are tracking on behalf of one team or more (SRE?). Even if the data is just for your use right now, "SRE-origin-user" fits more neatly with existing naming conventions, and also lends itself to being picked up by others on that team in the event that it's a brilliant system but you've struck it rich and have left to live on your Caribbean island. :)

It's sort of an intermediary between a personal set of tags and a global set. The former isn't a really problem (I think) but it makes me nervous about the slippery slope of lots of personal tags clogging things (like search) up. The latter is elegant but obviously has to be done well or it, too, can make a mess. I personally like the middle ground of a set of team tags. The main downside is if you have, say, 5 teams you're tracking, because that would mean making [X number of tags] * [Y number of teams], in this example 30 tags. For one team, though, that's only 6.

I'm assuming that you are tracking on behalf of one team or more

Wrong assumption, this is so far exclusively for myself, and my tasks. It might evolve into something team-wide (or multi-tieam wide) eventually, but that's not even being considered right now.

FWIW, I think that this approach isn't exclusive of personal tasks or otherwise. You could, for example, have "SRE-origin-user" and track that on your own board. In fact, that would add a layer of tracking in the event that you had multiple teams.

For instance, maybe you've got "SRE-origin-user" and "Cloud-Services-origin-user" and then you can filter your tags to track metrics of the type of work by team. You can also do this if the tasks are tagged with a generalized tag ("user-dcaro-origin-user"+"Cloud-Services"), it's just another way to reach the same end.

So, to reiterate, I would say if the teams for which you have assignments (and who's work would benefit from this tracking) is limited to 2 or fewer, then team-specific tags are my personal preference. If the the tasks that would be tagged are broader than that, I think the user tags are the remaining approach, however unusual. This all pending agreement from people with more perspective than I, such as @Aklapper :)

So, to reiterate, I would say if the teams for which you have assignments (and who's work would benefit from this tracking) is limited to 2 or fewer

All my tasks are tagged with 1 team (cloud services), so you could say it's limited to 1. They might have other team tags too, though I don't usually manage/take care of those. There's many project tags too, that I do care, but there's only one team tag that I care of.

FWIW, I think that this approach isn't exclusive of personal tasks or otherwise. You could, for example, have "SRE-origin-user" and track that on your own board. In fact, that would add a layer of tracking in the event that you had multiple teams.

A small reminder that the scope of this task is only personal tags, it's not trying to change the way any team works, or even any other person works, just me. Trying to widen that scope would be better discussed in a different task.

All my tasks are tagged with 1 team (cloud services), so you could say it's limited to 1. They might have other team tags too, though I don't usually manage/take care of those. There's many project tags too, that I do care, but there's only one team tag that I care of.

Cool, that makes things easier. If that's the case, I would still recommend the tags be "team" oriented, even if only you use them. It's a little neater, and creates flexibility without adding real risk. So that would be something like

  • name: cloud-services-worktype-project
    • description: Tag to track project related tasks.
  • name: cloud-services-worktype-maintenance
    • description: Tag to track maintenance related tasks.
  • name: cloud-services-worktype-unplanned
    • description: Tag to track unplanned tasks.
  • name: cloud-services-origin-user
    • description: Tag to track user created tasks.
  • name: cloud-services-origin-alert
    • description: Tag to track alert created tasks.
  • name: cloud-services-origin-team
    • description: tag to track team created tasks.

FWIW, I did do a search earlier on tasks assigned to you, and saw this:
https://phabricator.wikimedia.org/maniphest/query/ifiXE4FKOd../#R

which is why I thought perhaps more than one team was at stake (looking more closely, I can see that there isn't a lot of major cross-tagging, anyway). Also, I think I inferred from the task description and @Aklapper 's followup that this was a request for Global tags (like Unplanned-Sprint-Work ), which require a certain amount of rigor before creating. :)

If the above suggested list amenable to you (and I haven't heard anyone else object) I'd be happy to create those!

Is there any reason not to use the tag icon, even if not really intended for global use?

Good question! I am a dinosaur when it comes to the naming/coloring/icon conventions established early on in WMF's use of Phab, and though I know some constraints have lessened more recently, I still shy away from things like "use the global tag icon and color" when making these sorts of things. If folks like you and @Aklapper don't mind, neither do I. :)

The tag icon is entirely semantic but it can be used in search and I find that helpful for filtering out projects that are not relevant to a particular context.

Word. By all means, change it if that's generally accepted :)

dcaro claimed this task.