Salut,
Le 29/10/2018 à 23:08, b-tzu a écrit :
> Hello
> J'ai, apres quelques galeres, réussi a upgrader le site que je dois
> gerer en Jelix 1.6.19 (depuis la 1.2 tout de meme !)
Bravo !
> Je cherche maintenant a faire fonctionner la partie administrateur du site.
> Je pense avoir suivi les principales étapes de migration a chaque étape,
> mais je n'ai pas trop regardé pour la partie admin.
> En mettant a jour vers la 1.5, je n'ai pas trop touché a tout ce qui est
> jForm, je le ferais quand j'en aurais besoin, sauf si ca me bloque dés
> maintenant,
Regarde si dans tes répertoires de plugins (tonappli/plugins/), tu as un
répertoire jforms avec des plugins dedans : si oui, il te faudra les
migrer vers le nouveau système de plugin un jour ou l'autre. Mais
normalement ça peut encore fonctionner avec 1.6
> idem TCPDF (d'ailleurs dans quel dossier mettre le module
> téléchargé ? y a t il des étapes a faire pour le faire fonctionner aux
> endroits ou il est utilisé, ou ca fonctionne sans modification ?).
Pour les modules externes, je créé souvent un répertoire vendor-modules,
que je déclare ensuite dans le modulesPath dans la config. Et puis comme
tout module, dans la section modules de la config : jtcpdf.access = 2
Et lancer le install/installer.php
> En mettant a jour vers la 1.6, j'ai vu que dans le code a plusieurs
> reprises on utilisait groupby et AddItemGroup, et que ce n'est pas
> recommandé. Comment les remplacer ?
Il n'y a pas de réponse toute faite. Comme il est dit, ce truc générait
du SQL qui au final :
1) n'est pas compatible avec toutes les bases de données (disons qu'on
ne pouvait pas faire la même chose dans les autres bases de données).
2) De l'aveu même de mysql, le résultat était hasardeux. (je ne retrouve
plus le lien)
En effet, ça génère un GROUP BY, mais sans fonction d'aggregations dans
le select, et avec un group by qui contient seulement une partie des
champs qui sont dans le select. Ce qui au final n'a pas de sens, mais
que Mysql permet (ou permettait).
Il faut donc pour chaque utilisation, comprendre la finalité du code
(pourquoi il a fallu faire ce genre de "groupby"), et changer le code
sans groupby, en faisant des requêtes qui aboutissent au même résultat.
Pour en savoir plus :
https://stackoverflow.com/questions/1591909/group-by-behavior-when-no-aggregate-functions-are-present-in-the-select-clause
Pour le moment, c'est juste déprécié dans 1.6, donc pour le moment tu
peux laisser comme ça. Mais faudra le faire quand tu passeras à 1.7 (pas
encore sortie).
>
> Autre chose, dans la migration 1.5 on demande de faire
>
> |jacl2.access=1
> |
>
> Est ce qu'il y'a autre chose a faire ? désactiver jacl2db ? ou tout est
> auto, il y'a juste ca a rajouter ?
Oui. Le tonapp/install/installer.php fera le reste
>
> Maintenant mon vrai problème c'est pour la partie admin, quand je la
> lance, j'ai un souci avec les droits il me semble, alors que avant je
> n'avais pas ce probleme (je ne sais pas quand c'est avant, peut etre la
> 1.3...). Voici l'erreur :
>
> SQLSTATE[42S22]: Column not found: 1054 Unknown column 'r.canceled' in
> 'field list'
>
> Si quelqu'un a une idée... merci !
Visiblement, tu as raté une étape de migration au niveau du module
jacl2db, voir même plusieurs car l'une d'elles changent des droits, d'où
probablement ton souci pour l'admin.
As-tu lancé php install/installer.php à chaque version ? Il n'y a pas de
disableInstallers = on dans tes fichiers de conf ? Si c'est le cas, les
scripts de mises à jour n'auront pas été lancé. Il faudra alors savoir
pourquoi ils ont été désactivés (il y a peut-être une raison au niveau
de la manière dont l'appli est déployée..;)
Une chose que tu peux essayer : modifier ton
var/config/installer.ini.php (fais en une sauvegarde avant !). Dans
chaque section( [index], [admin] etc..), s'assurer d'avoir les valeurs
suivantes :
jacl2db.installed=1
jacl2db.version=1.2.13
jacl2db.version.date=2013-09-19
Est si jacl2db.firstversion est >= 1.3, changer aussi en
jacl2db.firstversion=1.2.13
jacl2db.firstversion.date=2013-09-19
puis relancer install/installer.php (en s'assurant qu'il n'y a pas de
disableInstallers = on !).
Avant de faire ça, fait une sauvegarde de tout (en particulier la config
et les bases)
Laurent