You are not logged in.
Et... miracle cela fonctionne, alléluhia, merci beaucoup Cédric.
les helper à rajouter
xmlns:dateutils="org.ametys.core.util.DateUtils"
xmlns:javazoneddatetime="java.time.ZonedDateTime"
xmlns:javazoneid="java.time.ZoneId"
extension-element-prefixes="javazoneddatetime javazoneid dateutils">
Merci Cédric,
pour le helper
xmlns:javazoneddatetime="java.time.ZonedDateTime"
Je vais tester ta solution et te tiens au courant.
PS : et merci pour la precision sur l'exexcution d'i18n "apres" xsl c'est ce que j'avais pressenti mais c'est mieux d'en avoir la confirmation
Bonjour à tous,
je souhaite extraire (substring) et tester juste le jour et le mois de l'événement en abrégé selon si les jours et mois de début et de fin sont identique (sans tenir compte des heures).
Exemples :
4 mar. (jours et mois identiques)
2 > 3 fév. (mois idientiques et jours différents)
1 jan. > 2 fév. (jours et mois différents)
Mais quand l'événement commence le 29/02 à 00h00 et finit le 29/02 à 03h00 les dates (jj/mm) côté serveur sont en UTC et donc différentes car je récupèrerais toujours le 28/02 comme jour et mois (à 23h00 en hiver et 22h00 en été) de début et le 29/02 comme jour et mois de fin (à 02h00 en hiver et 01h00 en été) :-(
La fonction sameDate() semble identique à sameDateTime() et même si elle ignorerait l'heure, vu qu'on est en UTC et pas en CET côté serveur on aurait toujours "un jour de décalage à minuit" :-(
Le plus énervant c'est que l'affichage final avec <i18n:date/> fonctionne bien pour l'affichage "côté client" mais impossible de convertir en locale côté serveur pour en faire une variable à tester.
Le problème est-il solvable en xsl, car malgré mes nombreux essais, aucune fonction de CONVERSION DE LA DATE d'UTC en CET ne semble fonctionner correctement ?
<!-- STAMP : affichage des dates abrégées dans les vues lien des remontées de contenu actus-->
<xsl:template name="stampdates">
<xsl:param name="startDate"/>
<xsl:param name="endDate"/>
<!-- CONVERSION la date UTC en date locale-->
<!-- <xsl:variable name="localStartDate" select="javazoneddatetime:toLocalDate($startDate)"/> -->
<!-- <xsl:variable name="localStartDate" select="javazoneddatetime:toLocalDateTime(dateutils:parseZonedDateTime($startDate, xs:dayTimeDuration('+01:00')))"/> -->
<!-- <xsl:variable name="localStartDate" select="javazoneddatetime:toLocalDateTime(dateutils:parseZonedDateTime($startDate, $CET))"/> -->
<!-- <xsl:variable name="localStartDate" select="xs:adjust-dateTime-to-timezone(dateTime($startDate), xs:dayTimeDuration('+01:00'))"/> -->
<!-- <xsl:variable name="localStartDate" select="$startDate"/> -->
<!-- <xsl:variable name="localStartDate"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="yyyy-MM-dd"><xsl:value-of select="$startDate"/></i18n:date></xsl:variable> -->
<!-- <xsl:variable name="localStartDate">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
</xsl:call-template>
</xsl:variable> -->
<xsl:variable name="localStartDate"><i18n:date pattern="yyyy-MM-dd" src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" locale="fr_FR"><xsl:value-of select="$startDate"/></i18n:date></xsl:variable>
<!-- <xsl:variable name="localEndDate" select="javazoneddatetime:toLocalDate($endDate)"/> -->
<!-- <xsl:variable name="localEndDate" select="javazoneddatetime:toLocalDateTime(dateutils:parseZonedDateTime($endDate, xs:dayTimeDuration('++01:00')))"/> -->
<!-- <xsl:variable name="localEndDate" select="javazoneddatetime:toLocalDateTime(dateutils:parseZonedDateTime($endDate, $CET))"/> -->
<!-- <xsl:variable name="localEndDate" select="xs:adjust-dateTime-to-timezone(dateTime($endDate), xs:dayTimeDuration('+01:00'))"/> -->
<!-- <xsl:variable name="localEndDate" select="xs:adjust-dateTime-to-timezone(dateTime($endDate), xs:dayTimeDuration('+PT01H'))"/> -->
<!-- <xsl:variable name="localEndDate" select="$endDate"/> -->
<!-- <xsl:variable name="localEndDate"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="yyyy-MM-dd"><xsl:value-of select="$endDate"/></i18n:date></xsl:variable> -->
<!-- <xsl:variable name="localEndDate">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$endDate"/>
</xsl:call-template>
</xsl:variable> -->
<xsl:variable name="localEndDate"><i18n:date pattern="yyyy-MM-dd" src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" locale="fr_FR"><xsl:value-of select="$endDate"/></i18n:date></xsl:variable>
<!-- On extrait et variabilise les jours et les mois des dates de début et de fin pour ignorer les heures lors des comparaisons -->
<!-- <xsl:variable name="startday"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="dd" value="$startDate"/></xsl:variable>
<xsl:variable name="startmonth"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="MM"><xsl:value-of select="$startDate"/></i18n:date></xsl:variable>
<xsl:variable name="endday"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="dd" value="$endDate"/></xsl:variable>
<xsl:variable name="endmonth"><i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" pattern="MMM" value="$endDate"/></xsl:variable> -->
<!-- <xsl:variable name="startday"><xsl:value-of select="substring($localStartDate,9,2)" /></xsl:variable> -->
<!-- <xsl:variable name="startday">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
<xsl:with-param name="rendu" select="'dd'"/>
</xsl:call-template>
</xsl:variable> -->
<xsl:variable name="startday"><xsl:value-of select="substring($localStartDate,9,2)" /></xsl:variable>
<xsl:variable name="startmonth"><xsl:value-of select="substring($localStartDate,6,2)" /></xsl:variable>
<xsl:variable name="endday"><xsl:value-of select="substring($localEndDate,9,2)" /></xsl:variable>
<xsl:variable name="endmonth"><xsl:value-of select="substring($localEndDate,6,2)" /></xsl:variable>
<!-- Afffichage conditionné : JJ1 et MMM1 | JJ1 > JJ2 et MMM1 | JJ1 et MMM1 > JJ2 et MMM2 -->
<div class="stamp-date">
<!-- pour visu VALEURS DES VARIABLES : début-->
D1: <xsl:value-of select="$startDate"/><br/>
LocD1: <xsl:value-of select="$localStartDate"/><br/>
D2: <xsl:value-of select="$endDate"/><br/>
LocD2: <xsl:value-of select="$localEndDate"/><br/>
-------<br/>
J1: <xsl:value-of select="$startday"/><br/>
M1: <xsl:value-of select="$startmonth"/><br/>
J2: <xsl:value-of select="$endday"/><br/>
M2: <xsl:value-of select="$endmonth"/><br/>
<!-- pour visu VALEURS DES VARIABLES : fin-->
<xsl:choose>
<!--Uniquement date de début-->
<xsl:when test="$startDate and not($endDate)">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
</xsl:call-template>
<!-- cas1 -->
</xsl:when>
<!--Uniquement date de fin-->
<xsl:when test="$endDate and not($startDate)">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$endDate"/>
</xsl:call-template>
<!-- cas2 -->
</xsl:when>
<xsl:when test="$startmonth = $endmonth">
<xsl:choose>
<!--"jour début" = "jour de fin" et "mois debut" = "mois de fin" (pour ignorer les heures)-->
<!-- <xsl:when test="datetime:sameDate($localStartDate, $localEndDate)"> -->
<xsl:when test="$startday = $endday">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
</xsl:call-template>
<!-- cas3 -->
</xsl:when>
<!-- "jour début" diff "jour de fin" et "mois debut" = "mois de fin" (jour différent mais mois identique)-->
<xsl:otherwise>
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
<xsl:with-param name="rendu" select="'dd'"/>
</xsl:call-template>
<xsl:text>pouet > </xsl:text>
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$endDate"/>
<xsl:with-param name="rendu" select="'dd'"/>
</xsl:call-template>
<br />
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
<xsl:with-param name="rendu" select="'MMM'"/>
</xsl:call-template>
<!-- cas4 -->
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<!-- "mois debut" diff "mois de fin" (jour identiques/différents et mois différents)-->
<xsl:when test="$startmonth != $endmonth">
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
<xsl:with-param name="rendu" select="'dd'"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$startDate"/>
<xsl:with-param name="rendu" select="'MMM'"/>
</xsl:call-template>
<br /><xsl:text> > </xsl:text>
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$endDate"/>
<xsl:with-param name="rendu" select="'dd'"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:call-template name="news-stamp-date-pattern">
<xsl:with-param name="date" select="$endDate"/>
<xsl:with-param name="rendu" select="'MMM'"/>
</xsl:call-template>
<!-- cas5 -->
</xsl:when>
</xsl:choose>
</div>
</xsl:template>
Bonjour,
bien vu, ils sont effectivement orphelin... merci pour le tuyau.
Voir la capture au lien ci-dessous :
https://www.univ-pau.fr/_resource/Images/Img_mail/capt-pbm-cache-saisie.jpg
Bonjour,
dans le moteur de recherche (ELP ODF) je n'arrive pas à savoir quel cache vider pour forcer le raffraichissement des éléments qui sont proposés au moment de la frappe.
En effet, certains ELP ont été supprimés mais apparaissent toujours en suggestions de recherche.
Et forcément ca renvoi sur des pages 404.
Problème résolu en redessinant le schema et subdivisant le niveau 0.
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 :