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
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
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
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
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");
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");
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");