You are not logged in.
Pages: 1
Bonjour,
Nous utilisons le plugin messaging-connector (Zimbra) en version 1.3.0.
Nous nous interrogeons sur le volume de requêtes envoyées depuis l'ENT vers le serveur Zimbra.
Suite à l'ouverture de l'ENT ces jours ci nous avons constaté des lenteurs sur la messagerie, nous avons alors ajusté la durée et le nombre d'entrée du cache dans le paramétrage de l'administration dans Ametys. Cela semble avoir corrigé le problème.
Pour ma compréhension comment est provisionné le cache ?
Est ce qu'un mécanisme particulier est mis en œuvre au re-démarage ?
Bonjour,
Il s'agit d'un bug, nous t'invitons à voter ici :
Voici un script JCR qui permet de transformer les métas en en fr après la duplication des pages et des contenus.
Attention à tester sur les données en test au-préalable.
importClass(org.ametys.plugins.repository.RepositoryConstants);
var unlock = function(node)
{
var lockToken = node.getProperty(RepositoryConstants.METADATA_LOCKTOKEN).getString();
var lockManager = node.getSession().getWorkspace().getLockManager();
lockManager.addLockToken(lockToken);
lockManager.unlock(node.getPath());
// Remove residual properties
node["setProperty(java.lang.String,javax.jcr.Value)"](RepositoryConstants.METADATA_LOCKTOKEN, null);
node["setProperty(java.lang.String,javax.jcr.Value)"](RepositoryConstants.METADATA_LOCKOWNER, null);
node.getSession().save();
}
var nodeCount = 0;
var setPageContentsLanguage = function(pageNode, language)
{
//println('Page: ' + pageNode.getName());
if (pageNode.hasNode('ametys-internal:zones'))
{
var zones = pageNode.getNode('ametys-internal:zones').getNodes();
while (zones.hasNext())
{
var zone = zones.next();
if (zone.hasNode('ametys-internal:zoneItems'))
{
//println('Zone: ' + zone.getName());
var zoneItems = zone.getNode('ametys-internal:zoneItems').getNodes();
while (zoneItems.hasNext())
{
var zoneItem = zoneItems.next();
if (zoneItem.hasProperty('ametys-internal:type') && zoneItem.getProperty('ametys-internal:type').getString() == 'CONTENT')
{
var contentNode = zoneItem.getProperty('ametys-internal:content').getNode();
setContentLanguage(contentNode, language);
}
}
}
}
}
var subPages = pageNode.getNodes();
while (subPages.hasNext())
{
var subPage = subPages.next();
if (subPage.isNodeType('ametys:page'))
{
setPageContentsLanguage(subPage, language);
}
}
}
var setContentLanguage = function(contentNode, language)
{
if (contentNode.isLocked())
{
unlock(contentNode);
}
if (contentNode.hasProperty('ametys-internal:language') && contentNode.getProperty('ametys-internal:language').getString() != language)
{
//println('Content: ' + contentNode.getName());
contentNode.setProperty('ametys-internal:language', language);
nodeCount++;
}
}
var qm = session.getWorkspace().getQueryManager();
var query = qm.createQuery('//element(www, ametys:site)//element(en, ametys:sitemap)', javax.jcr.query.Query.XPATH);
var sitemaps = query.execute().getNodes();
while (sitemaps.hasNext())
{
var sitemapNode = sitemaps.next();
var language = sitemapNode.getName();
//println('Sitemap: ' + sitemapNode.getName());
var pageNodes = sitemapNode.getNodes();
while (pageNodes.hasNext())
{
var pageNode = pageNodes.next();
if (pageNode.isNodeType('ametys:page'))
{
setPageContentsLanguage(pageNode, language);
}
}
}
session.save();
println("Migrated " + nodeCount + " contents.");
Pour voir le nombre de contenus concernés sur le site principal :
element(www, ametys:site)//element(en, ametys:sitemap)/element(*, ametys:page)//element(*, ametys:zoneItem)[@ametys-internal:type = 'CONTENT']/jcr:deref(@ametys-internal:content, '*')[@ametys-internal:language != 'en']
Bonjour,
L'export global des formations par les 2 URLs citées plus haut n'est plus possible avec la version 2.x du plugin ODF.
Les différents exports possibles sont listés sur la page :
En effet ça va fonctionner... jusqu'à ce qu'un contributeur change le titre de la page
On préférera l'utilisation d'étiquettes qui ne pourront être modifiées que par l'intégrateur de la charte graphique, mais la mise en place est plus lourde !
Bonjour,
Est ce que vous souhaitez faire le test pour les pages de 2ème, 3ème, 4ème...niveaux ou uniquement pour le niveau 2 de l'arborescence ?
Pour tester la page mère vous travaillez sur le nom, le titre ? sachant que ceux ci peuvent changer...
J'ajoute qu'il faut vérifier dans Google webmaster tools que le domaine soit bien associé à la cible France.
Bonjour,
Avec Firebug, onglet "Réseau", on a remarqué que Tomcat seul répond à la requête par une redirection vers (ligne cocoon).
Tomcat tient compte de la langue par défaut du visiteur, Google visite par défaut en anglais.
Il faut ajouter une règle apache pour forcer la redirection vers la page française, pour que la redirection soit faite par Apache et non par Tomcat.
Règle de redirection à ajouter dans le httpd :
RewriteRule ^/?$ /fr/index.html [R]
Bonjour,
On remarque que la balise <meta content="fr" name="language" /> et les balises lang="fr" et xml:lang="fr" sur la balise racine sont bien positionnées.
Apparemment Google n'indexe plus votre site, visiblement car le sitemap.xml n'est pas accessible.
Il est normalement généré automatiquement avec la version 3.3 d'Ametys.
Pouvez vous vérifier s'il n'y a pas des infos dans vos logs ? Je viens d'essayer d'accéder au sitemap.xml
Bonjour,
En effet la variable $contextPath n'existe plus, elle est remplacée par $uri-prefix
La variable $cms-context que vous utilisiez sûrement pour construire vos liens a été remplacée par $site-uri-prefix ->
<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html" > ... </a>
On utilise plus $skin-context mais le composant ametys ametys:skinURL de cette façon
<img src="{ametys:skinURL('img/logo.png')}" alt=""/>
<link type="text/css" href="{ametys:skinURL('css/layout.css')}" rel="stylesheet" media="screen, print" />
Il est nécessaire pour cela d'avoir déclaré en entête de votre XSL le namespace :
xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent"
et de rajouter "resolver" dans les "exclude-result-prefixes"
Vous pouvez retrouver la documentation en ligne sur les variables :
Cordialement,
Laurence.
Bonjour,
Question de Jean Philippe Barrière de l'Enit :
Si on crée un formulaire CMS dans une page à accès restreint, est il possible de récupérer le login utilisé pour l'authentification ?
Merci
Bonjour,
Question 1 : Rendu d'un contenu en édition.
Vous travaillez sur une charte graphique d'un Ametys 3.2 ?
Lorsque vous êtes en édition d'un contenu la CSS utilisée pour le rendu est content.css, les styles des niveaux de titres, paragraphes, liens... doivent être relatifs au div portant la classe mceContentBody comme ceci :
.mceContentBody h1 {
font-size: 1.4em;
background-position: bottom left;
background-repeat: no-repeat;
background-image: url(../img/title1-bg.png);
padding-bottom: 15px;
color: #9a0000;
margin: 0px;
}
.mceContentBody h2 {
font-size: 1.4em;
background: transparent url(../img/title2-bg.png) no-repeat top left;
padding: 16px 0px 0px 16px;
margin-top: 5px;
color: #9a0000;
}
.mceContentBody h3 {
font-size: 1.3em;
background: transparent url(../img/puce-bordeaux.png) no-repeat center left;
color: #222222;
padding: 0px 0px 0px 14px;
margin: 6px 0px 3px 0px;
list-style-image: none;
list-style-type: none;
}
Question 2 : Perte de contenu lors de l'enregistrement
Pouvez vous m'en dire plus ? Y'a t il eu une erreur dans le CMS ou dans les logs au moment de l'enregistrement ? Il y avait du contenu particulier ? Du copier coller ??
PS : Pour plus de lisibilité n'hésitez pas à ouvrir 2 sujets, un par question
Bonjour Mathieu,
Pour construire les urls vers tes pages tu dois utiliser la variable $cms-context, ce qui donne pour la construction du lien ->
<a href="{$cms-context}/{$lang}/service-communication/l-ucp-sur-google.html">...</a>
Par contre je te déconseille de faire tes liens de cette manière, les noms des pages peuvent être changés ou les pages déplacées..
Généralement on crée une étiquette par média (Facebook, Twitter, Google +), tu étiquettes chacune des pages. Tu peux ensuite construire ton lien comme ceci (soit la page dans le plan du site qui porte l'étiquette Google Plus)
<a href="{$cms-context}/{$lang}/{/cms/inputData/sitemap//page[@PLUGIN_TAGS_MEDIA_GOOGLEPLUS]/@sitemap:path}.html">...</a>
Bonjour Mathieu,
Actuellement il n'est pas possible d'exporter l'ensemble des formations en format CDM-fr depuis le CMS. Des modifications sur l'export vont être réalisées par l'équipe produit dès la semaine prochaine, c'est alors que l'ajout de l'export complet pourra être envisagé.
Je te tiens au courant.
Laurence
Parfait !
En effet ça n'est alors pas nécessaire, je n'avais pas compris que tu utilisais l'outil "Éditeur de charte graphique".
La sélection : /cms/inputData/PageModel/bloc-vie/page
suppose que vous avez crée un filtre de page.
Le filtre de page est il bien défini dans le fichier templates/index/filter/default.xml ?
de cette manière :
<filter id="bloc-vie" target="page">
<context type="current-site" lang="current"/>
<tags>
<tag key="BLOC_LEFT_VIE"/>
</tags>
</filter>
Bonjour,
La déclaration de l'étiquette m'a l'air correcte, avez vous redémarré le serveur ?
La mise à jour des fichiers XML nécessite un rédémarrage.
Bonjour,
Il est nécessaire de faire apparaitre le javascript fourni par Google Analytics (ou autre) sur toutes les pages de la charte, pour cela placez le dans la xsl commune commons.xsl, au niveau de la définition de votre template de base (après l'import des js) :
<xsl:template name="template">
<html>
<head>
...
<xsl:call-template name="google-analytics"/>
</head>
<body>
...
</body>
</html>
</xsl:template>
Puis la définition du template :
<xsl:template name="google-analytics">
<xsl:if test="$back-office = 'front' ">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '---']);
_gaq.push(['_trackPageview']);
(function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
</script>
</xsl:if>
</xsl:template>
On rajoute le test sur la variable $back-office, en effet les seules statistiques qui nous intéressent sont celles du site (et non du cms).
Laurence.
Je suis en train de styler les commentaires.
Pour l'affichage des commentaires dans ma charte encodée j'ai ceci :
Yannfilth
le 8 septembre 2010 à 20:08
A la question « Est ce que les gens veulent vraiment plus de « réactivité » dans leurs recherches ? » il me semble qu’il a été répondu que la fonction Instant était désactivable.
L'affichage de base est le suivant :
Commentaire de Périer posté le 20 octobre 2010 à 08:59
A la question « Est ce que les gens veulent vraiment plus de « réactivité » dans leurs recherches ? » il me semble qu’il a été répondu que la fonction Instant était désactivable.
Je souhaiterai redéfinir les clés i18n utilisées dans le plugin cms uniquement, sans avoir à surcharger le template complet dans une xsl dans ma skin.
Comment puis je faire ?
Pages: 1