Topic: Compatibilité et conflit entre versions 0.22 et 0.3

J'utilise depuis peu ce splendide produit pour les schémas électriques de ma maison dont j'ai rénové l'installation. Je découvre lentement ces possibilités. J'ai installé la version officielle 0.22, et aussi la "ready to use" 0.3.

J'ai réalisé mon plan en version 0.3. Or, par mégarde, j'ai double-cliqué sur mon fichier projet et il s'est ouvert en version 0.22, avec un message d'avertissement: Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue.. En effet, les champs texte des éléments tournés apparaissent maintenant tournés aussi, bien que la case "ne pas subir les rotations" soit cochée pour ces champs. J'ai récupéré en tournant MANUELLEMENT chaque champ texte concerné, mais c'est vraiment galère. Pourrait-on envisager une demande de confirmation dans ce cas pour pouvoir stopper l'ouverture en cas d'erreur ?

J'espère que les altérations de mon projet n'ont concerné que cet aspect - il faut que le passe tout en revue, maintenant !

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Salut,

Klaus wrote:

J'ai réalisé mon plan en version 0.3. Or, par mégarde, j'ai double-cliqué sur mon fichier projet et il s'est ouvert en version 0.22

De mémoire, avec la ready to use, on fournit un script qui réalise les associations de fichiers : register_filetypes.bat -- ça fait un moment que je ne l'ai pas testé, il pourrait t'être utile.

Klaus wrote:

avec un message d'avertissement: Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue.. En effet, les champs texte des éléments tournés apparaissent maintenant tournés aussi, bien que la case "ne pas subir les rotations" soit cochée pour ces champs.

C'est effectivement le principal changement dans le format des éléments avec la 0.3 : j'ai fait en sorte que la 0.3 prenne bien en compte les fichiers 0.22 mais je n'ai pas testé l'ouverture d'un fichier 0.3 depuis la 0.22 -- je vais regarder ça de plus près.

Klaus wrote:

J'ai récupéré en tournant MANUELLEMENT chaque champ texte concerné, mais c'est vraiment galère.

Aïe, navré. Pour info, la solution la plus simple tant que tu n'as rien touché, c'est de tuer le processus correspondant à l'application (qelectrotech.exe) -- tu évites ainsi que QET 0.22 réécrive le fichier à la norme 0.22.

Klaus wrote:

Pourrait-on envisager une demande de confirmation dans ce cas pour pouvoir stopper l'ouverture en cas d'erreur ?

Oui, tout à fait, c'est une très bonne idée. Par contre, ça débarquera sans doute avec la version 0.3, donc le risque restera avec la 0.22.

Klaus wrote:

J'espère que les altérations de mon projet n'ont concerné que cet aspect - il faut que le passe tout en revue, maintenant !

