THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 installation de Thelia 1.3

(13-07-2007 22:04:54)


Mauvais début !
j'essaie d'installer Thelia 1.3 sur easyPHP (donc avec PHP 4.3) et toutes mes pages sont remplies de :

<b>Notice</b>:  Undefined property:  protege in <b>i:\easyphp1-8\www\thelia_1.3.0\classes\Baseobj.class.php</b> on line <b>74</b><br />

et autres indefined property du même tonneau !

Offline


J'ai voulu utiliser une "copie" d'une base au format THELIA 1.2 et comme de nouveaux champs ont été ajoutés dans les tables évidemment ça coince.

Offline


Test 1.3

De mon côté , j'ai un souci pour déclarer les plugins(fonction init() déjà déclarée.),
ainsi qu'avec le transfert des arguments d' une boucle plugin depuis un form.

Last edited by david49 (14-07-2007 13:15:02)

  • yoan
  • Cofondateur Thelia

Offline


cad ?

J'ai fait de nombreux tests, ton plugin est ok ?


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


J'ai migré ce matin , et j'ai incorporé mes mods sans trop de soucis. Un peu plus délicat du côté des plugins
Au début , un peu trop pressé,(comme d'hab), j'ai essayé d'utiliser la même base que pour la beta, et tout bien reconsideré,  c'était pas ma meilleure idée de la journée...(les pluggins apparaissaient déjà dans la base,...)

     Le problème venait de mon bricolage. Je me suis résolu à repartir sur une autre base, et dans le coup les plugins se sont installés nif(ceci dit j'ai mis un moment avant de zipper les miens correctement, mais une fois qu'on a capté, ça se fait tout seul), plus de soucis de chemin invalide etc....
Les variables se transmettent très bien, finalement...

  J'ai modifiés mes plugins à la sauce 1.3. , et eux aussi fonctionnent impec.

Les majorations, les remises par quantité, les accessoires et les menus surlignés fonctionnent très bien(par contre ce sont toujours des mods pas des plugins vu les interventions sur les boucles de base nécessaires)...

La boucle CHEMIN fonctionne nickel...

   J'ai juste quelques retouches à faire à mes templates suite aux petits changement de boucle Image()...

Désolé pour la fausse alerte, Yoan hmm

Last edited by david49 (15-07-2007 15:49:30)

Offline


Après quelques essais via phpMyAdmin, sous easyPHP 1.8, il faut bien que j'avoue que je suis incapable de transférer le contenu d'un base au format 1.2 vers une base au format Thelia 1.3.
Si j'en crois les messages ci-dessus il y aurait une solution simple! Quelqu'un pourrait-il me la souffler, je ne cafterai pas

Merci d'avance.

Last edited by jhr (15-07-2007 22:21:17)

Offline


Si tu lis le fichier changeLog.txt dans le dossier d'instal, tu trouveras les requêtes SQL pour la création des nouvelles tables...
La table boutique peut être effacée
(elle ne sert plus, elle a été supprimée dans la 1.3,  et bien que n'ayant pas employé cette option de thelia auparavant , je trouve que c'est un peu regrettable , pour pouvoir permettre à l'admin de tranquillement préparer une nouvelle organisation de boutique sans empêcher la boutique actuelle de tourner , et basculer entre les deux boutiques une fois la nouvelle organisation finie...)

Après tu récupères le fichier cnx.class.php de la 1.2 et tu le copies dans le dossier class de la 1.3(ton accès à l'ancienne base, mais tu devras  aussi déplacer tes images dans le bon dossier client/gfx/photos( la boucle image a changé),
et  si tu utilisais la beta,supprime manuellement dans SQL les entrées des anciens plugin perso dans la table module, pour pouvoir réinstaller les plugins nouvelle version,
que tu dois retélécharger (ils ont évolués maintenant tu les installes depuis le BO, tu recherches le Zip téléchargé ,( ne décompresse pas auparavant , Thelia s'en charge. A moins de placer le dossier décompressé manuellement  dans client/plugins/ )  ).

Evidemment tu dois placer tes templates à la racine du dossier de la nouvelle version, sans oublier .htaccess, backtothehtml.js si tu utilise du flash,...Tu dois aussi changer #GRANDE et PETITE  par #IMAGE dans tes templates (boucle image() modifiée
  Et normalement, tu devrais pouvoir utiliser la même base(enfin, je crois, vu que moi je suis reparti sur une base 'neuve' à cause de mes essais un peu laborieux) wink

 
Regarde aussi dans template, il y a de nouveaux templates de base à tester...

Last edited by david49 (16-07-2007 14:16:47)

Offline


Pas si simple, car j'avais un catalogue à transférer

J'ai créé une base vide base_T-1-3 puis j'ai installé Thélia 1.3 sur cette base

Compte tenu que mes connaissances en requêtes SQL sont très limitées et que le changelog est incomplet, j'ai donc opéré de la manière suivante en utilisant les outils fournis par phpMyadmin :
- créer une copie nommée base_transfert de la base au format Thelia 1.2
- dans cette base :
    -supprimer la table boutique
    -supprimer le champs boutique des tables cractéristique, contenu, declinaison, dossier, produit, rubrique
    -dans la table client créer le champs siret
    -dans la table produit supprimer le champs quantité et ajouter le champs ecotaxe
    -s'il est nécessaire de transférer les tables citées dans le changelox, modifier les tables comme indiqué
    note : les champs sont a insérer de manière à respecter l'ordre dans lequel ils sont placés dans la base Thelia 1.3
- transférer table par table,les tables dont le contenu a été modifié (rubrique, client, produit, caractéristique ... selon les cas, par exemple, la table pays n'a vraisemblablement besoin d'être transférée). Etant donné la modification de la gestion des images la table image n'a pas été transférée, tout est à refaire.
- sélectionner la base_transfert
- sélectionner une table à transférer et l'afficher (mode afficher ou mode structure)
- exporter : format : SQL, structure : cocher if not exist,type d'exportation: insert, cocher transmettre, executer, enregistrer la requete(noter dossier et nom.sql)
- sélectionner base_T-1-3
- appliquer les requetes sql enregistrées : onglet SQL, emplacement du fichier texte/parcourir puis executer

Quand il n'y a ni oubli ni erreur ça marche au poil

On aurait pu faire plus simple:
- sélectionner la base de donnée base_transfert, exporter, sélectionner les tables à transférer, format SQL, ajouter if not exist, transmettre, executer ...
- sélectionner la base base_T-1-3, SQL etc...

Et si l'on oublie pas de vider le cache le contenu devrait s'afficher

J'ai dû oublier des corrections, des indications ... alors je conseille à ceux qui voudraient utiliser les indications ci-dessus de revoir en détail la structure de leurs bases de données avant d'effectuer des transfert, au besoin, créer des copies des bases de départ et d'arrivée et travailler sur ces copies.

Last edited by jhr (16-07-2007 14:15:15)

Offline


david49 wrote:

Si tu lis le fichier changeLog.txt dans le dossier d'instal, tu trouveras les requêtes SQL pour la création des nouvelles tables...

Soit c'est la chaleur, qui me rend con, soit effectivement il n'y a pas de fichier changelog.txt dans le repertoire d'install d'une 1.30
Le seul changelog.txt que j'ai pu trouver est à la racine mais aucune requetes SQL pour la création de nouvelles tables n'y figure.
Quelqu'un peut m'aider parce qu'avec 35° dans mon bureau je perds patience smile
Merci

Edit: le but pour moi est de migrer d'une 1.22 a une 1.30

Last edited by psai (16-07-2007 18:12:58)

Offline


Effectivement le changelog.txt est à la racine du site et effectivement il n'explique pas comment créer de nouvelles tables et surtout il n'explique pas quelles tables sont inutiles et quelles tables et quels champs sont à ajouter et à supprimer.
AVANT TOUTE OPERATION SUR UNE BASE DE DONNEE EN LIGNE, LA SAUVEGARDER (et plutôt deux fois qu'une) et essayer de travailler sur des "copies" charger sur son ordinateur.
Pour connaître les modifications à faire sur une base thelia 1.2 il faut comparer les fichiers thelia.sql contenus dans les dossiers install des deux versions et après il faut s'accrocher à phpMyAdmin pour soit adapter la base existante au format thelia 1.3 ou (sans doute plus facile) vider la base existante, installer Thelia 1.3 sur cette base avec création automatique de toutes les tables et champs et ensuite transférer le contenu des tables au format Thelia 1.2 comme je l'ai indiqué ci-dessus. C'est moins délicat que cela paraît car phpMyAdmin/sql fournissent des gardes-foux

J'ai expliqué ci-dessus comment j'ai été contraint de faire, avec succès.

il faut dire que je travaille sur mon ordinateur avec easyPHP et donc sans risque; avec une base installée sur un serveur cela est plus stressant.

Last edited by jhr (16-07-2007 19:27:11)

Offline


suite,

Quand on installe Thelia 1.3 sur une installation précédente et une base adaptée au format 1.3 il ne faut pas (sauf erreur) passer par install.
il faut sauver le fichier Cnx.class.php, installer les fichiers 1.3 et installer la sauvegarde dans le dossier classes.

Tout ça ça fait peur ! j'espère que je raconte pas de bétise. Prière de vérifier la pertinence de mes propos avant de mettre en pratique.

Offline


Ok on est bien d'accord, à ce jour il n'existe pas de procédure de migration de base 1.2.x --> 1.3.0 il faut "bricoler". La meilleure solution (encore une fois à ce jour) reste une install fraiche d'une 1.3.0 et ensuite import des tables nécéssaires depuis une 1.2.x je suppose ?
PhpMyAdmin, je suis pas fan, je suis plus à l'aise en console qu'avec une interface web et quand à faire l'upgrade sur un serveur de prod ... ca sera pas pour tout de suite. Actuellement je travaille sur un serveur de dev, avec backup toutes les heures et la possibilitée de remonter jusqu'à 60 jours, le tout repliqué sur 2 autres serveurs de backup. En avant les boulettes ! wink
Bon merci de ta réponse, je vais attendre un peu de voir s'il y a une procédure propre d'upgrade, avant de me lancer dans une migration un poil plus bricolo.

  • yoan
  • Cofondateur Thelia

Offline


C'est exactement ça, je suis désolé.

A partir de maintenant les mise à jour seront bien plus simples avec les plugins.
Le plus simple est d'installer une 1.3 et de copier les tables en effet de ta 1.2
C'est largement faisable, on en a migré 4 ou 5 déjà wink


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Merci yoan pour ta confirmation. Donc de mon coté, pas besoin d'attendre une procédure d'upgrade de 1.2.x --> 1.3.0 car il n'y en aura pas c'est bien ca ?
Bon, benh reste plus qu'à prevoir une nuit blanche pour ce week end, je cours acheter un pack de bières ! wink

  • yoan
  • Cofondateur Thelia

Offline


Non pas une nuit blanche, 1h max.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Ah c'est vrai, t'as raison, PSAI , c'est vrai j'ai utilisé le change log de la 1.2.3(c'était dans la beta 1.3b , une beta,... un peu comme moi) ,
et je n'avais pas vu que dans le changeLog.txt de la 1.3, les créations de table avaient  été supprimées, mais mis à part le problème avec les plugins qui m'a pris un petit moment , c'est vrai que ça ne dure pas des heures.

Last edited by david49 (17-07-2007 10:29:14)

Offline


1h pour upgrader une base 1.2.x vers 1.3.0 c'est bon pour les pros, moi qui n'y connaissait pas grand chose, j'ai mis 3h. Mais c'est vrai on n'y passe pas la nuit.
En commentaire à tout ce qui précède, je souhaiterai que le peu de documentation fourni ne soit pas erroné:
- à lire le changelog.txt on pouvait penser qu'il n'y avait que trois tables à modifier.

il aurait mieux valu, à mon avis:
- soit indiquer que des tables avaient été crées supprimées ou modifiées et que les utilisateurs avaient à faire la mise à niveau de leur base en se servant des fichiers thelia.sql comme documentation,
- soit fournir la liste complète des modifications à charge pour l'utilisateur d'utiliser l' outil qu'il préfère pour ugrader sa base de donnée.

Au fait, le plus long, ce n'est pas d'upgrader la base de donnée, c'est d'adapter les pages de son site aux nouveaux templates, beaucoup plus long mais à mon avis indispensable. Au fait il y a quelques bugs dans ces templates!

Offline


Je fais une upgrade de 1.3b3 vers 1.3 et je trouve des autres modifs dans la base qui n'apparaissent pas dans le message de jhr:

dans la table message, il y a en plus un champ "protege" smallint(6) par rapport à la 1.3b3
dans la table variable, il y a en plus un champ "protege" smallint(6) par rapport à la 1.3b3

Sais pas à quoi y servent pour l'instant !. Autrement, pour venir de la 1.2 j'avais utilisé la même méthode.

On peut aussi supprimer les entrées photorubw et photoprodw de la table variable.

Dans le dossier client/gfx/photos/contenu-dossier-produit-rubrique on peut supprimer les dossiers petite-grande en prenant bien sur soin de conserver les grandes photos et de les replacer au niveau ou étaient les dossiers petite-grande. ceci entraîne bien sur des modifs dans les templates, suppression de #PETITE et #GRANDE.

Voilà ce qui m'a sauté aux yeux en plus des autres choses mentionnées par mes prédécesseurs.

Offline


Bonjour

A létape 5 de l'installation, j'ai le message suivant (Fatal error: Cannot instantiate non-existent class: variable in)

install/configuration.php on line 87.

A la ligne 87 j'ai ceci     <?php                                       
                    $var = new Variable();
                    $var->charger("emailcontact");
                       ?>

je comprend pas, merci de m'éclairer.

@+

Offline


Etrange, car normalement, à la ligne 83 du même fichier est inclus le fichier Variable.class.php où est déclaré la classe Variable ?

Offline


Salut visibox,

Peux-tu nous donner un peu plus d'infos, genre sur quoi tu testes et si tu a eu des messages d'erreurs auparavant?

Offline


Bonjour

Je tiens a préciser que je ne suis pas DeV PHP, j'ai, à chacunes des erreurs, supprimé les lignes concernées et c'est plutôt MIRACULEUX, parce que ça fonctionne.

Je teste sur une debian à distance serveur dédié.

@+

Offline


Je sais pas si ta technique de supprimer des lignes à la vollée  va fonctionner longtemps... Tu peux accèder au BO  configuration/configuration des variables et modifier celles-ci?

Offline


Bonjour,

Je viens juste de procéder à la mise à jour du logiciel.. Effectivement, les congés ont duré mais le magasin où je bosse à fermer et c'était des congés sans solde étant récemment embauché.
Donc, je redémarre sur la version 1.3.1, y intègre ma base de données modifiées et je mets mes templates à la racine du site, là-dessus je déplace mes images comme indiqué ci-dessus et elles ne s'affichent pas malgrès la modif du #petite #grande en #image, l'url affiche "fonctions/redimlive.php?nomorig=../client/gfx/photos/produit/palettes_40.gif&width=159&height=&opacite=&nb=& miroir=".
Si qqn peut m'éclairer.

Cordialement, Aurélien canevat.

Offline


Bonjour,

pb résolu, je n'avais pas activée la librairie gd2..

Merci à david49.


Cordialement, Aurélien canevat.