Chapitre: Migration d'une application jelix 1.0 vers jelix 1.1
| « Installation sur un serveur de production | ^ Installation |
− Table des matières
Lors d'une migration d'une version Jelix à une autre, il y a toujours au moins ces étapes à faire :
- Remplacer le répertoire
lib/de jelix par celui contenu dans le paquet jelix 1.1. - Ne pas oublier de remettre dans le nouveau répertoire
lib/vos éventuelles bibliothèques personnelles si vous en aviez mis dans l'ancien. - supprimer tous les fichiers dans le répertoire
temp/votre_appli - adapter votre code en suivant les instructions indiquées pour chaque ancienne version de Jelix. Voir ci-dessous.
Mettre à jour depuis jelix 1.1beta1 ¶
jForms: ce que retournegetModifiedControls()dépend maintenant du moment où vous appelez la nouvelle méthodeinitModifiedControlsList(). 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 classejDbResultSet. Les constantes de classes que l'on donne en paramètres ne sont plus celles dejDbResultSetmais celles dejDbConnection. Donc il faut utiliserjDbConnection::FETCH_CLASSau lieu dejDbResultSet::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 profil -> profile
jDb::getProfil()->jDb::getProfile()jDb::testProfil()->jDb::testProfile()jAclDb::getProfil()->jAclDb::getProfile()jAcl2Db::getProfil()->jAcl2Db::getProfile()jDbConnection::$profil->jDbConnection::$profilejControllerDaoCrud::$dbProfil->jControllerDaoCrud::$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), saufJELIX_LIB_PATH,JELIX_LIB_CORE_PATHetJELIX_LIB_UTILS_PATH. Aussi remplacez l'utilisation de ces constantes disparues par l'utilisation deJELIX_LIB_PATHouJELIX_LIB_UTILS_PATH. - De même, les constantes
JELIX_PLUGINS_PATHetJELIX_MODULE_PATHont é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()endoAfterActions(). - remplacez <php>require_once (JELIX_LIB_RESPONSE_PATH.'jResponseHtml.class.php');</php> par <php>require_once (JELIX_LIB_CORE_PATH.'response/jResponseHtml.class.php');</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
jFormBasea é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 objetjDateTimeen paramètre, mais un objetjDuration. - Amélioration de la méthode
setFetchMode()sur la classejDbResultSet. Les constantes de classes que l'on donne en paramètres ne sont plus celles dejDbResultSetmais celles dejDbConnection. Donc il faut utiliserjDbConnection::FETCH_CLASSau lieu dejDbResultSet::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->$datajFormsDataContainer::$datas->$datajResponseJson::$datas->$datajResponseRdf::$datas->$datajControllerDaoCrud::_checkDatas()->_checkData()- plugin auth/auth : profil -> profile
jDb::getProfil()->jDb::getProfile()jDb::testProfil()->jDb::testProfile()jAclDb::getProfil()->jAclDb::getProfile()jAcl2Db::getProfil()->jAcl2Db::getProfile()jDbConnection::$profil->jDbConnection::$profilejControllerDaoCrud::$dbProfil->jControllerDaoCrud::$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.


