Guide du développeur

Wiki

Piste: » goodies » migration
Guide du développeur
Jelix 1.1.5

Chapitre : Migration d'une application jelix 1.0 vers jelix 1.1

« Installation sur un serveur de production ^ Installation
Switch to language:

Lors d'une migration d'une version Jelix à une autre, il y a toujours au moins ces étapes à faire :

Mettre à jour depuis jelix 1.1beta1

  • jForms : ce que retourne getModifiedControls() dépend maintenant du moment où vous appelez la nouvelle méthode initModifiedControlsList(). Il faut donc appeler celle-ci après une initialisation du formulaire pour connaître plus tard après un submit les valeurs modifiées.
  • Amélioration de la méthode setFetchMode() sur la classe jDbResultSet. Les constantes de classes que l'on donne en paramètres ne sont plus celles de jDbResultSet mais celles de jDbConnection. Donc il faut utiliser jDbConnection::FETCH_CLASS au lieu de jDbResultSet::FETCH_CLASS

Pour cause de noms mal orthographiés, les propriétés et méthodes suivantes ont été renommées depuis Jelix 1.1beta1 :

  • plugin auth/auth : option profilprofile
  • jDb::getProfil()jDb::getProfile()
  • jDb::testProfil()jDb::testProfile()
  • jAclDb::getProfil()jAclDb::getProfile()
  • jAcl2Db::getProfil()jAcl2Db::getProfile()
  • jDbConnection::$profiljDbConnection::$profile
  • jControllerDaoCrud::$dbProfiljControllerDaoCrud::$dbProfile

Vous devez donc changer les noms de ces propriétés et méthodes dans le code de vos contrôleurs ou autres classes.

Mettre à jour depuis jelix 1.0.x

Généralités

  • La plupart des constantes JELIX_LIB_* ont été supprimées (inutiles), sauf JELIX_LIB_PATH, JELIX_LIB_CORE_PATH et JELIX_LIB_UTILS_PATH. Aussi remplacez l'utilisation de ces constantes disparues par l'utilisation de JELIX_LIB_PATH ou JELIX_LIB_UTILS_PATH.
  • De même, les constantes JELIX_PLUGINS_PATH et JELIX_MODULE_PATH ont été supprimées. Ne les utilisez plus.

Réponses personnalisées

Dans vos objets réponses personnalisées comme responses/myHtmlResponse.class.php :

  • renommez la méthode _commonProcess() en doAfterActions().
  • remplacez require_once (JELIX_LIB_RESPONSE_PATH.'jResponseHtml.class.php'); par require_once (JELIX_LIB_CORE_PATH.'response/jResponseHtml.class.php');

Configuration

Dans les fichiers de configurations defaultconfig.ini.php et autres config.ini.php, renommez la section [plugins] en [coordplugins].

Formulaires jForms

  • Dans les templates, les plugins {form} et {formfull} pour afficher un formulaire jForms ont leur liste de paramètres modifiée. Changez les donc en suivant leur documentation.
  • Dans les fichiers xml : le nom de la balise racine des fichiers est maintenant uniformisé et s'appelle <form>. Renommez donc les balises <forms> en <form>.
  • L'api javascript de jforms a été légèrement modifiée : si vous l'utilisez (mais c'est rarement le cas), vous devez adapter vos scripts.
  • L'api de l'objet jFormBase a été légèrement modifiée au niveau des méthodes : setReadOnly()
  • l'id de la balise form HTML générée a changé (#423) ainsi que les noms des ids des contrôles, pour éviter les collisions et les “deviner” plus facilement. Modifiez donc vos CSS ou votre code javascript qui font appel à ces balises.

Autres API

  • La méthode jDateTime::durationTo() n'accepte plus un objet jDateTime en paramètre, mais un objet jDuration.
  • Amélioration de la méthode setFetchMode() sur la classe jDbResultSet. Les constantes de classes que l'on donne en paramètres ne sont plus celles de jDbResultSet mais celles de jDbConnection. Donc il faut utiliser jDbConnection::FETCH_CLASS au lieu de jDbResultSet::FETCH_CLASS

Pour cause de noms mal orthographiés, les propriétés et méthodes suivantes ont été renommées :

  • template plugin formdatasfull renommé en formdatafull
  • template plugin formdatas renommé en formdata
  • jFormsBase::getDatas()getAllData()
  • jFormsDatasource::getDatas()getData()
  • jFormsDatasource::$datas$data
  • jFormsDataContainer::$datas$data
  • jResponseJson::$datas$data
  • jResponseRdf::$datas$data
  • jControllerDaoCrud::_checkDatas()_checkData()
  • plugin auth/auth : profilprofile
  • jDb::getProfil()jDb::getProfile()
  • jDb::testProfil()jDb::testProfile()
  • jAclDb::getProfil()jAclDb::getProfile()
  • jAcl2Db::getProfil()jAcl2Db::getProfile()
  • jDbConnection::$profiljDbConnection::$profile
  • jControllerDaoCrud::$dbProfiljControllerDaoCrud::$dbProfile

Vous devez donc changer les noms de ces propriétés et méthodes dans le code de vos contrôleurs ou autres classes.

Mettre à jour depuis jelix 1.0 alpha ou 1.0 beta

  • L'ancienne syntaxe des sélecteurs d'actions, avec un “_” au lieu d'un ”:” pour séparer le nom du contrôleur du nom de la méthode n'est plus prise en charge : il faut changer vos “vieux” sélecteurs.
  • Suivez les instructions de migration de chaque version 1.0 beta et 1.0, et suivez ensuite les instructions ci-dessus.
fr/manuel-1.1/installation/migration.txt · Dernière modification: 2009/12/29 22:02 par fredo59