Tags are arbitrary strings that are assigned to computers, policies, products, and users.

Tags are useful for marking a group of related items, for example all the computers used in a particular project, or all the users with a particular academic major. The groupings can be used to target reports on exactly the items of interest for a given purpose.

Multiple different tags can be assigned to each of the taggable items. Tags can be organized into a simple hierarchy for easier management. Valued Tags, an extension of the standard concept of tags, can be used as an additional method of organizing tags, and provides a powerful mechanism for aggregation in reports.

Tags assigned to a computer

Assigning Tags

Tags can be assigned to Computers, Policies, Products, and Users. Add tags to an item by opening the item details and typing the tag name in the Tags field. Since tags are just text, you can drag text from anywhere into the Tags field and that text will be added as a tag. Tags can be dragged from other detail windows, or from the main windows, where all existing Tags are listed. You can also assign a tag to multiple items simultaneously by selecting the items and dragging them onto the tag in the main list window.

All of the existing tags for a particular item type are listed in the main window for that type. In order to keep that list managable, avoid using overly specific tags. Tags should be used to create groups of items, not to assign unique values to each item. To aid in organization, use a consistent tag convention as described in Organizing Tags below. To support finer-grained values in tags, use Valued Tags.

For efficiency and future flexibility, try to use only letters, numbers, and spaces in your tags. Certain punctuation symbols (e.g., period and colon) have special meaning in tags, as described below. Other punctuation might be used for new functionality in the future.

Organizing Tags

All tags are just plain text strings, uninterpreted by KeySever. However, KeyConfigure and KeyReporter will display tags in a hierarchy if you use a simple notation: Use periods to separate each level of the hierarchy, similar to how the "/" or "\" character is used to separate a file path into directories in the file system hierarchy.

Using this "dot" notation you can create any hierarchical organization that makes sense to you. For example, you might place tags related to project management under a "Projects" heading. If there are multiple administrators creating tags for their own use, you can devise a convention where each administrator's tags are prefixed with "admin.initials." to place all such tags first under a heading named "admin", and within that under separate headings for each administrator. Note that all tags are visible to all administrators, so tags should be considered a public, shared resource.

The existing tags are listed in the main windows, organized according to any dot hierarchy you have adopted. The tags shown here follow the suggestion about separate headings for tags created by each admin, plus there are some other tag groupings (collapsed) and a simple tag at the top (there is no requirement that a tag have a dot, or that you use dot notation at all).

Note that two admins have a "green" tag. But these two tags are distinct because the actual tag strings are "admin.jfk.green" and "admin.fdr.green". Dragging and dropping either of these tags will apply the correct, full tag.

Valued Tags

Tags are generally used to group together related items, and not to assign a specific value to an item. However, sometimes it is useful to be able to assign values for use in searching or reporting, without growing the list of tags shown in the main windows. For this, KeyServer supports Valued Tags.

Valued Tags consist of a tag and a value for that tag, separated by a colon. The tag portion is just like any other tag (valued or not). The tag appears in the list in the main window, but the value does not. If an item is assigned a tag, that tag for that item can only have one value.

One possible use for valued tags is to assign an academic major to users in the Users window. Not all users will have a major, and each user will have at most one (primary) major (double majors can be handled with a modified approach). You might use a tag named "major" to hold the value of a user's major. So some users might have the tag "major:chemistry", while others have "major:history" and so on.

Like normal tags, valued tags can be used when searching in the main windows, filtering, and running reports on a focused set of items. The tag name can be used by itself in any of these cases. Searching for "major" will result in all the items that have that tag, regardless of the value). The full valued tags can also be used, so searching for "major:economics" results in all the items with that tag and value.

Valued tags are especially powerful when combined with reporting, as described below.

Reporting with Tags

The primary use of tags is for focusing reports on a set of items. In KeyConfigure's Report Builder window the Target panel is used to limit the items that will appear inthe report. One or more tags can be added to the target area, and any item that has at least one of those tags will be included in the report (the tags apply to the selected report's "main" item type only, so for a report like Logins (COMP x user) only computers with the given tags will be selected).

Limiting a report by tags is similar to how reports can be limited by a filter, division, or ad hoc list of items. In addition, when a Valued Tag is used, the report can be set to aggregate the results according to the tag's values. Continuing with the example of academic majors from above, you could run a report like Usage (USER x prod), adding the "major" tag to the report Target area and check the "Aggregate" option. The report will include product usage for all users who have a major, and aggregate the results according to which major (value) each user has.

Tips and Suggestions

When deciding on your strategy for using tags, keep in mind the following tips and suggestions:

  • Try to limit tags to letters, numbers and spaces
  • Keep tags to a reasonable length to reduce their impact on performance
  • Use "dot" notation to organize tags by purpose, creator, etc.
  • Don't use tags that are overly specific
  • Don't mimic other functionality, like Divisions or Groups
  • Don't use a tag when a filter would be more appropriate