Groups & Tags

I’ve been working on a major restructuring of a large DT database, making pretty heavy use of groups and tags. Works fine, except for a few things that I’m finding cumbersome for my workflow…

  1. The UI for groups and tags is very odd. Groups show up as blue folder icons, and tags as yellow tags. Makes perfect sense. Yet in the Tag bar and elsewhere, Tags show up as blue, and groups (if enabled) show up as gray. Er … what? Wouldn’t it make more sense to match the icon colors, making tags always yellow and groups always blue?

  2. I realize tags are “just” groups and vice versa, but the propagation of the whole hierarchy of groups into tags doesn’t make much sense to me. If I have tag hierarchy, or folder hierarchy for that matter, I don’t always want all the parent folders/tags to turn up as tags. Sometimes I just want the parent group/tag to help my organize tags into logical groups (for example, all project name tags).

  3. I think the way groups are excluded from tagging is backwards. I realize this is a legacy thing, but it’s very hard to use just one or two groups as tags. You have to (a) enable using groups as tags in Database Properties and (b) spend hours turning on the “Exclude from tagging” for dozens and dozens of groups, just so you can have one or two groups acting as tags.

I would have thought (ignoring legacy for a moment) a more sensible design would be:
– All groups have a “Use as Tag” checkbox, by default this is OFF, but can be turned on in the Info panel. Create a new group creates it without a tag,
– If Use as Tag is OFF, the group shows up as a group icon, if ON, it shows up as a Tag icon IN PLACE (that is, in the normal group hierarchy).
– “Use as Tag” just affects the one group; it doesn’t make the parent or child groups tags.
– The “Tags” top-level group is no longer magic, and only exists as a default location to create new tags when typing them in from the Tag Bar of an item.

–Tim

If a database settings have enabled groups for tagging, you can select a parent of a hierarchy and exclude it from tagging – in either Tags or in “normal” groups.

Just create a smart group to find all groups, then select all of them and disable “Exclude from tagging” in the Info panel.

Yes, that works pretty well to get started, but then it gets tricky as new groups are added. The workflow becomes: create a new group, then remember to check “Exclude from Tagging”. If I forget, create another smart group to filter on all groups that and not excluded, and manually wander through each one to find the ones I forgot about. This is rather clumsy imho.

I think what is REALLY needed here is an option/preference to automatically set the “Exclude from Tagging” checkbox when a new group is created. After all, the UI tries very hard to makes Groups and Tags look different, so the default (make a Group look like a Tag) seems an odd choice (and, imho, the logic is inverted: “Exclude from Tagging” should really be “Include in Tagging” and the default when a group is created is OFF).

–Tim

This already is a preference in Database Properties, on a per database level.

No, I think you misunderstand, I’ll try to clarify…

Under the hood, DT of course treats Groups and Tags pretty much identically. So far as I can figure out there are three significant bits of state:
– A flag attached to each group/tag saying if it is “Group-like” or “Tag-like” for some UI behaviors (e.g. icon)
– Another flag attached to each group/tag that corresponds to the “Exclude from Tagging” checkbox for the group
– A per-database flag that corresponds to the “Exclude Groups from Tagging” checkbox for the database

Also, observe that new groups are created with Exclude from Tagging unchecked (this is significant).

Clearly, a group is not treated as a tag if either the per-group Exclude from Tagging is checked or the per-database “Exclude Groups from Tagging” is checked. Conversely, a group is treated as a tag if both Exclude from Tagging and Exclude Groups from Tagging are unchecked.

Now, the default (with recent DT versions) for the per-database Exclude Groups from Tagging is checked. So, the default case is groups are not treated as tags. That’s fine, and is a wise choice since I would imagine most users want to keep groups and tags separate. But what if you do want to use some/all groups as tags?

OK, so now you uncheck the per-database Exclude Groups from Tagging checkbox. What happens? All your groups suddenly become tags, because all those groups were created with the default per-group setting for Exclude from Tagging, which is unchecked.

Is this good behavior? I think this depends on your use-case:

(1) Most/All groups are used as tags. For this set of users, the current behavior is perfect. Users can happily tag and organize using both the group hierarchy and the tag model. I would guess these users would make the occasional group as Exclude from Tagging, but these would be few.

(2) Few groups are used as tags. For this set of users, things are not so clean. They just want to use a few select groups as tags (for reasons explained below).

Why is (2) more cumbersome? Well the problem is the starting point is to make all groups tags and then “opt out” groups that should not be tags. As noted in an earlier reply, the initial bulk opt-out can be made less painful using a smart group. But that doesnt help with newly created groups, and means that every time a group is created you need to manually opt it out of tagging by setting the Exclude from Tagging checkbox for the group. Trust me, this gets boring fast.

