Comment migrer de Yii 1.1.14 à 1.1.16

Juste pour savoir s’il fallait faire autre chose que simplement remplacer le dossier Yii par le nouveau ?

J’ai déjà un problème d’encryption key “Encryption key length can be 16,24,32”.

J’ai modifié dans le main.php la valeur de “encryptionKey” afin qu’elle fasse 16 caractères.


'securityManager'=>array(

				'encryptionKey' => '1234dffed5v46d5g',

				'validationKey' => 'blablablablablabla'

		),

Lorsque je me connecet à mon application j’ai maintenant l’erreur suivante




Error 500

mdecrypt_generic(): An empty string was passed

Ça me fout le bordel dans ma gestion des users mot de passe.

Une idée ?

A lire l’erreur retournée, moi je chercherai pourquoi la valeur passée est vide.

Tu trouveras peut-être la solution sur ce topic: http://www.yiiframework.com/forum/index.php/topic/26435-aes-encryption/page__st__40__p__127582__hl__mdecryptgeneric#entry127582

Je pense que le problème vient du fait qu’ayant modifié la clé “encryptionKey” afin qu’elle fasse 16 caractères, du coup en base je n’obtient pas le bon mot de passe. Je me demande pourquoi le fait de passer de la version 1.1.14 à 1.1.16 de Yii m’a obligé à modifier cette clé ?

J’ai trouvé ça https://raw.githubusercontent.com/yiisoft/yii/1.1.16/UPGRADE.

On nous explique qu’il faut maintenant utiliser les méthodes legacyEncrypt et legacyDecrypt à la place de encrypt et decrypt.

Ce que j’ai fait, du coup je n’ai plus d’erreur mais mon couple user / mot de passe ne passe pas j’ai un message “Identifiant ou mot de passe incorrect”. De plus aucune trace de la méthode legacyEncrypt dans la doc alors que legacyDecrypt y est ???

Apparemment c’est normal https://github.com/yiisoft/yii/milestones/1.1.17

Ce sera corrigé dans la prochaine version, j’espère !

J’ai migré il y a qqs jours vers la version 1.1.16 et j’ai effectivement rencontré des problèmes avec l’encodage nécessitant d’appliquer la correction prévue pour la 1.1.17.

La 1.1.16 comporte beaucoup de modications; les plus importantes sont les évolutions de jQuery et jQuery-ui.

Plusieurs méthodes jQuery sont donc effectivement absents.

Pour identifier les problèmes potentiels de cette migration jQuery, j’ai utilisé ‘jquery-migrate’ en ajoutant temporairement dans mes layouts:





    if(YII_DEBUG)$cs->registerScriptFile('//code.jquery.com/jquery-migrate-1.2.1.js');



Puis dans la console du navigateur des messages à propos d’incompatibilités présentes ou futures apparaîtront.

Sachez également que jQuery-ui nécessite l’utilisation d’un thème (css) compatible - dans le cas contraire des divergences mineure apparaitront. A partir du lien “themeroller” dans le css vous pouvez récuperer la version 1.11 pour le thème.

Les sites jQuery proposent plusieurs guides de mise à jour - cela fait pas mal de lecture ; le plus simple c’est le plugin de migration ci-dessus. Toutefois, pour les widgets jQuery-ui il y a également des évolutions et j’ai du faire face à l’absence d’une methode pour changer d’onglet par javaScript.

Par ailleurs quelques extensions et modules ont nécessité des "corrections" également.

Donc la migration n’est peut-être pas juste une mise à jour du framework pour vous non plus.

En résumé: la liste des modifications est longue, le principal ‘+’ est une grande mise à jour jQuery qui à mon sens tardait “un peu” même si cette évolution n’apporte pas d’énormes avantages, ce n’est plus un frein pour l’intégration de certains plugins jQuery…