Index: main/plugin-tagcloud/plugin.xml =================================================================== --- main/plugin-tagcloud/plugin.xml (revision 26702) +++ main/plugin-tagcloud/plugin.xml (working copy) @@ -73,7 +73,11 @@ PLUGINS_TAGCLOUD_TAGS_SERVICE_WORDS_DESC - content-tag-categories + content-tags + + true + true + Index: main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/cache/service/TagCloudServiceCachePolicy.java =================================================================== --- main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/cache/service/TagCloudServiceCachePolicy.java (revision 26702) +++ main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/cache/service/TagCloudServiceCachePolicy.java (working copy) @@ -49,7 +49,10 @@ ObservationConstants.CONTENT_TAGGED, ObservationConstants.PAGE_CHANGED, ObservationConstants.PAGE_MOVED, - ObservationConstants.PAGE_DELETED); + ObservationConstants.PAGE_DELETED, + ObservationConstants.TAG_UPDATED, + ObservationConstants.TAG_DELETED + ); } else if ("live".equals(workspace)) { @@ -58,7 +61,9 @@ ObservationConstants.CONTENT_TAGGED, ObservationConstants.PAGE_CHANGED, ObservationConstants.PAGE_MOVED, - ObservationConstants.PAGE_DELETED); + ObservationConstants.PAGE_DELETED, + ObservationConstants.TAG_UPDATED, + ObservationConstants.TAG_DELETED); } return Collections.emptyList(); Index: main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/generators/TagCloudOnTagsGenerator.java =================================================================== --- main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/generators/TagCloudOnTagsGenerator.java (revision 26702) +++ main/plugin-tagcloud/src/org/ametys/plugins/tagcloud/generators/TagCloudOnTagsGenerator.java (working copy) @@ -20,7 +20,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import java.util.Map; import java.util.Set; import org.apache.avalon.framework.service.ServiceException; @@ -40,7 +39,6 @@ import org.ametys.runtime.util.I18nizableText; import org.ametys.web.lucene.TotalHitCountCollector; import org.ametys.web.tags.Tag; -import org.ametys.web.tags.TagCategory; import org.ametys.web.tags.TagProvider; import org.ametys.web.tags.TagProviderExtensionPoint; @@ -72,8 +70,8 @@ String[] pages = serviceParameters.getString("search-by-pages").split(","); // Tags to search for - String[] tagCategories = serviceParameters.getString("search-by-tags", "").split(","); - List tags = _getTags(siteName, tagCategories); + String[] tagArray = serviceParameters.getString("search-by-tags", "").split(","); + List tags = _getTags(siteName, tagArray); // Search index Searcher searcher = null; @@ -168,38 +166,37 @@ query.add(tagQuery, BooleanClause.Occur.MUST); } - private List _getTags(String siteName, String[] tagCategories) + private List _getTags(String siteName, String[] tagArray) { List tags = new ArrayList(); - - for (String categoryID : tagCategories) + + for (String tagName : tagArray) { + boolean found = false; Set extensionsIds = _tagExtPt.getExtensionsIds(); + for (String id : extensionsIds) { + if (found) + { + continue; + } + TagProvider tagProvider = _tagExtPt.getExtension(id); - if (categoryID.startsWith("provider_") && id.equals(categoryID.substring("provider_".length()))) + if (tagName.startsWith("provider_") && id.equals(tagName.substring("provider_".length()))) { - Map childTags = tagProvider.getTags(siteName); - for (Tag tag : childTags.values()) - { - tags.add(tag); - } + found = true; + tags.addAll(tagProvider.getTags(siteName).values()); } - else if (tagProvider.hasCategory(siteName, categoryID)) + else if (tagProvider.hasTag(siteName, tagName)) { - TagCategory category = tagProvider.getTagCategory(siteName, categoryID); - Map childTags = category.getTags(); - if (childTags != null) - { - for (Tag tag : childTags.values()) - { - tags.add(tag); - } - } + found = true; + Tag tag = tagProvider.getTag(siteName, tagName); + tags.addAll(tag.getTags().values()); } } } + return tags; } @@ -255,5 +252,3 @@ } } } - - Index: main/plugin-tagcloud/i18n/messages_en.xml =================================================================== --- main/plugin-tagcloud/i18n/messages_en.xml (revision 26702) +++ main/plugin-tagcloud/i18n/messages_en.xml (working copy) @@ -28,7 +28,7 @@ Title Tag cloud title (optional) Search by tags - Select the tags to display in tag cloud by selecting one or more categories of tags + Select the tags to display in tag cloud. Max number of words Max number of words (tags) to display in tag cloud. Order by Index: main/plugin-tagcloud/i18n/messages_fr.xml =================================================================== --- main/plugin-tagcloud/i18n/messages_fr.xml (revision 26702) +++ main/plugin-tagcloud/i18n/messages_fr.xml (working copy) @@ -28,7 +28,7 @@ Titre Titre du nuage d'étiquettes (optionnel) Recherche par étiquette - Sélectionnez les étiquettes à afficher dans le nuage de mots en sélectionnant une ou plusieurs catégories d'étiquettes. + Sélectionnez les étiquettes à afficher dans le nuage de mots. Nombre max de mots Le nombre maximum de mots (étiquettes) à afficher dans le nuage de mots.<br/>Les étiquettes sont filtrées en fonction du nombre d'occurrences.<br/>Entrez 0 pour tout afficher. Ordonner par