The classical form of tagging enables you to associate a taxonomy with elements within a system and helps you organize your project. It allows you to have a many-to-many association that can be quickly managed, and you can use it later to filter relevant information.
In our task management system, we're going to use a slightly different version of tags. Our goal is to provide a way to have semantic shortcuts within the application. With the help of tags, a user should be able to cross-reference information between different parts of the data, providing a summary of the referenced entity as well as a navigation shortcut for the entity.
For example, we can include a project
tag within a user comment. A user can enter the tag by simply typing in the project ID. When a comment is displayed, we see the title of the project and the number of open tasks within the project. But when we click on the tag, we directly reach the project detail page where the task is located.
In this section...