banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 25 September 2008 11:48

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

[Appel à contribution] Créer un outil de "traduction" des Wor

Bonjour à tous,

Dans ma société, nous avons acquis des licences MapInfo 9.5 alors qu'auparavant nous étions sous la version 7.
C'est cool mais un problème subsiste: la compatibilité entre les différentes versions de wor - ouvrir les travaux fais sous la 7 avec la 9 ne pose pas de problème alors que l'inverse est... difficile. Du coup, je vais me retrouver avec des conversions de wor à faire à la pelle pour tous les gens de la boite qui font de la carto encore sous MI 7 (ou des rendus à des clients sous version antérieure). sadsadsadsad

J'avais dans l'idée de faire un utilitaire pour convertir les versions les plus récentes de wor compatibles avec des versions plus anciennes du logiciel. PARCE QUE CA ME CASSE LES BONBONS* DE TOUJOURS DEVOIR FAIRE LE MÊME TRIFOUILLAGE PARCE QUE MAPINFO EST PAS CAPABLE DE FAIRE UN OUTIL POUR RÉSOUDRE CE PROBLÈME.mad

Pour cela, je vais avoir besoin de vous tous pour répondre à ce type de question: quelles lignes bloquent l'ouverture d'un wor créé avec la version >7 pour l'ouvrir avec la 7? (à part la 2e ligne qui donne la version de MI)

Je vous incite donc à répondre à ce message de forum en indiquant:
- la version source de MI ayant produit le wor,
- la version pour laquelle vous avez voulu adapter le wor
- les lignes sur lesquelles vous avez dû faire des modifications (avant => après)
Ces infos pourront concerner la syntaxe pour les fenêtres cartes, les analyses thématiques, les layouts, les graphiques, etc. Bref, créez des wor bien strong, importez les dans une version antérieure et relevez tout ce qui bloque et ce que vous avez fait pour que ça passe.

Je ne connais pas encore l'ampleur de la tâche mais ce doit être faisable.
D'ici quelques temps, au cours du développement, j'aurai besoin de personnes régulièrement confrontées au problème pour tester l'outil et me retourner les bugs et manques.
Cet outil sera mis à dispo pour que vous puissiez l'utiliser: y'a pas de raisons que je vous mette à contribution si vous n'en voyez pas la couleur...

Miss T., briseuse de monopoles...

* Robin, "CASSE LES BONBONS" c'est autorisé? C'est pas un gros mot, non? tongue

EDIT Robin : tant que le titre est clair, rien à dire, et "casse bonbon" est tout à fait imagé tout en restant correct  wink

Hors ligne

 

#2 Thu 25 September 2008 14:22

nfarah
Participant assidu
Lieu: New York, USA
Date d'inscription: 9 May 2006
Messages: 352

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Bonjour,

Une compatibilite vers les versions anciennes est en effet un probleme. De conception, une nouveautee
ajoutee dans une version nouvelle, exemple 'translucency' (MI Pro 9.5.1), peut ete etre sauvegardee dans une 'workspace' 9.5.1. Une fois cette meme 'workspace' est ouverte dans 8.0, elle ne sera pas reconnue car tant que 8.0 est concernee 'translucency' est inconnue.

Pour ouvrir une 'workspace' cree avec la version x, en utilisant la version x-1 (ou x-y), il faut changer
manuellement le numero de 'workspace' pour qu'il soit x-1. Ceci permettra d'ouvrir la 'workspace'. Le processus d'ouverture va s'enchainer jusqu'a ou il trouvera une instruction inconnue (ex. nouveautee dans
la version originale du 'workspace'). A ce moment, je ne vois pas d'autre solution immediate a part d'editer, encore, manuellement la .wor pour eliminer l'instruction nouvelle.

Ce que'il serait bienvenu c'est un 'save workspace as..' et donner le choix d'une version ancienne (ou peut-etre plusieurs). Toutefois cela veut dire que la '.wor' serait modifiee et des informations seront perdues.

Noureddine Farah

Dernière modification par nfarah (Thu 25 September 2008 14:49)

Hors ligne

 

#3 Thu 25 September 2008 14:47

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Bonjour
MissT veut apporter quelque chose de très louable pour les utilisateurs mais c'est un très bon point que Nfarrah vient d'apporter.  Si MissT et tous les autres intervenants voyait le problème autrement car le nombre de lignes de codes qui pourraient bloquer semble assez nombreuses.  Cherchons seulement ce qui a changé entre 2 WOR de versions différentes au lieu des erreurs que pourrait engendrer une ouverture d'un WOR récent par un Mapinfo ancien!
Je ne suis pas un grand programmeur, et vous pourriez facilement me dire de me taire, mais je comprends assez bien la philosophie de base de la programmation pour voir la complexité de ce problème. 
Si on partait de l'outil WORSPACE CORRECTEUR, même si ça ne fait pas la même chose que MissT veut faire, ça ne serait pas un bon départ?  Il ya certainement des bonnes lignes de code là-dedans!!!
En tout cas MissT, je vais tenter de vous donner le meilleur coup de main possible.

Daniel


De retour à la géomatique

Hors ligne

 

#4 Thu 25 September 2008 15:09

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Bonjour

Il me semble que toute les instruction inscrite dans un .WOR sont l'équivalent d'un code mapbasic. Donc à par la deuxième ligne donnant la version désirée.
Il va falloir faire le tri entre ce qui est valable dans la dernière version, et la version cible antérieure.
Donc il faut repérer les différences entre la version 9.5.1 et la version 7.0 par exemple.
Identifier les différences possible pour la position des nouvelles fonctionnalité, la partie transparente pour un raster par exemple.
Les supprimer du fichier et passer à la suivante.

