You are not logged in.
Bonjour Laurence,
Merci pour cette précision, je pense que ça serait quand même une bonne évolution, notamment pour les documents "légaux".
Question bonus : si le fichier est sur une serveur CMIS (Nuxeo chez nous) peut-on envisager de récupérer aussi la même valeur (première date de dépôt du fichier) ?
Je me charge d'ouvrir une demande.
@Sarah : ca faisait parti de mes tests mais ça ne donnait pas le résultat souhaité :-(
Bonjour,
je souhaite créé une nouvelle vue du service d'affichage d'un répertoire de l'explorateur de resources : /services/web/pagesexplorer-folder/files-tree-mavue.xsl
Je n'arrive pas à récupérer la "date de création (1er dépot) du fichier dans l'explorateur de ressource" celle qui correspond à la première version de l'historique du fichier (à la limite celle de la première fois qu'il a été mis en ligne conveindrait)
J'ai tenté de récupérer pas mal de valeur différentes comme la valeur de la propriété "created" du noeud rootVersion dont la @versionableUuid = @id du fichier mais sans succès :
[@type = 'versionHistory' and @versionableUuid = @id]/rootVersion/@created
La date qui s'affiche est systématiquement celle du dernier enregistrement du paramétrage du service...
Une astuce ?
Bonjour Bérénice,
ok, le ticket est créé :
Cordialement
Bonjour à tous,
nous venons de passer de d'ODF 4.1.6 à Ametys ODF 4.4.9.
nous avions surchargé org.ametys.plugins.odf.Content.program.xml afin d'y rajouter un champ de stockage du type "fichier explorateur de ressource" pour mettre nos plaquettes de com en téléchargement.
Et nous utilisions donc l’explorateur de ressource pour accéder aux plaquettes stockées dans la partie publique de NUXEO (via connexion CMIS).
<!--Surcharge champ pour Plaquette de Communication-->
<cms:metadata name="comattachment" type="file">
<label i18n="true">application:CONTENT_PROGRAM_PLAQUETTE_COM_FILE_LABEL</label>
<description i18n="true">application:CONTENT_PROGRAM_PLAQUETTE_COM_FILE_DESC</description>
<widget>edition.file</widget>
<widget-params>
<param name="allowSources">external,resource</param>
</widget-params>
</cms:metadata>
J'arrive à sélectionner un fichier mais lorsque j'enregistre la formation j'ai un petit souci... il me vide entièrement tous les contenus de la formation et ne l'affiche plus (forcément, tous les champs obligatoires sont vides)
voici le message d'erreur :
class org.ametys.plugins.explorer.cmis.CMISResource cannot be cast to class org.ametys.plugins.explorer.resources.ModifiableResource (org.ametys.plugins.explorer.cmis.CMISResource and org.ametys.plugins.explorer.resources.ModifiableResource are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @455351c4)
Hide details
java.lang.ClassCastException: class org.ametys.plugins.explorer.cmis.CMISResource cannot be cast to class org.ametys.plugins.explorer.resources.ModifiableResource (org.ametys.plugins.explorer.cmis.CMISResource and org.ametys.plugins.explorer.resources.ModifiableResource are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @455351c4) at org.ametys.cms.data.ExplorerFile._getResource(ExplorerFile.java:116) at org.ametys.cms.data.ExplorerFile.getMimeType(ExplorerFile.java:95) at org.ametys.cms.data.type.ResourceElementTypeHelper.singleFileToSAX(ResourceElementTypeHelper.java:246) at org.ametys.cms.data.type.AbstractFileElementType._singleExplorerFileToSAX(AbstractFileElementType.java:351) at org.ametys.cms.data.type.AbstractFileElementType._valueToSAX(AbstractFileElementType.java:305) at org.ametys.core.model.type.AbstractElementType._valueToSAX(AbstractElementType.java:265) at org.ametys.core.model.type.AbstractElementType.valueToSAX(AbstractElementType.java:235) at org.ametys.plugins.repository.data.holder.impl.DataHolderHelper.dataToSAX(DataHolderHelper.java:421) at org.ametys.plugins.repository.data.holder.ModelAwareDataHolder.dataToSAX(ModelAwareDataHolder.java:399) at org.ametys.cms.content.ContentSaxer.saxAttributes(ContentSaxer.java:340) at org.ametys.cms.content.ContentSaxer.saxBody(ContentSaxer.java:168) at org.ametys.cms.content.ContentSaxer.saxContent(ContentSaxer.java:143) at org.ametys.cms.content.ContentGenerator._saxContent(ContentGenerator.java:121) at org.ametys.cms.content.ContentGenerator._generateContent(ContentGenerator.java:86) at org.ametys.cms.content.ContentGenerator.generate(ContentGenerator.java:70) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:782) at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:414) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:101) at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:321) at org.apache.cocoon.sitemap.ContentAggregator.generate(ContentAggregator.java:125) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:782) at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:414) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:101) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:181) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:140) at org.ametys.web.repository.PageGenerator._saxSource(PageGenerator.java:722) at org.ametys.web.repository.PageGenerator._saxZoneItem(PageGenerator.java:519) at org.ametys.web.repository.PageGenerator._saxZoneItems(PageGenerator.java:389) at org.ametys.web.repository.PageGenerator._saxZone(PageGenerator.java:316) at org.ametys.web.repository.PageGenerator.generate(PageGenerator.java:237) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:782) at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:414) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:101) at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:321) at org.apache.cocoon.sitemap.ContentAggregator.generate(ContentAggregator.java:125) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.Cocoon.process(Cocoon.java:699) at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:571) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834)
Dans la formation, si je créé un lien de type fichier partagé pointant vers un fichier de nuxeo (CMIS) dans un contenu de texte riche, je ne rencontre aucun problème.
Je me dis donc que ça vient forcément de ma surcharge et que ce type de widget ne convient plus ?
ou bien que je dois stocker la cible différemment ? ou avec des infos en plus ?
Ou selon vous le problème est ailleurs ? (J'ai regardé les issues.ametys.org mais je n'ai pas trouvé trace d'un bug identique)
En espérant que vous puissiez nous aiguiller.
bonne journée
Bonjour à tous,
lorsqu'on affiche le schéma de l'odf, dans la partie basse (à la base du schéma) il ne pointe que sur un type de diplome celui qui possèfe le code "AC" (=capacité en droit)
Or le schéma indique
"Baccalauréat - Capacité en médecine - Capacité en droit - DAEU - Diplôme équivalent"
y-a-t-il un moyen de saisir plusieurs code de type de diplôme pour la variable
<xsl:variable name="cm" select="odf:getEntryId('odf-enumeration.Degree', 'AC')"/><!-- Capacité en droit -->
afin de régler ce problème ?
(dans la xsl (ligne47) )
ok. merci :-)
Bonjour Raphaël,
Au niveau des tables de références (ODF), peux-tu me préciser quels sont les types de données autorisés en plus de "string" ou "geocode" ?
J'ai testé d'y associer une image via un <cms:metadata name="xxx" type="file"> mais je pense que ça n'en fait pas partie.
Bien vu ;-)
Bonsoir,
je viens de trouver en fait sur vos sources le patch suivant n'est pas appliqué :ligne 33 de :
<i18n:date pattern="EEE, d MMM yyyy HH:mm:ss Z" src-pattern="yyyy-MM-dd'T'HH:mm:ss" locale="en_EN">
en
<i18n:date pattern="EEE, d MMM yyyy HH:mm:ss Z" src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" locale="fr_FR">
Pour la variable locale je ne suis pas sur de moi mais de mon côté je vais la laisser en fr_FR.
Bonne soirée
Bonjour,
ok, merci Raphaël, j'ai fait quelques modif qui fonctionne pas trop mal. on verra sur le long terme.
Bonjour à tous,
avant de me lancer, est-ce que, par hasard, quelqu'un aurait déjà travaillé sur l'équivalent pour Matomo du suivi des liens google dans les newsletter (ga-newsletter.xsl) ?
Très bonne année à tous
JB
Bonjour à tous,
Je souhaite ajouter un nouveau champ d'énumération "personnalisé" (libellé+code) dans l'interface de saisie ODF.
Du coup en V4, et vous sentez venir ma question, comment fait-on pour "ajouter" une nouvelle table parmi les tables de référence ?
J'ai bien une idée mais avant de tester je préfère demander ;-)
Bonne journée
JB
Merci :-)
Bonjour à tous,
dès la rentrée 2021, les DUT laissent leur place au Bachelor Universitaire de Technologie (BUT) qui se déroulent sur 3 ans.
En gros on officialise ce qui se faisait déjà depuis plusieurs année 2 ans de DUT + 1 année de licence pro mais bon faut quand même y passer.
Bref nous avons donc besoin de mettre à disposition ce nouveau "Type de diplôme" dans l'ODF.
Comme c'est national, est-ce qu'il y a des recommandations particulières quant à la valeur à donner à cette nouvelle entrée parmi celles déjà en place pour le champ Type de diplôme (APPLICATION_ODF_DEGREE) ou on se contente de la rajouter à la suite ?
Tant au niveau du fichier /param/odf/degree.xml ou du /param/odf/apogee/code/degrees_conversion.xml
PS : on basculera nos DUT manuellement en BUT au fur et à mesure des mises à jour de contenus.
Bonjour Raphaël,
Je retombe sur ce post où je ne t'avais pas remercié mais où je me rappelle avoir finalement réussi.
Donc... merci
Bonjour,
Comment fait-on pour réutiliser une des valeurs saisies par l'utilisateur au sein du message de l'accusé de réception. Il est dit dans l'aide d'utiliser le joker ${form} mais malgré plusieurs tentatives le joker n'est pas interprété...
Par exemple si j'utilise evenement (qui correspond à l'identifiant du champ d'une liste déroulante) le résultat dans le mail sera le suivant :
Nous accusons réception de votre inscription à la ${evenement} sur notre site web.
Votre demande va être traitée dans les meilleurs délais.
Pouvez-vous me préciser la syntaxe à utiliser ?
Bonjour,
Lors de l'insertion de contenus par le biais de la fonctionnalité "Dernières publications".
Comment puis-je (en 3.8) limiter/contraindre le "Niveau de titre"(2) proposé en fonction de la "Vue"(1) sélectionnée ?
Je n'arrive pas à déterminer comment et où faire ce paramétrage.
Cordialement
JB
Bonjour,
C'est sûrement ce que nous devrons faire une fois la V4 en place.
À voir pour la gestion du cache. Je croisais les doigts pour que quelqu'un ait déjà travaillé sur le sujet, theses.fr étant un portail utilisé par beaucoup d'établissements.
Cdt
JB
Bonjour,
est-ce que quelqu'un s'est déjà frotté à l'intégration d'une liste de thèses issues du moteur de recherche du portail theses.fr .
L'API fournit plusieurs format (XML, JSON, ATOM) mais le seul nativement utilisable sur Ametys est le flux Atom par le biais du service d'intégration de "Flux RSS ou Atom".
Cependant le flux Atom est limité. Honnêtement les infos affichées sont pas pertinentes...
Rôles de la méthionine sur le métabolisme hépatique de la truite arc-en-ciel (Oncorhynchus mykiss) : focus sur les mitochondries by Sarah Séité
1 janv. 2019 01:00 - theses.fr > Recherche > la chaîne de caractères "ecoleDoctorales:sciences exactes et applications" dans toutes les thèses, répondants au(x) critère(s) suivant(s) : dates de soutenance : de "avant 2001" à "après 2011" + école(s) doctorale(s) : "École doctorale sciences exactes et leurs applications (Pau, Pyrénées Atlantiques > réponses triées par dates de soutenance décroissantes
Auteur : Sarah SéitéSolar hot water production and thermal energy storage using phase change materials (PCMs) for solar air-conditioning applications in Morocco by Tarik Bouhal
1 janv. 2019 01:00 - theses.fr > Recherche > la chaîne de caractères "ecoleDoctorales:sciences exactes et applications" dans toutes les thèses, répondants au(x) critère(s) suivant(s) : dates de soutenance : de "avant 2001" à "après 2011" + école(s) doctorale(s) : "École doctorale sciences exactes et leurs applications (Pau, Pyrénées Atlantiques > réponses triées par dates de soutenance décroissantes
Auteur : Tarik BouhalModélisation et simulation d’un système de rafraîchissement solaire basé sur la machine à absorption couplée aux chauffe-eaux solaires by Younes Agrouaz
1 janv. 2019 01:00 - theses.fr > Recherche > la chaîne de caractères "ecoleDoctorales:sciences exactes et applications" dans toutes les thèses, répondants au(x) critère(s) suivant(s) : dates de soutenance : de "avant 2001" à "après 2011" + école(s) doctorale(s) : "École doctorale sciences exactes et leurs applications (Pau, Pyrénées Atlantiques > réponses triées par dates de soutenance décroissantes
Auteur : Younes Agrouaz
Je cherche donc à savoir si quelqu'un aurait déjà travaillé sur l'intégration du flux XML voire JSON produit par le moteur de recherche du site theses.fr afin de ne pas avoir à réinventer la roue.
Merci d'avance
JB
Documentation :
Merci beaucoup cela fonctionne !!! (y)
Bonjour,
cela fonctionne presque dans l'ODF...
L'url est bonne mais le fichier final est inexistant. il cherche "thumbnail_0x0.png". Comme il n'existe pas je souhaiterais le remplacer par "page1.png" dans l'url générée.
Savez-vous comment effectuer un simple remplacement de texte dans une URL ?
J'ai tenté un replace() mais sans succès.
Je tente un translate() :
<img class="img-responsive" src="{translate(resolver:resolveImage(concat($comattachnode/@type, '-flipbook'), $comattachnode/@path,0,0), 'thumbnail_0x0.png' , 'page1.png')}"/>
Le nom de fichier est bien remplacé mais il me modifie entièrement l'url et met un point à la fin:
src="/preview/www/_plugins/flipbook/www/resources//ODF/plaquette/licence/UFR%2520Langues/licence-allemand-u-bordeaux-montaigne.pdf/pages/thumbnail_0x0.png"
devient
src="/revnew/www/ggn.s/fgn1ook/www/resogrces//ODF/gpqgeppe/epsper/epsper-ecogone-agepn.edf/pes/page1.png."
au lieu de :
src="/preview/www/_plugins/flipbook/www/resources//ODF/plaquette/licence/UFR%2520Langues/licence-allemand-u-bordeaux-montaigne.pdf/pages/page1.png"
Bonjour Raphaël,
en fait je me trouve au niveau du template de page dans le head du html.
Peut-être que vous savez déjà comment résoudre l'url de l'image du premier contenu pour la faire apparaitre comme meta "og:image" à ce niveau là ?
Le mieux que j'ai pu obtenir c'est d'arriver à sortir l'id de la resource mais pas son url au sein du site.
Ci-dessous un extrait de pas mal de mes improbables tentatives (en commentaires) ;-) :
{code}
<xsl:param name="image" select="/cms/page/pageContents/zone[@name = 'default']/zoneItem[information/type = 'CONTENT'][1]/html/head/meta[@name='illustration/image;path']"/>
<meta property="og:image">
<xsl:attribute name="content">
<xsl:choose>
<xsl:when test="$image">
<xsl:value-of select="resolver:resolveBoundedImage($image/@type, $image/@content, 640, 0)" />
<!--xsl:value-of select="concat(ametys:absoluteSiteUriPrefix(),resolver:resolveBoundedImage($image/@type, $image/@content, 640, 0))" /-->
<!--xsl:value-of select="/cms/page/pageContents/zone[@name = 'default']/zoneItem[1]/html/head/meta[@name='illustration/image;path']/@content" /-->
</xsl:when>
</xsl:choose>
</xsl:attribute>
</meta>
{code}
Bonjour,
Je reviens sur cette problématique.
Quelqu'un sait-il comment obtenir l'url de l'illustration/image du premier contenu de la page lorsqu'on se situe dans le head ?
Jean-Baptiste
Merci Laurence, j'avais effectivement la version 64bits. Ne restait qu'à faire pointer la variable sur le bon fichier.
Bonjour,
je voulais tester en local sur PC Windows 10 la version demo (.exe) d'Ametys.
L'installation se passe sans problème. Java est bien installé. La fenêtre de commande s'ouvre jusqu'au démarrage Catalina.
La consultation du Front se passe sans problème.
Le lancement de localhost:8080/cms fait planter java.
Quelqu'un a une idée de comment corriger le problème ?
Tout a fait :-)