We have just released a new version of eZ Tags extension which brings the version number up to 1.2. This is a second version released since the initial blog post introducing eZ Tags six months ago and we thought it would be a good idea to give an overview of what is new in eZ Tags 1.1 and 1.2.
As you probably already know, eZ Tags is an eZ Publish extension for taxonomy management and easier classification of content objects. It can be used for all taxonomies, including:
- closed classifications which are usually predefined
- open classifications like user tags (usually referred to as “folksonomy”)
- combination of both
We’ve heard many people talk about eZ Tags on 2011 eZ Summer Conference in London, so we’re very proud to have developed an extension which is really useful to fellow eZ developers. It was also nominated for extension of the year, which is also a great honor. We didn’t win, but the winning extension (SQLI Import by Jérôme Vieilledent) most certainly deserved the award. What we really liked is that all those nice words about eZ Tags were based on version 1.0, and that version doesn’t even have all the features we planned and are still planning for the extension.
Version 1.1 was released just two or three days before the conference, and the main focus of that version was to add different fetches so developers can easily access all tags through their templates and PHP code, raising the value of the extension as tags now behave just as content objects and nodes. You can do with them whatever you want, organize them in whatever way you see fit, and act upon the model in your code.
Four fetches were added and they mimic the built in eZ Publish content fetches:
- tags/list and tags/list_count fetches behave just like content/list and content/list_count. They return a list of child tags and their count just below a specific tag ID, respectively. You can use those fetches to build navigation structures, for example.
- tags/tree and tags/tree_count, which can be used to fetch absolutely all tags below a specific tag ID, just like content/tree and content/tree_count fetches do for content nodes.
Version 1.2 is a mix of a maintenance changes and bug fixes, while still adding a couple of useful features:
- eZ Tags datatype now fully supports class serialization
- we have included a handy script that can be used to convert the content of ezkeyword datatype to eZ Tags, which allows you to migrate easily from ezkeyword to eZ Tags (why wouldn’t you? :)
- a small but valuable feature is “tags” attribute in datatype content (example: $node.data_map.eztags.content.tags) which allows you to get a list of all tags in your content object attribute
- administration interface got a handy new feature that displays the table of all child tags at the bottom of the tags/id page.
- tags/view module view in the user part of the site was initially conceived to display only the latest objects that were related to a specific tag. It is now extended to display all objects, through pagination support
- included extended attribute filter got a small upgrade and now you can fetch nodes/objects that have one or more tags you specify, and is not limited to one tag as before
- eZ Tags datatype got two new options to better match the requirements of your taxonomy/folksonomy rules:
- You can now limit the number of tags that can be added to content object attribute. eZ Tags content object attribute edit interface supports that setting in a streamlined way. When you add the maximum possible number of tags, all controls for adding additional tags simply disappear and reappear again as you remove tags from your attributes
- When you use some of the tags as a closed taxonomy, sometimes there’s a requirement to not be able to add the root tag of of your tag subtree to your objects, as it only serves as a container and doesn’t have any real value to you. You can now set the option not to display that tag in object edit interface so your editors cannot add it to your object, thus respecting the rules you set for your data model. This option was available in the initial release of eZ Tags, however, hidden in the ini file and applied system wide, not per class attribute
We hope that all those new features can be useful to developers. If you have any questions or feature suggestions (besides multilanguage support for tags, we’re working on it :), contact us and we’ll gladly help!
As always, eZ Tags can be downloaded at http://projects.ez.no/eztags