À chaud, je dirais que la réouverture et le ré-enregistrement en 0.22 a perdu tous tes positionnements et rotations de champs de textes (sauf pour les textes indépendants qui le géraient déjà), je ne sais pas si tu en avais fait... Ah, et aussi tout ce qui touche à un éventuel cartouche personnalisé (mais en l'absence de l'éditeur dédié, tu ne t'y es peut-être pas aventuré).

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Merci pour la réponse rapide ! En effet, le fichier register_filetypes.bat règle le problème - en double-cliquant sur mon projet, cela ouvre effectivement la version 0.3 ! Et comme je n'ai pas fait de cartouches customisés, les seuls problèmes ont les champs texte des éléments tournés, et je les ai récupérés manuellement. Donc, pour moi, tout va bien. Merci encore !

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Petite question : tu pourrais réexpliquer en détail le processus pour reproduire le bug ? Parce qu'après réflexion, la propriété "Ne pas subir les rotations de l'élément parent" a été conservée, donc est inscrite par les deux versions, donc cela n'aurait pas dû poser de problème...

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Voilà ce que j'ai fait:
- J'ai créé un projet avec la version 0.3, contenant à ce jour 7 fiches.
- J'ai créé un certain nombre d'éléments que j'ai placés dans la collection prévue pour cela. La plupart de ces éléments contiennent des champs texte avec l'attribut "Ne pas subir les rotations de l'élément parent". Et dans mes fiches, ces éléments sont souvent tournés de 90, 180 ou 270 degrés, selon mes besoins.

J'ai toujours ouvert mon projet par le bouton "Ouvrir" (ou par le menu correspondant), et il n'y a pas de problème.

Or, par mégarde, j'ai double-cliqué mon projet dans l'explorateur de fichiers de Windows, et c'est la version 0.22 qui a démarré. Je n'avais effectivement pas utilisé le fichier de commandes de la version 0.3 pour réajuster les associations, qui sont donc restées enregistrées pour la version 0.22. J'ai immédiatement reçu le fameux message, que je devais acquitter par OK. Mon projet s'est alors affiché, mais les champs textes des éléments tournés étaient tournés aussi. Pourtant, j'ai vérifié: la propriété "Ne pas subir..." des champs texte était restée cochée.

J'ai donc repris mon courage à deux mains et j'ai tourné individuellement chaque champ texte mal placé (quelques dizaines), et le problème était réglé. Et maintenant, ayant appliqué le fichier de commandes en question, il n'y a plus de problème pour double-cliquer le projet. Cependant, en l'ouvrant explicitement dans la version 0.22, cela se reproduit à nouveau... - mais seulement dans la version 0.22 ouvrant un projet ayant été enregistré par la version 0.3. Si le projet a été enregistré par la version 0.22, pas de problème.

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Complément d'information:

Si j'ouvre mon projet V0.3 avec la V0.22, j'ai bien le message en question que je valide avec le bouton OK, mais les textes concernés ne paraissent PAS tournés dans la V0.22 ! Tout au plus légèrement décalés horizontalement. Je sors alors IMMEDIATEMENT du programme par la croix rouge en haut à droite, et je réouvre mon projet en V0.3. Là, patatras, les champs texte des éléments tournés sont tournés, alors que l'attribut est toujours "Ne pas subir..." !

Ma conclusion: la V0.22 enregistre le projet avec des informations de positionnement erronnées, soit directement après le chargement et le message d'erreur, soit au moment de la sortie par la croix rouge. Je n'effectue aucune autre action en V0.22.

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Je n'ai pas réussi à reproduire en suivant tes instructions, je regarderai (genre, ce week-end) si je peux faire un test sous Windows au cas où le bug ne se produirait que sur ce système. D'ailleurs, peux-tu me dire quelle version exacte de la 0.3 tu as utilisé (lien de téléchargement idéalement) ? Ça facilitera la reproduction du problème.

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Je réponds avec un peu de retard - la faute aux (trop courtes) vacances...

Voila: la version que j'utilise activement, est la V0.3 Beta Copyright 2006-2011, avec QT 4.6.2
Avant, j'utilisais la V0.22 Copyright 2006-2010, avec QT 4.5.3

Pour info: je sous sous Windows XP Pro SP3.

Et la procédure avec laquelle je peux reproduire le problème chuez moi, est sa suivante:
-créer un projet sous V0.3 Beta
- créer des éléments contenant des champs texte "n'étant pas affectés par les rotations"
- insérer quelques éléments de ce type dans une feuille, en les tournant de 90 ou 180 degrés
==> en V0.3, tout marche comme prévu.
- ouvrir ce projet (par mégarde initialement) en V.22
==> le programme affiche alors immédiatement le message "Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue.". Je peux valider ce message par le bouton OK, je n'ai pas la possibilité de choisir "Annuler". La feuille s'affiche alors apparemment normalement, en tenant compte des rotations des éléments tout en gardant les champs texte en place normalement. Tout semble correct, et la propriété "Ne pas subir..." est cochée dans les propriétés des éléments.
- quitter alors le programme V.022 par la croix rouge - sans problème apparent.
-ré-ouvrir le projet en V0.3 Beta, et les textes ont subi les rotations, alors que la propriété "Ne pas subir..." est bien restée cochée sur ces éléments.

C'est ce qui me fait penser à une différence d'encodage au niveau de la mise à jour du projet entre V0.22 et V0.3 Beta, et plus particulièrement concernant l'orientation des champs texte d'un élément customisé, mais ce n'est qu'une hypothèse.

Ceci dit, pour moi, ce n'est absolument pas prohibitif. Je connais le problème maintenant, et je ne garde la V0.22 que pour des essais comparatifs, et je ne l'utilise plus pour des projets réels. Et depuis que tu m'as montré la voie avec le petit fichier de commande qui règle les associations entre extensions et programme exécutable de la version V.03 Beta, je ne risque plus cette confusion.

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Bonjour,

Désolé d'insister mais pour bien reproduire la chose, j'ai besoin de connaître le numéro de révision de la v0.3 (qui en fait n'est même pas en beta) -- ce numéro se retrouve dans le nom de l'archive ZIP téléchargée et dans le nom du dossier par la suite ; par exemple, si tu as téléchargé qelectrotech-branche-0.3-rev-1150-x86-win32-readytouse.zip, alors tu utilises QET v0.3 révision 1150. Pourrais-tu me fournir cette ultime précision ? Merci d'avance

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Voilà le nom du fichier ZIP à partir duquel j'ai installé.
qelectrotech-branche-0.3-rev-1274-x86-win32-readytouse.zip
C'est donc la révision 1274 ?

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Tout à fait. Je te remercie pour l'info, je ferais mes tests avec cette version.

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Bonjour Klaus,

Je pense avoir reproduit et diagnostiqué le problème que tu me décris et cela relève effectivement d'un bug dans l'application.

En fait, tel que QET gère ses éléments et schémas, ceux-ci ne sont pas réécrits tant qu'ils ne sont pas modifiés individuellement. De fait, la version 0.22 ouvre ton projet, affiche tes schémas en ignorant les attributs qu'elle ne connaît pas (userx, usery, userrotation, tous ces machins introduits dans la version 0.3), mais lorsqu'elle enregistre de nouveau le fichier projet, elle remet pour chaque schéma non modifié le code XML original. En clair, la 0.22 n'avait a priori perdu aucune de tes données.
En revanche, elle a changé une toute petite chose : elle a changé la version du "project" de "0.3" à "0.22" (alors qu'elle n'a finalement rien enregistré qui soit spécifique à la 0.22). Or, la 0.3 applique un traitement spécial aux textes des schémas lorsqu'elle ouvre un projet estampillé 0.22, traitement qui ne doit pas être appliqué en ouvrant un schéma 0.3, au risque de provoquer... le bug que tu nous as décrit.

Il y a donc clairement des choses à améliorer dans cette gestion des versions, et je suis content d'avoir eu un retour sur le sujet que je savais sensible, et ce avant d'en faire une version stable ("release early, release often" qu'ils disaient...).

Je te tiens au courant des corrections à venir.

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Merci pour ta réponse rapide et détaillée ! Je suis content d'avoir été utile, et je suis rassuré de voir que le problème ne vient pas d'une mauvaise utilisation de ma part d'un logiciel que je n'utilise somme toute que depuis quelques semaines. En tout cas, bravo pour ce diagnostic efficace. Je continuerai de suivre les versions "ready to use" avec intérêt !

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Bonjour,

xavier wrote:
Klaus wrote:

Pourrait-on envisager une demande de confirmation dans ce cas pour pouvoir stopper l'ouverture en cas d'erreur ?

Oui, tout à fait, c'est une très bonne idée. Par contre, ça débarquera sans doute avec la version 0.3, donc le risque restera avec la 0.22.

Pour information, cette fonctionnalité vient d'être implémentée dans notre branche 0.3 par nishiki, révision 1314.

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Bien ! J'attendrai la Ready-to-use pour Windows...

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Bonjour,

xavier wrote:

En revanche, elle a changé une toute petite chose : elle a changé la version du "project" de "0.3" à "0.22" (alors qu'elle n'a finalement rien enregistré qui soit spécifique à la 0.22). Or, la 0.3 applique un traitement spécial aux textes des schémas lorsqu'elle ouvre un projet estampillé 0.22, traitement qui ne doit pas être appliqué en ouvrant un schéma 0.3, au risque de provoquer... le bug que tu nous as décrit.

Il y a donc clairement des choses à améliorer dans cette gestion des versions, et je suis content d'avoir eu un retour sur le sujet que je savais sensible, et ce avant d'en faire une version stable ("release early, release often" qu'ils disaient...).

Je te tiens au courant des corrections à venir.

J'ai commité hier la révision 1315. À partir de cette révision, chaque schéma d'un projet embarque le numéro de version avec lequel il a été enregistré, ce qui permet de mieux détecter la version d'un schéma à son ouverture et donc d'éviter le bug que tu as rencontré. Toutefois, cette correction s'applique essentiellement aux nouveaux fichiers créés avec l'application, plus exactement à tous les schémas ré-enregistrés en version 0.3rev1315. Il est ainsi possible d'immuniser ses fichiers existants en forçant le ré-enregistrement de chaque schéma dans QET 0.3rev1315 : par exemple "ajouter un élément, le supprimer juste après, enregistrer le schéma" suffit à immuniser un schéma.

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Cette solution me paraît être la parade au problème rencontré. Il est plausible que cela ne s'applique qu'à partir de la version 0.3 1315 - dont acte. J'attendrai alors la ready-to-use Windows...

Re: Compatibilité et conflit entre versions 0.22 et 0.3

https://download.qelectrotech.org/qet/builds/20110830/

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Merci - j'ai pris ! Rapide et efficace comme toujours !

Re: Compatibilité et conflit entre versions 0.22 et 0.3

A klaus

Pour moi cette solution n'est pas viable  :
sur un gros projet de 200 folios (schémas) , ça risque d’être difficile à faire .
je cite xavier : par exemple "ajouter un élément, le supprimer juste après, enregistrer le schéma" suffit à immuniser un schéma."
Cette méthode est valable pour chaque folio[schéma) .......
Sur trois folios ça va , sur 200 c'est difficile à faire !!!
On va en discuter en interne, sur IRC [1], je te tient au jus .


[1]
Serveur : irc.tuxfamily.org
Port : 6667
Salon : #qet

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Pourquoi ne pas forcer un réenregistrement de TOUS les folios à l'ouverture d'un projet, dès l'instant que l'on constate que le projet n'a pas la bonne version, avec une demande de confirmation, bien sûr ...  Je ne sais pas si c'est vraiment difficile à faire ...

Re: Compatibilité et conflit entre versions 0.22 et 0.3

On se calme les enfants ; la version 0.3 a toujours été une version de développement, même pas une alpha/beta/RC, et je n'ai jamais garanti la pérennité des schémas générés avec des versions de développement, c'est du pur "without any warranty". En revanche, tous les schémas créés / modifiés avec une nouvelle version seront immunisés d'office contre ce qui est, petit rappel, un cas particulier.

En ce qui concerne une éventuelle réécriture forcée : non, empiriquement, il vaut mieux ne pas réenregistrer un schéma tant qu'il n'est pas modifié : on gagne en performance et en pérennité ; par exemple, un projet ouvert en lecture seule avec QET 0.3 peut être relu par QET 0.2.

Concernant le nombre de folios, je rappelle qu'il existe un bouton "Enregistrer tous les schémas" (5ème bouton à partir de la gauche) qui se fera une joie de réenregistrer tous les folios d'un projet et ce sans même devoir les modifier (d'ailleurs, je viens de tester avec le Convoyeur_bouteilles.qet, c'est super-lent :') mais ça fonctionne).

Gray's Law of Programming:
'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.

Logg's Rebuttal to Gray's Law:
'n+1' trivial tasks take twice as long as 'n' trivial tasks

Re: Compatibilité et conflit entre versions 0.22 et 0.3

Eh bien, puisqu'une solution existe, c'est parfait !