XF 1.5 Thread Tagging

Tags are a common method of adding keywords to content to aid searching and discovery. In XenForo 1.5, we're adding support for applying tags to threads, as well as a framework for add-ons to add tags to their own content types.

upload_2015-6-25_12-53-21.webp


Thread tags apply to the thread itself (rather than individual posts), so they are displayed at the top of the thread view, independent of any post.

Clicking any tag will take you to a page displaying all content that has that tag attached to it:

upload_2015-6-25_12-54-22.webp


These results pages will be accessible to search engines (and of course end users) to help them relate the tagged content to each other.

To edit the tags in an existing thread, clicking the "edit" link shown in the first screenshot will bring up an overlay with a tag editor:

upload_2015-6-25_12-55-15.webp


When typing a tag in, auto-complete options will be displayed.

Tagging Options
If you are allowing untrusted users to apply tags, it may be useful to apply some limits. To do this, there are a number of options:

upload_2015-6-25_12-55-50.webp


These options cover limits over the amount of tagging an individual user can do and the actual structure of the tags. Note that tags will have some normalization applied (lower casing, white space adjustments, etc) independent of any structure limits.

Tagging Permissions
There are also a number of permissions that allow you to control who can tag content:
  • Create new content tag (global) - this controls whether a user can create an entirely new tag. If they do not have this permission (but have permission to apply tags), the user will only be able to use a tag that has already been created.
  • Bypass user content tag limit (global) - having this permission allows the user to bypass the "Max Content Tags Per User" option.
  • Tag thread by self (global and per forum) - this permission allows a user to apply tags to threads they create. By default, they will only be able to edit the tags they applied to the thread.
  • Tag thread by anyone (global and per forum) - this permission allows a user to apply tags to threads created by anyone. Like above, they will generally only be able to edit the tags they applied.
  • Manage tags by others in own thread (global and per forum) - this permission extends the tag management to control any tag that has been applied to their own thread, regardless of who applied it.
  • Manage tags by anyone (global and per forum) - this is a moderator-level permission that allows full tag management.
Admin Tag Management
Admins can manage tags through the admin control panel. They are given a list of tags, including filtering and sorting options:

upload_2015-6-25_12-57-55.webp


Editing a tag gives the following options:

upload_2015-6-25_12-58-13.webp


Normally, when a tag is created, the "URL version" is automatically generated. This is what will be displayed in the URL when viewing the tag results page (example.com/community/tags/tag-name-here/). Normally, this is automatically generated from the user entered tag by deaccenting and normalizing, along with some extra processes to ensure uniqueness. However, an admin can manually override this if desired.

Normally tags will be removed when they are no longer used (specifically, when their last usage is removed). Choosing to make a tag permanent prevents this. This is mostly significant for communities where admins will create a list of valid tags and not allow users to add their own.

Deleting a tag should be straightforward enough. Merging tags allows you to change all references to tag X into tag Y.

Tag Searches
Tag searching is exposed via a new tab on the search pages:

upload_2015-6-25_12-59-19.webp


This allows searching by a single tag or multiple tags. Entering multiple tags will only return content with all tags applied.

Below this, we display a tag cloud showing the most popular tags with various "weights" to indicate how popular they are. There are some options that control what is included in the tag cloud:

upload_2015-6-25_12-59-49.webp


In terms of searching itself, tags are included as part of the content's title, allowing the text of the tag to be searched. With XenForo Enhanced Search, this automatically increases the relevancy of a result matching a tag. Tags are also indexed as "metadata" internally which means they can be searched via a non-keyword method. This is not exposed by default outside of the dedicated tag search page.

Tagging for Developers
Like many other systems in XenForo, the tagging framework is implemented in a content-agnostic way. This allows tagging to be added to many content types easily. Developers wishing to add tagging to their content mostly just need to implement the necessary handler class and display the tags on their content pages.

We intend on releasing updates to our official add-ons to add support for tagging.



That's all for today. Until next time...
 
Will it be possible to see who added a tag to a thread or to the database?

I ask because this is very useful to identify those few members who consistently add useless tags. Often such members are pretty active and need to be blocked from adding tags. Fortunately the XF tagging system combined with the permissions system can block individual members from adding tags by adding them to a usergroup that has Never set for that permission. So all we need for this is a way to see who left a tag.

Also: what will be the correct route or url for a addon tag?
For example how will the route/url of a resource manager tag look?

Will there be user criteria so that we can give trophies for tagging content?
Suggested here: https://xenforo.com/community/threads/user-criteria-trophy-for-adding-thread-tags.100310/

Suggestion to watch tags: https://xenforo.com/community/threads/watch-thread-tag.100311/
 
Last edited:
Will it be possible to see who added a tag to a thread or to the database?

I ask because this is very useful to identify those few members who consistently add useless tags. Often such members are pretty active and need to be blocked from adding tags. Fortunately the XF tagging system combined with the permissions system can block individual members from adding tags by adding them to a usergroup that has Never set for that permission. So all we need for this is a way to see who left a tag.
It is tracked in the database but it isn't currenty exposed in the UI.

Also: what will be the correct route or url for a addon tag?
For example how will the route/url of a resource manager tag look?
The entire system is content agnostic. The route of an RM tag will be the same as threads, e.g. tags/tagname.

The other two things are valid suggestions but aren't features currently.
 
It will be good if you can add tagging permission. ie users that are allowed to tag threads in usergroup permission.
Thanks.
 
the more i look at this, the less i like it. it seems... utilitarian, and lacks both the sexiness and usability of the xentag addon.
xentags ability to allow #inline tagging (hashtagging), its tag page, and its use of the text field below the post rather than a modal overlay are just so much better than this. i fear this will be another case of a great implementation falling victim to a half-hearted core feature.
 
@Mike Everything else is looking great but why the Tag Cloud is displaying under search engine page and do not have its own dedicated page, ie, xenforo.com/community/tags ? where we could also search tags, exactly like XFMG does it. https://xenforo.com/community/media/tags
XenTag add-on by @xfrocks also has done it similar, I love that approach and I find it super easy to use. Integrating tag search and tag cloud with search engine page is only making it hard to use. Since it is still in Alpha stage, I'd suggest reconsider it please, Thanks.
 
As this and XenTag seem to use the Same route /tags what will happen if you upgrade whilst using xentag?
 
Although comparisons to existing add-ons are expected, they are somewhat unfair. Especially when terms such as "half hearted" are used. You're comparing a feature that isn't out of Alpha yet with an add on that has been around for several years.

Bear in mind if you have any specific suggestions, they should be placed as a new thread in the Suggestions forum. They may get over looked or buried in this thread while a dedicated thread would likely garner more support and feedback.

When submitting your suggestion tell us specifically how it should work. Telling us to make it "more like X" may not be as useful as specific examples, use cases and screenshots.
 
Top Bottom