wiki:doc/migration4.0

Migrer un modèle vers SCENARI4.0 (4.0.200+)

styles

  • remplacer le style '-moz-border-radius' par 'border-radius' ;
  • remplacer le style '-moz-border-radius-topleft' par 'border-top-left-radius' ;
  • remplacer le style '-moz-border-radius-topright' par 'border-top-right-radius' ;
  • remplacer le style '-moz-border-radius-bottomleft' par 'border-bottom-left-radius' ;
  • remplacer le style '-moz-border-radius-bottomright' par 'border-bottom-right-radius' ;
  • remplacer le style '-moz-border-radius' par 'border-radius' ;
  • remplacer le style '-moz-background-size' par 'background-size' ;
  • remplacer le style '-moz-box-shadow' par 'box-shadow' ;

free

1. xpath contains pour tester un type de fichier pointé (4.0.110+)

utiliser à présent containWord couplé à d’autres fonctions telles que décrites dans l’exemple ci-dessous. syntaxe : « containWord(a,b) returns true if a contains the word b ». Exemple dans office/optim :

containWord('sfile_doc_docx sfile_pdf', srcFields(srcFileAgent(concat('@', getIdFromPath($vArguments/@sc:refUri))), 'itModel')

srcFields(a,b) retourne le contenu d'un champ b de la description d'un fichier a (le code du modèle pour b='itModel')

srcFileAgent() retourne un objet décrivant le fichier source de l'agent

concat('@', getIdFromPath($vArguments/@sc:refUri)) donne l'id interne de l'agent qui a été créé pour l'item pointé

2.<xsl:param name="vComp"/> : à remplacer par <xsl:param name="vAgent"/>

$vComp à remplacer $vAgent

  1. Modifs d'API :
    • java:hGetUri(srcFileAgent()) devient java:getSrcUri(srcFileAgent())
    • java:hGetName(srcFileAgent()) devient java:getSrcName(srcFileAgent())
  1. Free transf
    • sm:bs : ajouter @bsPath

  1. FreeOdWidget : liens vers <sm:widgetBsFiles/> à modifier xxxxxxxxxx? : supprimer bsco:xxxxx
  1. Les fonctions xpath getIdNode() et getIdFromPath() ne retournent plus des strings alpha-numériques simples utilisables comme variables JS ou comme ID d'élément HTML par exemple.
    Dans toutes ces situations il faut encapsuler ces fonctions de la fonction xpath alphaHash() qui garanti un string fait uniquement de [A-Z].
    Remarque : Cette fonction à déjà été ajouté à SCENARI 3.7.
  1. FreeGenDeploy : les genDeploy ont été entièrement réécrits. La structure d'appel, et les API de la feuille de comportement ont évolué. Entre autre :
    • Seules les codes des propriétés d egénération se terminant par @stored seront enregistrés
  1. genBox : déplacement des API genBox de  chrome://scenariCms/content/widgets/genBox vers  chrome://scenariWsp/content/widgets/genBox
  1. Dans les freeTransf, bien faire référence aux sous transf appelés par la xsl en précisant : le model, l’axis, le type de contenu (nav/content/title). L’écran de contrôle doit être complet.
  1. TODO  : trouver comment récupérer le contenu d’une xsl commune présente dans le bs.doss. En 3.7 on utilisait :
	<xsl:import href="bsco:common.xsl"/>

migrations

Afin de tenir compte des ateliers non fileSystem (db, ...), la façon d'écrire les build.xml de migration a changé. Ces modifications sont à prendre en compte dans tous les cas pour des migrations d'ateliers 4.0. Les scripts de migration antérieurs, exécutés dans un contexte non db, ne sont pas à modifier.

  • La ressource Ant d'id scenari.wsp.src est systématiquement disponible dans le build.xml ;
  • Le type de ressource "srcNode" a été ajouté. ex :
    Instancie une ressource de type srcNode et pointant vers le root de l'atelier :
    <srcNode refid="scenari.wsp.src"/>
    
    Instancie une ressource de type srcNode, pointant vers l'item "item.xml", et d'id scenari.wsp.src.test
    <srcNode id="scenari.wsp.src.test" fromId="scenari.wsp.src" path="item.xml"/>
    

Exemples :

  • Création d'un fichier via concat :
    <srcNode id="scenari.wsp.src.test" fromId="scenari.wsp.src" path="montest_11.txt"/>
    <concat destId="scenari.wsp.src.test">
       DATA!!!
    </concat>
    
  • Execution d'une XSL :
    <migrateXsl style="${basedir}/migration.xsl">
       <restrict>
          <srcNode refid="scenari.wsp.src"/>
          <name name="*.xml"/>
       </restrict>
    </migrateXsl>
    
  • Création de fichiers dans la XSL
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" 
    			xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        			xmlns:redirect="com.scenari.src.helpers.util.xml.RedirectToSrc"
    			extension-element-prefixes="redirect"
        >
    
      
        <xsl:template match="xxx">
        	...
    		<redirect:write file="inXsl888888.txt">
    			DATA
    		</redirect:write>
          	...
        </xsl:template>
    
    </xsl:stylesheet>