Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 Administration » Gestion du cache dans le plugin messaging-connector » 14/03/2018 14:52:53

Laurence Perier
Replies: 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 ?

#2 Re: Utilisation » Modifier la langue d'une page et d'un contenu » 06/07/2016 13:58:13

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']

#3 Re: Utilisation » ODF : export CDM-fr global » 19/10/2015 18:20:14

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 :

#4 Re: Paramétrage et intégration » Tester si une page est un élément d'une rubrique » 07/05/2014 15:27:12

En effet ça va fonctionner... jusqu'à ce qu'un contributeur change le titre de la page  wink

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 !

#5 Re: Paramétrage et intégration » Tester si une page est un élément d'une rubrique » 07/05/2014 14:03:12

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...

#6 Re: Utilisation » Langue de référencement » 27/06/2012 12:04:31

J'ajoute qu'il faut vérifier dans Google webmaster tools que le domaine soit bien associé à la cible France.

#7 Re: Utilisation » Langue de référencement » 27/06/2012 10:45:15

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]

#8 Re: Utilisation » Langue de référencement » 20/06/2012 15:02:59

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

#9 Re: Utilisation » Modifier contenu » 11/04/2012 17:11:44

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.

#10 Paramétrage et intégration » Formulaire CMS et pages à accès restreint » 27/03/2012 09:22:57

Laurence Perier
Replies: 1

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

#11 Re: Paramétrage et intégration » Problème de mise en page et perte de contenu » 19/03/2012 16:45:07

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 wink

#12 Re: Paramétrage et intégration » liens absolue dans xsl » 29/02/2012 19:28:52

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>

#13 Re: Utilisation » extraction CDM-fr » 17/02/2012 15:43:29

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

#14 Re: Paramétrage et intégration » Création d'une étiquette en page d'accueil » 05/01/2012 18:22:10

smile Parfait !

En effet ça n'est alors pas nécessaire, je n'avais pas compris que tu utilisais l'outil "Éditeur de charte graphique".

#15 Re: Paramétrage et intégration » Création d'une étiquette en page d'accueil » 05/01/2012 16:20:15

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>

#16 Re: Paramétrage et intégration » Création d'une étiquette en page d'accueil » 05/01/2012 11:15:09

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.

#17 Re: Paramétrage et intégration » Statistiques » 03/12/2010 12:15:36

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.

#18 Paramétrage et intégration » Surcharge de clés i18n » 20/10/2010 10:41:51

Laurence Perier
Replies: 9

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 ?

Board footer

Powered by FluxBB