Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 Re: Paramétrage et intégration » "Variabiliser" le mois et le jour d'une date locale pour les tester » 11/03/2024 13:14:52

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

#2 Re: Paramétrage et intégration » "Variabiliser" le mois et le jour d'une date locale pour les tester » 11/03/2024 12:52:44

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

#3 Paramétrage et intégration » "Variabiliser" le mois et le jour d'une date locale pour les tester » 11/03/2024 12:09:46

jbabadie
Replies: 3

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 &gt;&#160;</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>&#160;</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> &gt;&#160;</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>&#160;</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>

#4 Re: Offre de formation : Ametys ODF » Raffraichissement des suggestions du moteur de recherche » 29/09/2023 09:32:41

Bonjour,

bien vu, ils sont effectivement orphelin... merci pour le tuyau.

#5 Re: Offre de formation : Ametys ODF » Raffraichissement des suggestions du moteur de recherche » 21/09/2023 12:44:17

Voir la capture au lien ci-dessous :

https://www.univ-pau.fr/_resource/Images/Img_mail/capt-pbm-cache-saisie.jpg

#6 Offre de formation : Ametys ODF » Raffraichissement des suggestions du moteur de recherche » 21/09/2023 12:32:45

jbabadie
Replies: 3

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.

#7 Re: Offre de formation : Ametys ODF » Schéma ODF : type de diplomes multiple » 26/05/2023 14:49:16

Problème résolu en redessinant le schema et subdivisant le niveau 0.

#8 Re: Paramétrage et intégration » Service explorer folder : recupérer la date de création du fichier » 24/01/2023 13:24:41

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é :-(

#9 Paramétrage et intégration » Service explorer folder : recupérer la date de création du fichier » 24/10/2022 17:16:50

jbabadie
Replies: 4

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 ?

#11 Offre de formation : Ametys ODF » SURCHARGE Program ODF et fichier explorateur vers CMIS » 31/08/2022 15:44:44

jbabadie
Replies: 2

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

#12 Offre de formation : Ametys ODF » Schéma ODF : type de diplomes multiple » 31/08/2022 12:11:31

jbabadie
Replies: 1

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

#14 Re: Offre de formation : Ametys ODF » Ajout d'un champ nouveau champ d'énumération » 15/03/2022 17:06:51

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.

#15 Re: Paramétrage et intégration » [résolu] Customisation du flux RSS » 01/03/2022 09:54:36

Bien vu ;-)

APitrou wrote:

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

#16 Re: Paramétrage et intégration » Plugin newsletter : suivi newsletter Matomo (ex-piwik) » 01/03/2022 09:52:13

Bonjour,

ok, merci Raphaël, j'ai fait quelques modif qui fonctionne pas trop mal. on verra sur le long terme.

#17 Paramétrage et intégration » Plugin newsletter : suivi newsletter Matomo (ex-piwik) » 10/01/2022 17:45:39

jbabadie
Replies: 2

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

#18 Offre de formation : Ametys ODF » Ajout d'un champ nouveau champ d'énumération » 19/07/2021 10:52:42

jbabadie
Replies: 4

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

#20 Offre de formation : Ametys ODF » Arrivée des BUT dès la rentrée 2021 » 01/12/2020 15:41:02

jbabadie
Replies: 2

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.

#21 Re: Paramétrage et intégration » récupérer l'image d'un contenu » 01/10/2020 14:27:20

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

#22 Utilisation » Formulaire : valeur de champ dans accusé de réception » 19/02/2020 15:52:52

jbabadie
Replies: 1

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 ?

#23 Paramétrage et intégration » Paramétrer un niveau de titre en fonction d'une vue de service » 03/09/2019 11:09:44

jbabadie
Replies: 1

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

#24 Re: Paramétrage et intégration » Intégration d'une liste de thèses en provenance du site theses.fr » 03/09/2019 11:00:38

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

#25 Paramétrage et intégration » Intégration d'une liste de thèses en provenance du site theses.fr » 03/07/2019 15:28:09

jbabadie
Replies: 2

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 Bouhal

Modé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 :

Board footer

Powered by FluxBB