What would make the workflow better for the second set of users? Well, since most newly created groups are not going to be used as tags (for these users), creating a group with Exclude from Tagging set on by default would be ideal. A group would be created as a non-tag group, and could be changed to a tag on the rare occasion when that was desirable.

But of course, this doesnt work for the first set of users, who like the current behavior of newly created groups behaving like tags.

Hence my suggestion. It seems to me that what is needed is a global (or maybe per-database) setting “Newly Created Groups and Excluded from Tagging” that would make everyone happy. All this does is control how the “Exclude from Tagging” setting on a group is set when that group is created.

This makes both sets of users (1) and (2) happy. Set (1) will leave the new setting unchecked, and newly created groups will be created with tagging enabled. Set (2) can enable the new setting, and newly created groups are created with tagging disabled. Everyone is happy, and there was much rejoicing!

And my use case? I have dozens of projects in a database, each with its own project folder for files and docs etc. However I have a need to occasionally mark individual items within other non-project folders as significant for a project, and for this I use a tag. So there is a /Projects/Foo group to store all the Foo project items, and a “Foo” tag so that I can tag other items that are relevant. (I can do this with replicas, but a tag seemed more appropriate as it helps highlight the “home” group for the item.)

But (I reasoned) to see all items that are part of the Foo project, I need a smart group that shows the contents of the /Projects/Foo group OR any item tagged with the Foo tag. OK, not too hard, but awkward, as I need a smart group for every project. So I reasoned that I could simply enable the /Projects/Foo group as a tag, and then voila!, no need for a smart group.

So this logic put me in user set (2) … I need most of my groups opted out of tagging but a select few manually opted-in. Hence my ask for a more streamlined way to create new groups that are not tags (in a database that doesnt have “Exclude Groups from Tagging” checked).

(sorry for long post)
–Tim

Only if you are using Group Tags by unchecking the option in Database Properties.

If you are referring to Database Properties, yes this is the case and has been for quite some time. Group Tagging has always been an opt-in option, as far as I can remember.

If this is the case, why are you unchecking “Exclude Groups from Tagging” as a general choice? Why not leave it unchecked and apply a Tag to a (blue) group as you see fit?

Um … I just checked? Whenever I create a new group, it always has Exclude from Tagging OFF regardless of the option in Database Properties.

Yes, group tagging is opt-in at the database level, but opt-out at the group level. That’s really my point – if you want to only have a few groups used as tags, you are stuck manually turning off the Exclude Group from Tagging option for each and every group you create.

[/quote]
I tried that, but it’s effect is to put the project group into the tag, not vice versa.

My intent, as a convenience, was to the project group name as a tag. For a project “Foo” I could have a group /Projects/Foo and a distinct tag called Foo also. But if I want see the entire contents of Foo, I would need a smart group that included all items from the group /Projects/Foo and all items with the tag Foo. It seemed to me easier to just make the Foo group in /Projects/Foo a tag.

I realize this might be a different workflow, but I still think my point is reasonable; to provide a way to control the setting of Exclude from Tagging when a new group gets created.

:question: Exclude from Tagging is only available in the context menu of a record (or the Info pane) if Exclude Groups from Tagging is unchecked (ie. yellow group icons).

Yes, we seem to be talking in circles here. Let me try to clarify:

– With the per-database “Exclude Groups from Tagging” ON (the default), a tag is a tag and a group is a group. Easy, we both agree on that I think.

– With the per-database “Exclude Groups from Tagging” OFF, groups (potentially) become tags. Again, not a problem.

– With the per-database “Exclude Groups from Tagging” OFF, groups are BY DEFAULT tags. That is, the per-group “Exclude From Tagging” setting is by default OFF.

That is, they are by default yellow unless you explicitly turn “Exclude from Tagging” ON for a particular group (turning it blue).

But what if you you want a very few groups to be tags (yellow), and most to be regular groups (blue)? Well, you have to turn off tagging on most of your groups. Which means, each time you create a new group, you need to open the Info pane to turn ON the “Exclude from Tagging” setting.

This is fine, but it gets tired quickly if you create a log of non-tag groups (as I do).

So my ask was simple really: A per-database setting that says “Exclude newly created groups from Tagging”. That is, allow a user to control what the initial setting for the (per-group) “Exclude from Tagging” value is WHEN A NEW GROUP IS CREATED.

This simplifies the workflow when MOST groups are NOT tags (in the case then you have enabled groups to be tags in a database).

That was it, really. Hope this makes it clear.

–Tim

Indeed. Thanks for the clarification.