You are not logged in.
Effectivement je sais pas pourquoi les liens ne fonctionnent pas... La page est "Définition de la charte graphique" dans le manuel d'intégration graphique
Bonjour,
La charte Ametys Intranet n'est pas un modèle de charte, elle ne peut donc pas être utilisée avec l'outil Atelier charte graphique.
En revanche Ametys supporte l'héritage de charte. Votre charte peut donc étendre la charte "intranet" pour y ajouter seulement ces propres personnalisation (logo, couleur, ...), plutôt que de la dupliquer. Je vous renvoie sur notre documentation :
Pour modifier vos fichiers SCSS / XSL / images / ... vous pouvez passer par le back-office en utilisant l'outil "éditeur de charte graphique"
Bonjour,
Pour pouvoir afficher un champ supplémentaire dans les résultats de la recherche, il faut déjà ajouter ce champ à la vue (metadata-set) du modèle "index".
Ensuite vous pourrez accéder et résoudre son url de la façon suivante (exemple simplifié avec un simple lien)
<xsl:template name="hit-file">
<xsl:variable name="id" select="content/@id"/>
<xsl:variable name="file" select="content/apprenticeshipCalendar"/>
<xsl:if test="$file">
<a href="{resolver:resolve($file/@type, concat($file/@path, '?contentId=', $id), true())}"><xsl:value-of select="$file/@filename"/></a>
</xsl:if>
</xsl:template>
La namespace associé au "resolver" est xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent"
Bonjour,
Effectivement la date de création n'est pas saxée. Vous pouvez ouvrir une demande d'évolution sur notre JIRA pour qu'elle le soit.
Attention cependant, cette date correspondra à la date d'upload du fichier dans l'explorateur de ressources.
Bonjour,
La fonction resolver:resolveCroppedImage est réservé aux objets Ametys. Le service "Répertoire serveur" affichant des fichiers/dossiers stockés directement sur un serveur (et non stockés dans Ametys), l'utilisation de cette fonction n'est pas possible.
Bonjour,
Le champ "Geolocalisation" fait parti du modèle de données mais n'est pas affiché par défaut.
Vous pouvez surcharger le rendu par défaut pour ajouter l'affichage de ce champ avec une carte Google Map ou Leaflet par exemple.
Un exemple ici :
Code source : (lignes 90-113)
Bonjour,
Ce sont des versions récentes.
Vous pouvez ouvrir une issue sur notre JIRA , cela semble être un bug de synchronisation.
Bonjour,
Dans ce cas cela semble un bug dans la synchro. Quelle version d'Ametys et du plugin User Directory avez-vous ?
Bonjour,
Non c'est dans la définition du type de contenu "org.ametys.plugin.agents.Content.uduser" que la métadonnée "phone" doit être multiple.
Ensuite il faut vérifier si la synchro a bien stockée 2 valeurs et non une seule. Pour cela il faut ouvrir en édition une fiche agent qui devrait avoir 2 numéros de téléphone, et regarder si le champ "phone" porte bien ces 2 valeurs.
Si oui, le problème se situe au niveau de l'affichage. Si non, le problème se situe au niveau de la synchro.
Bonjour,
Le champs "telephoneNumber" et celui qui porte les affectations sont-ils bien multivalués (multiple="true") au niveau de la définition du type de contenu dans Ametys ?
Si oui, lors d'une synchro, les valeurs multiples sont normalement bien récupérées et stockées de manière multiple au niveau du contenu. Est-ce bien le cas ?
Si oui, le problème se situe uniquement au niveau de l'affichage, si non c'est un problème de synchro.
Laurence
J'ai testé à nouveau sur une version 3.8, cela fonctionne pour moi.
Pour le rendu d'un fil RSS, Ametys va rechercher dans l'ordre les fichiers suivants :
- skin://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- skin://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- context://WEB-INF/param/content-types/web/stylesheets/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- context://WEB-INF/param/content-types/web/stylesheets/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- plugin:web://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- plugin:web://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- plugin:web://stylesheets/default-content2rss.xsl
- plugin:cms://stylesheets/default-content2rss.xsl
L'algorithme s'arrête au 1er fichier existant, sinon il passe au suivant.
J'ai ajouté le fichier suivant dans ma charte skins\[SKIN]\stylesheets\content\org.ametys.plugins.news.Content.news\org.ametys.plugins.news.Content.news2rss.xsl
Le fichier contient :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent"
exclude-result-prefixes="ametys resolver">
<xsl:import href="plugin:web://stylesheets/default-content2rss.xsl"/>
<xsl:template match="content">
<item>
<title>TEST OVERRIDE <xsl:value-of select="metadata/title"/></title>
<xsl:if test="//pages/page">
<link><xsl:value-of select="resolver:resolve('page', //pages/page/@id, false(), true())"/></link>
</xsl:if>
<language><xsl:value-of select="@language"/></language>
<guid isPermaLink="false"><xsl:value-of select="$contextPath"/>/_wrapped-content/<xsl:value-of select="@name"/>.html</guid>
<pubDate><i18n:date pattern="EEE, d MMM yyyy HH:mm:ss Z" src-pattern="yyyy-MM-dd'T'HH:mm:ss" locale="en_EN"><xsl:value-of select="@lastValidatedAt"/></i18n:date></pubDate>
<rawDate><xsl:value-of select="@lastValidatedAt"/></rawDate>
<description>
<xsl:if test="metadata/illustration/image">
<img src="<xsl:value-of select="resolver:resolveBoundedImage(metadata/illustration/image/@type, metadata/illustration/image/@path, 250, 250, false(), true())"/>" alt="<xsl:value-of select="metadata/illustration/alt-text"/>" style="float: left; margin-right: 5px" />
</xsl:if>
<xsl:apply-templates select="metadata/abstract/node()" mode="escape"/>
</description>
</item>
</xsl:template>
</xsl:stylesheet>
Mon fils RSS sur mes actualités contient bien la modification (TEST OVERRIDE devant le titre).
Pouvez-vous vérifier :
Bonjour,
Le problème je pense est que vous modifiez le modèle de charte (cms/models/[nom-de-mon-modele]/***) au lieu de la charte (cms/skins/[NOM_SKIN]/ ***).
Qu'est-ce que vous réappliquez le modèle à votre charte après votre modifications ?
Si non c'est normal que vous ne voyez pas vos modifications. Il faut soit réappliquer le modèle, soit travailler directement sur les fichiers de la charte (cms/skins/[NOM_SKIN]/ ***).
En v3, pour définir une nouvelle énumération, il faut l'ajouter au répertoire WEB-INF\param\odf et y faire référence dans le fichier WEB-INF/param/odf-enumeration.xml
Par exemple : <item key="DOMAINE_ACTIVITE" location="context://WEB-INF/param/odf/domaine_activite.xml"/>
Pour l'ajouter comme champ d'une formation, il faut ensuite comme le dis Mathieu faire une surcharge en ajoutant le nouveau champ faisant référence à la nouvelle énumération.
<cms:metadata name="domain-activite" type="string" multiple="true">
<label i18n="false">Domaines d'activités</label>
<description i18n="false">Domaines d'activités</description>
<enumeration>
<custom-enumerator class="org.ametys.odf.enumeration.StaticODFEnumerator">
<constant>DOMAIN_ACTIVITE</constant>
</custom-enumerator>
</enumeration>
</cms:metadata>
En v4, les énumérations statiques de ce type sont remplacées par des tables de référence. Les tables de référence sont des types de contenus un peu particulier (workflow simplifié et édition dans un tableau).
Pour définir un nouveau référentiel ODF il faut donc ajouter à l'application un nouveau type de contenu de type table de référence.
Pour exemple, les tables de référence par défaut dans ODF v4, sont définies ici
Ensuite comme en v3, il faut surcharger le type de contenu "Formation" pour y ajouter ce champ, à la différence que le champ n'est plus de type "string" mais de type "content"
Par exemple:
<cms:metadata name="domain-activite" type="content" contentType="content-types.DomainActivite" multiple="true">
<label i18n="false">Domaines d'activités</label>
<description i18n="false">Domaines d'activités</description>
<widget>edition.select-referencetable-content</widget>
</cms:metadata>
Hi,
Yes, you can create as many templates as needed.
The templates brought by the skin are located in the directory "templates" of the skin. You could see that the demo skins contain several templates but most of them are excluded in the file conf\template_assignment.xml because they are templates for internal use (the contributor should not access to theses templates).
You can decide of your own assignment policy in this file. As you could see in demo skins, the template "index" is proposed only for pages whose name is "index" and the template "page" is proposed for all others pages.
Hi,
Yes, you can open your content from the search tool in back-office.
The content (alone) will be displayed in a new tab with the URL : [URL_SERVER_CMS]/_wrapped-content.html?contentId=[CONTENT_ID]
You can use this url directly in your browser.
You can also use the non-wrapped url : [URL_SERVER_CMS]/_content.html?contentId=[CONTENT_ID]
Bonjour,
C'est certainement que votre JVM installée est une JVM 32 bits.
C'est un bug connu chez nous () il faut une JVM 64 bits.
Vous pouvez télécharger une version Java 1.8 64 bits et modifier le fichier start.bat du répertoire d'installation pour faire pointer la variable JAVA_HOME vers cette version.
Par exemple : set JAVA_HOME=D:\Java\1.8.0_121x64
Bonjour,
Que souhaitez-vous faire ? connaitre l'url d'une page en fonction de son identifiant ?
Si c'est le cas, et que vous êtes en v4, vous pouvez faire quelque chose comme :
var page = ametysResolver.resolveById("program://_root?rootId=page://XXXX&programId=programContent://XXX");
print(page.getSitemapName() + "/" + page.getPathInSitemap() + ".html");
Bonjour,
Est-ce qu'il n'y aurai pas un problème de casse de caractères ? Le nom de la métadonnée est "orgUnit", je pense qu'il faut essayer avec <xsl:value-of select="content/orgUnit"/>. C'est le navigateur qui nous trompe dans le résultat du copy-of.
Bonjour,
Quelle version d'Ametys utilisez-vous ?
Pour les versions 3.7 ou inférieures, il n'est pas possible de surcharger le contenu du fil RSS.
A partir de la version 3.8, il est possible de surcharger le RSS par type de contenu :
skins\[SKIN]\stylesheets\content\[ID_TYPE_CONTENU]\[ID_TYPE_CONTENU]2rss.xsl
Par exemple, pour surcharger le fils RSS pour les actualités, il faut écrire la surcharge dans
skins\[SKIN]\stylesheets\content\org.ametys.web.default.Content.news\org.ametys.web.default.Content.news2rss.xsl
Bonjour,
Non pas à ce jour. Vous pouvez ouvrir une demande d'évolution dans notre jira
Bonjour,
Oui c'est juste le nom du fichier XML qui n'est pas correct. Pour une formation c'est WEB-INF/param/content-types/_override/org.ametys.plugins.odf.Content.program.xml (le nom du fichier doit être l'identifiant du type de contenu)
Ceci dit, cela ressemble à un bug, car si la donnée est définie comme multiple, il n'est pas normal de ne pouvoir sélectionner qu'une valeur dans le formulaire... N'hésitez pas à ouvrir une issue dans notre JIRA
Attention sur il faut sélectionner la branche "2.x" pour voir ce qui correspond à votre version. La branche "master" est la branche de développement actuelle, compatible uniquement avec Ametys 4.
Bonjour,
Le rendu graphique d'un contenu et le formulaire de modification sont 2 choses différentes.
Vous pouvez surcharger le rendu sans modifier le DOM en javascript. Dans votre XSL skins/nom_du_skin/stylesheets/content/program/program-main.xsl vous avez accès à tous les templates XSL qui permettent de générer le code HTML, vous pouvez les surcharger comme vous le souhaitez.
La XSL par importée par défaut est celle-ci : Par exemple, pour réorganiser les informations dans les différents onglets, vous devez re-écrire les templates "tabs-xx" dans votre fichier.
Pour l'organisation du formulaire, il n'y a pas de XSL. Le formaulaire est généré à partir d'une vue du type de contenu (cf. .
A la ligne 4006 du fichier vous trouverez la déclaration de la vue "main" de type "edition". C'est cette vue qui est utilisée par défaut pour le formulaire des formations. Elle peut aussi être surchargée.
Bonjour,
Les contenus de l'annuaire sont déjà étiquetables, mais effectivement en sélectionnant les contenus depuis le plan du site, je vois aussi que le bouton est grisé. Vous pouvez ouvrir un bug dans notre jira . C'est certainement du au fait que la page dans lequel le contenu se trouve est une page non modifiable (car créer automatiquement).
Pour contourner le problème, vous pouvez passer par la recherche sur l'annuaire (vous devriez avoir le bouton "Annuaire" dans le ruban Accueil). Depuis la recherche, le bouton "Etiqueter" est bien accessible.
Bonjour,
Ce n'est pas lié à Ametys mais plutôt un problème de charte graphique. Si votre charte graphique utilise la même base que la charte graphique de démo, ce n'est effectivement pas (ou mal ?) géré.
Je pense que c'est faisable avec des ancres: il faudrait que les onglets soient des ancres, et que le clic sur un onglet modifie l'url en rajoutant le nom de l'ancre (#onglet1, #onglet2, ...). Du coup quand on ferait "retour en arrière" on est censé revenir sur l'ancre en question.
Dans la charte de démo, les onglets sont rendus en utilisant jquery ui tab. C'est peut-être déjà possible avec cette librairie. Peut-être qu'il s'agit d'une configuration manquante ou d'une mauvaise utilisation de ce plugin jquery ...
Une autre solution serait d'ouvrir les liens des ELPs dans un nouvel onglet / nouvelle fenêtre (avec target="_blank")
En tout cas, c'est une bonne idée.
Il doit y avoir une erreur dans les logs de l'application, une erreur lors de la récupération des groupes dans votre cas.
Ce sont des groupes SQL ? Ldap ?
En v4, l'outil pour la limitation d'accès, de même que l'affectation des droits, a beaucoup évolué. Il est donc fort probable que l'erreur ne sera pas reproductible.
Il est possible qu'une mise à jour vers la 3.8.2 résout aussi le problème. Tout dépend de l'erreur qui devrait être tracée dans les fichiers logs.