Manuel d'intégration


Installation

  • Arrêter le serveur
  • Télécharger les jars du plugin et ajouter-les (ametys-plugin-glossary-1.2.0.jar et ametys-plugin-glossary-resources-1.2.0.jar)  dans le répertoire WEB-INF/lib de votre application Ametys

  • Ajouter le bouton permettant d'ouvrir l'outil de glossaire dans le fichier WEB-INF/params/cms-ribbon-default.xml. L'identifiant du bouton est org.ametys.plugins.glossary.Glossary.
    Il est conseillé de l'ajouter dans l'onglet Accueil, dans le groupe "Outils"

  • Dans ce même fichier, pour pouvoir ajouter une définition dans l'édition des contenu, ajoutez également le bouton org.ametys.glossary.editor.AddDefinition dans l'onglet org.ametys.cms.content.EditionTab

  • Dans ce même fichier, importer le fichier de ribbon propre au glossaire plugin:glossary://cms-ribbon.xml
<tabs>
	<tab label="RIBBON_TABS_TAB_HOME_LABEL">
    	<groups>
			[...]
			<group label="RIBBON_TABS_TAB_HOME_GROUPS_GROUP_TOOL_LABEL" icon="">
				<large>
					[...]
					<control id="org.ametys.plugins.glossary.Glossary"/>
				</large>
				<medium>
					[...]
					<control id="org.ametys.plugins.glossary.Glossary"/>
				</medium>
				<small/>
    		</group>
			[...]
		</groups>
	<tab>
	[...]
	<tab label="plugin.cms:RIBBON_TABS_TAB_CONTENT_EDIT_LABEL" id="org.ametys.cms.content.EditionTab" contextualColor="1" contextualGroup="Z" contextualLabel="plugin.cms:RIBBON_TABS_TAB_CONTENT_EDIT_LABEL">
		<groups>
			[...]
			<group label="plugin.cms:RIBBON_TABS_TAB_CONTENT_EDIT_GROUPS_GROUP_CHARACTER_LABEL" icon="">
				<large>...</large>				
				<medium>
					<layout align="middle" size="small">
						<toolbar>
							[...]
							<control id="org.ametys.glossary.editor.AddDefinition"/>
						</toolbar>
					</layout>
				</medium>
				<small>...</small>
			</group>
		</groups
	</tab>
	 <import>plugin:glossary://cms-ribbon.xml</import>
</tabs>

Attention ! Si le groupe contient une description ,  et  , il faut ajouter le bouton dans les 3.

 

  • Redémarrer le serveur

Migration des données 1.4 => 1.5

function getUniqueName (rootNode, defaultName)
{
   var uniqueName = defaultName;
   var index = 2;
   while (rootNode.hasNode(uniqueName))
   {
      uniqueName = defaultName + "-" + index;
      index++;
   }   
   return uniqueName;
}

var qm = session.getWorkspace().getQueryManager();
var query = qm.createQuery("//element(*, ametys:site)/ametys-internal:plugins/glossary/*/ametys:wordDefinitions/element(ametys:definition, ametys:wordDefinition)", javax.jcr.query.Query.XPATH);
var nodes = query.execute().getNodes();
  
var count = 0;
while (nodes.hasNext())
{
  var node = nodes.next();
   
  var word = node.getProperty('ametys-internal:word').getString();
  var defaultName = org.ametys.cms.FilterNameHelper.filterName(word)
  var newName = getUniqueName (node.getParent(), defaultName);
    
  session.move(node.getPath(), node.getParent().getPath() + '/' + newName);
  count++;
}
  
if (count > 0)
{
  session.save();
}
println(count + " word have been renamed");
Retour en haut