Le point d'extension org.ametys.web.tags.TagProviderExtensionPoint permet de définit un nouveau "fournisseur" d'étiquettes.
Il s'agit d'un point d'extension multiple : c'est à dire que plusieurs implémentations de ce point d'extension peuvent être actives au même moment.
A ce jour il existe 3 implémentations de ce point d'extension qui définissent 3 types d'étiquettes:
Pour plus d'informations sur les étiquettes, vous pouvez consulter la page "Etiquettes" du manuel utilisateur .
Comment créer des étiquettes statiques ? La création d'étiquettes statiques est utile dans les cas suivants:
avoir des étiquettes partagées communes à tous les sites et tous les chartes graphique avoir des étiquettes non modifiables par les contributeurs Les étiquettes statiques doivent être définies dans le fichier plugin.xml d'un plugin Ametys. Au besoin, vous serez amené à créer un nouveau plugin, suivez alors les instructions de la page Architecture d'un plugin Ametys .
Voici ci-dessous un exemple de déclaration:
Exemple de déclaration
Oups ! La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.<extension point="org.ametys.web.tags.TagProviderExtensionPoint"
id="mytagprovrider"
class="org.ametys.web.tags.StaticTagProvider">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS_DESC</description>
<tag id="PROFESSIONAL_EVENTS" target="CONTENT>
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</description>
<tag id="EVENT_CONFERENCE" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE_DESC</description>
</tag>
<tag id="EVENT_SHOW" target="CONTENT" private="true">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW_DESC</description>
</tag>
</tag>
<tag id="SPORT_EVENTS" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</description>
<tag id="EVENT_TOURNAMENT" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT_DESC</description>
</tag>
<tag id="EVENT_EXHIBITION" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION_DESC</description>
</tag>
</tag>
</extension>
<extension point="org.ametys.web.tags.TagProviderExtensionPoint"
id="mytagprovrider"
class="org.ametys.web.tags.StaticTagProvider">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS_DESC</description>
<tag id="PROFESSIONAL_EVENTS" target="CONTENT>
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</description>
<tag id="EVENT_CONFERENCE" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE_DESC</description>
</tag>
<tag id="EVENT_SHOW" target="CONTENT" private="true">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW_DESC</description>
</tag>
</tag>
<tag id="SPORT_EVENTS" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</description>
<tag id="EVENT_TOURNAMENT" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT_DESC</description>
</tag>
<tag id="EVENT_EXHIBITION" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION_DESC</description>
</tag>
</tag>
</extension>
Voir le code
<extension point="org.ametys.web.tags.TagProviderExtensionPoint"
id="mytagprovrider"
class="org.ametys.web.tags.StaticTagProvider">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_EVENTS_DESC</description>
<tag id="PROFESSIONAL_EVENTS" target="CONTENT>
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_PROFESSIONAL_EVENTS</description>
<tag id="EVENT_CONFERENCE" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CONFERENCE_DESC</description>
</tag>
<tag id="EVENT_SHOW" target="CONTENT" private="true">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_SHOW_DESC</description>
</tag>
</tag>
<tag id="SPORT_EVENTS" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_CATEGORY_SPORT_EVENTS</description>
<tag id="EVENT_TOURNAMENT" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_TOURNAMENT_DESC</description>
</tag>
<tag id="EVENT_EXHIBITION" target="CONTENT">
<label i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION</label>
<description i18n="true">PLUGINS_MYPLUGIN_TAG_EXHIBITION_DESC</description>
</tag>
</tag>
</extension>
Une étiquette ("tag") est définit par :
un identifiant unique (attribut "id") une portée : "CONTENT" pour une étiquette de contenu, "PAGE" pour une étiquette de page (attribut "target") une visibilité. L'attribut "private" permet de privatiser l'étiquette. Les étiquettes privées ne peuvent être affectées que par des "super" utilisateurs ayant le droit adéquat un libellé (élément "<label>") une description (élément "<description >") Chaque étiquette peut contenir des sous-étiquettes afin de les hiérarchiser.