Donc le plus simple est de comparer les instruction mapbasic disponible en  V7 avec celle de la V9.5.
Et de noter les ajouts à supprimer.

cordialement

Damien

Hors ligne

 

#5 Thu 25 September 2008 16:57

Miss T.
Participant assidu
Lieu: En pleine amazonie...
Date d'inscription: 17 Oct 2005
Messages: 294

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Merci pour ces contributions messieurs: ça fait avancer le shmilblick.

En effet, les instructions dans un .wor se retrouvent dans la version de MapBasic correspondante. Je n'y avait pas pensé. Existe-t-il une trace des évolutions successives dans le langage MapBasic? (équivalences/modifications, ajout/suppression de fonctions)

Le processus d'ouverture va s'enchainer jusqu'a ou il trouvera une instruction inconnue (ex. nouveautee dans
la version originale du 'workspace').


Noureddine, le problème de ta solution, c'est qu'elle impose d'avoir les versions intermédiaires de MapInfo, chose que nous n'avons pas ici.
Je voudrais créer un outil qui permette de s'affranchir des versions supérieures de MapInfo. A la limite, même un exe, qui fait des "chercher/remplacer" sur une série de problèmes identifiés. Déjà, rien que pour faire ça, ça implique de trouver quelles sont les variations entre les versions....
D'où (merci Damien pour la piste) la nécessité d'éplucher les variation de MapBasic, afin d'identifier de façon systématique les problèmes pour les wor.

Hors ligne

 

#6 Thu 25 September 2008 17:19

nfarah
Participant assidu
Lieu: New York, USA
Date d'inscription: 9 May 2006
Messages: 352

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

ReBonjour,

Quand je disais "Le processus d'ouverture va s'enchainer jusqu'a ou il trouvera une instruction inconnue (ex. nouveautee dans la version originale du 'workspace')." c'etait generique. Cela n'impose pas que les versions
intermediaires doivent etre presentes. Quand on ouvre une .wor 9.5 avec 7.8, le processus d'ouverture va
s'arreter des qu'il trouve une commande que 7.8 ne peut pas interepreter (et executer). Cette commande peut-etre introduite dans n'importe quelle version entre 7.8 et 9.5 (dans mon exemple).

Une solution generique serait par exemple, creer un .mbx qui:
- en s'executant saura la version du mi pro que l'execute (pour generer une .wor avec cette version)
- lire la version du .wor original --> creer un nouveau .wor copie de l'original .wor: modifier dessus la version.
- lire chaque ligne de la nouvelle .wor (la copie) et essayer de l'executer (Run Command "..." ou quelque chose du genre). Si l'execution echoue, eliminer la ligne du .wor.
** le defi ici serait: comment interpreter qu'une ligne est complete car une commande peut
etre composee de ++ lignes.
- Continuer le processus vers les autre lignes...

Noureddine Farah

Dernière modification par nfarah (Thu 25 September 2008 17:38)

Hors ligne

 

#7 Mon 29 September 2008 09:24

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Bonjour,

Pourquoi ne pas mettre en commentaire (mais est-ce possible dans un wor ?) les commandes non interprétées par des versions plus anciennes que la V9.X de MI ?

Ainsi, les caractéristiques ne seraient pas perdues, et éventuellement réactivées plus tard. Ces changements (chercher/remplacer) étant très facilement faits en série avec un outil du type SearhPlus, en cherchant les commandes en cause et en les encadrant de balises de commentaires.

Nicolas.


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#8 Mon 29 September 2008 09:47

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Hello,

Juste pour info : avez vous besoin du wiki pour ce projet ? (=recenser les balises qui ont changé, par exemple).
N'hésitez pas à me faire signe, je vous ouvrirai une rubrique dans l'espace Mapinfo, qui est encore jeune :
http://georezo.net/wiki/main:mapinfo:start

Robin, qui passe par là.

Hors ligne

 

#9 Thu 02 October 2008 10:47

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Hello,

Juste une remarque, cette initiative me fait penser au Projet ABC* de Jacques Paris :
http://georezo.net/jparis/abc/abc_main_fr.htm

A toutes fins utiles,
Robin.

*Application Backward Compatibility

Hors ligne

 

#10 Mon 16 February 2009 16:26

NicolasGeorge
Participant assidu
Date d'inscription: 1 Feb 2007
Messages: 266

Re: [Appel à contribution] Créer un outil de "traduction" des Wor

Je redéterre le sujet en réalisant que je pourrais peut-être faire avancer le schmilblique... Je bosse sous v9.0, avec la 8.5 dans un coin pour les impressions, et une bonne partie de mes clients (DDEA) sont en 7.8 : j'ai donc aussi une v7.5 dans un autre coin.

Les principales pommes de discorde que j'aie pu expérimenter entre v9.0 et v7.5 :
- les lignes "image reprojection ..." à supprimer en entier (une par fenêtre carte)
- les légendes avec ordre personnalisé, là c'est un peu plus sioux :  il faut remplacer la ligne "order custom" par un "ascending on", puis remettre les lignes "range X auto display on|off" qui suivent dans l'ordre ascendant de MapInfo, et enfin effacer les mots "range X" de ces lignes pour ne garder que "auto display on ou off" dans chaque ligne.

Pour l'instant c'est tout ce que j'ai trouvé...
Ah, si, il y a aussi les tables v8.0 au lieu de v3.0. La seule fois où ça m'est arrivé, j'ai remplacé la ligne !version800 par !version300 dans le fichier .tab et ça s'est ouvert sans autre souci. Je ne sais pas ce qui a changé à ce niveau.

Dernière modification par NicolasGeorge (Mon 16 February 2009 16:31)

Hors ligne

 

Pied de page des forums

Powered by FluxBB