Migration graphique 4.1 vers 4.2


  1. Chargement des fichiers SCSS
  2. Nouvelle variable XSL
  3. SitemapInputData
  4. Refonte du service d'inscription
  5. Refonte des commentaires
  6. Date i18n
  7. SASS : fonction skinUrl
  8. Service "Mot de passe"
  9. Service Remontée de contenus
  10. Service Remontée de pages
  11. Service iFrame
  12. Ancien service de recherche
  13. Plugins

Chargement des fichiers SCSS

Les chargements de fichiers SCSS se font maintenant obligatoirement avec l'url en .css.

Dans vos chartes graphiques, remplacez les liens du type :

<link rel="stylesheet" href="{ametys:skinURL('css/styles.scss')}"/>     

par

<link rel="stylesheet" href="{ametys:skinURL('css/styles.css')}"/>     

Nouvelle variable XSL

Une nouvelle variable XSL $zone est disponible. Elle porte le nom de la zone dans laquelle on est. Elle n'est donc valuée que dans les XSL de rendus d'un service ou d'un contenu.

En dehors d'une zone, cette variable vaut "default".

SitemapInputData

Il est possible de configurer le SitemapInputData (pour la construction des menus, fil d'ariane, ...) en ajoutant le fichier de configuration skins/[SKIN]/conf/sitemap.xml dans votre charte graphique.

Ce fichier permet de surcharger les 2 options suivantes :

  • initial-depth : profondeur max depuis la racine du plan du site. 2 par defaut
  • descendant-depth : profondeur max sous la page courante. 1 par defaut.

Exemple de fichier :

<?xml version="1.0" encoding="UTF-8"?>    
<sitemap>    
    <initial-depth>3</initial-depth>    
    <descendant-depth>3</descendant-depth>    
</sitemap>    

Il n'est donc plus nécessaire de redéfinir le SitemapInputData lorsque ces paramètres doivent être modifiés.

Refonte du service d'inscription

Les modifications suivantes ont été apportées au service "Inscription" :

  • Les nom et prénom de l'utilisateur ne sont demandés qu'après la validation de email
  • La validation des CGU est également demandée qu'après la validation de email
  • Il est possible d'insérer le contenu des CGU à la suite du formulaire
  • Les erreurs sont traitées et affichées champs par champs (au lieu d'être affichées en haut du formulaire)
  • La page de redirection en cas de succès est maintenant un paramètre de service
  • Il est possible d'afficher un contenu final à la fin de l'inscription au lieu d'un lien vers une page de validation

Si vous avez surchargé le rendu de ce service dans votre charte graphique, reportez-vous la XSL signup_3.5.xsl noyau pour réappliquer vos modifications.

Refonte des commentaires

La fonctionnalité des commentaires sur les contenus a été améliorée. Désormais il est possible de :

  • Répondre à un commentaire
  • Signaler un commentaire (XSL reporters/comments_reporters.xsl)
  • Liker un commentaire (XSL like/comments_like.xsl)
  • Supprimer un commentaire (XSL delete/comments_delete.xsl)

Si vous avez surcharger la XSL comments_3.3.xsl dans votre charte, de nombreuses modifications ont été faites. Reportez-vous la XSL comments_3.3.xsl noyau pour réappliquer vos modifications.

Notamment :

La variable "uniqueId" :

Cette variable a changé de nom, elle s'appelle maintenant : "commentUniqueId".
La variable uniqueId est maintenant apportée par stylesheets/helper/common_3.3.xsl.

Le template "comments" :

Faire la différence avec le nouveau comments_3.3.xsl
La principale différence est qu'il appelle maintenant le template "comment-form-script".

Le template "comment" :

Faire la différence avec le nouveau comments_3.3.xsl

Le template "comment-header" :

Faire la différence avec le nouveau comments_3.3.xsl

Le template "comment-footer" :

Faire la différence avec le nouveau comments_3.3.xsl
La principale différence est le <p> englobant qui devient un <div>

Le template "comment-form" :

Il a changé de nom : "comment-add"
Faire la différence avec le nouveau comments_3.3.xsl

Ajout du paramètre "comment-id" :

Tous les templates suivants ont ce nouveau paramètre car le formulaire dépend maintenant de l'identifiant du commentaire :

  • comment-form-field-name
  • comment-form-field-mail
  • comment-form-field-hidemail
  • comment-form-field-url
  • comment-form-field-content
  • comment-form-field-captcha
  • comment-form-field-additional
  • comment-form-field-submit

Les identifiants des différentes balises ont donc changé : faire la différence avec le nouveau comments_3.3.xsl

Le template "comment-form-script" :

Le script a changé pour gérer les changements d'identifiant : faire la différence avec le nouveau comments_3.3.xsl

Date i18n

Un mauvais "pattern" pour "parser" des dates est parfois utilisé.

Recherchez dans vos XSL les <i18n:date> utilisant le pattern hh:mm et remplacez par HH:mm.

Par exemple

<i18n:date src-pattern="yyyy-MM-dd'T'hh:mm:ss" pattern="long" value="{startDate}"/>     

on doit être remplacé par

<i18n:date src-pattern="yyyy-MM-dd'T'HH:mm:ss" pattern="long" value="{startDate}"/>     

SASS : fonction skinUrl

Dans vos fichier .scss, vous pouvez utiliser la fonction SASS skinUrl.
Son utilisation est similaire à l'utilisation de ametys:skinUrl en XSL.

Exemple:

.container {     
 background: skinUrl('/img/bg.png');     
}     

Service "Mot de passe"

Si vous surchargez le template global-error-messages du service "Mot de passe" (password*.xsl), la manière de récupérer le message d'erreur a été simplifiée :

Ce bloc :

<xsl:choose>     
 <xsl:when test="$error-type = 'user-unknown'">     
 <i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_USER_UNKNOWN" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
 <xsl:when test="$error-type = 'population-unknown'">     
 <i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_POPULATION_UNKNOWN" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
 <xsl:when test="$error-type = 'unmodifiable-user-directory'">     
 <i18n:text 18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_UNMODIFIABLE_USER_DIRECTORY" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
 <xsl:when test="$error-type = 'empty-email'">     
 <i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_EMPTY_EMAIL" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
 <xsl:when test="$error-type = 'several-users'">     
 <i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_SEVERAL_USERS" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
 <xsl:when test="$error-type = 'error-token-unknown'">     
 <i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_TOKEN_UNKNOWN" i18n:catalogue="plugin.web"/>     
 </xsl:when>     
</xsl:choose>     

Devient :

<i18n:text i18n:key="PLUGINS_WEB_SERVICE_USER_CHANGE_PASSWORD_ERROR_{$error-type}" i18n:catalogue="plugin.web"/>     

Service Remontée de contenus

Si vous surchargez le rendu du service Remontée de contenu (filtered-contents/list*.xsl), le type du paramètre 'pagination' a changé. Remplacez :

$pagination = ''     

par

not($pagination)     

Service Remontée de pages

Si vous surchargez le rendu du service Remontée de pages (filtered-pages/list*.xsl), le type du paramètre 'pagination' a changé. Remplacez :

$pagination = ''     

par

not($pagination)     

Service iFrame

Si vous surchargez le rendu du service iFrame (iframe*.xsl), le type du paramètre 'height' a changé. Remplacez :

$height = ''     

par

not($height)     

et

$height != ''     

par

$height     

Ancien service de recherche

L'emplacement des XSL de l'ancien service "Moteur de recherche" renommé "Recherche de pages" a changé.

Le dossier "skins/[SKIN]/services/web/pages/search" est à renommer en "skins/[SKIN]/services/web/pages/search-pages"

Et tous les imports associés doivent être modifiés ! (y compris depuis d'autres services de recherches qui partagent ces XSLs) : pensez à chercher dans tout votre projet.

Par exemple:

<xsl:import href="plugin:web://pages/services/search/search_3.3.xsl"/>     

doit être remplacé par :

<xsl:import href="plugin:web://pages/services/search-pages/search_3.3.xsl"/>     

Plugins

Suivant les plugins Ametys que vous utilisez, vous devez suivre les migrations graphiques propres à chaque plugin :

Retour en haut