Convertir une base de données existante en un projet

Traduit automatiquement de Deepl

A partir de 4D v17 R5, vous pouvez créer un projet de base de données. L’un des plus grands avantages des projets est la facilité avec laquelle ils facilitent le travail collaboratif pour les équipes distribuées … en stockant la source dans un système de contrôle de la source dans des fichiers texte simples. Que vous soyez un développeur unique ou que vous fassiez partie d’une équipe, cela ouvre un nouveau monde de possibilités.

Mais qu’en est-il des bases de données existantes ? Peuvent-elles être converties en projets ? Oui ! Ce billet de blog a pour but de vous montrer comment faire et de vous faire prendre conscience de certaines choses à savoir avant de procéder.

Convertir votre base de données

La conversion ne modifie pas le fichier .4DB (le fichier de structure binaire de la base de données). Un nouveau dossier « Projet » est créé à côté de votre .4DB. Cela vous permet de convertir votre base de données binaire plusieurs fois (ce qui peut être utile pour les tests). N’oubliez pas que la conversion est à sens unique. Cela signifie qu’une fois que vous avez converti vers un projet et commencé à faire des changements, vous ne pouvez pas réintégrer automatiquement ces changements dans votre .4DB.

La conversion est très simple, il suffit de cliquer sur l’élément de menu « Fichier > Exporter > Structure vers projet » :

Vous pouvez choisir d’ouvrir le projet via un bouton « Ouvrir le projet » (affiché dans le dialogue de conversion) ou en utilisant la méthode traditionnelle d’ouverture d’une base de données.

Que se passe-t-il réellement pendant la conversion ?

À côté du fichier .4DB, un nouveau dossier .4DProject est créé. Il contient l’ensemble de votre code, vos formulaires, votre structure, vos méthodes, vos déclencheurs, vos menus, vos conseils, vos listes, etc :

blank

Dans le dossier .4DProject, le projet utilise les mêmes dossiers Resources et Web que le dossier .4DB. Cela facilite le test de votre projet. Ouvrez votre base de données .4DB, effectuez quelques modifications, puis exportez-la à nouveau et testez les résultats. Vous pouvez répéter cette opération jusqu’à ce que vous soyez satisfait de la conversion.

Notes de compatibilité

Dans les projets, nous avons supprimé certaines fonctionnalités obsolètes et prévu d’en mettre d’autres à jour :

  • La bibliothèque d’images n’existe plus dans les projets. Pendant la conversion, 4D exporte toutes vos images vers le dossier Ressources.
  • Une nouvelle implémentation plus moderne permettant d’étendre les possibilités des feuilles de style sera fournie dans une prochaine version.
  • En réponse à vos commentaires, un nouveau système de gestion des utilisateurs et des groupes est en cours de réalisation.
  • Des changements ont été apportés aux objets de formulaire et à leurs propriétés. En fait, ils utilisent la même grammaire que les formulaires dynamiques.
  • Les paramètres de compatibilité sont réinitialisés (comme pour une nouvelle base de données binaire). Si vous voulez vérifier que votre code est à jour, consultez la série de billets de blog de Thomas Maul sur les paramètres de compatibilité.

Vérifiez votre conversion

Il n’y a pas lieu de s’inquiéter de la conversion de votre base de données. La conversion ne modifie ni votre structure (.4DB) ni vos données (.4DD). Un fichier journal est créé pendant la conversion, avec des messages classés en trois catégories : info, avertissement et erreur.

Par exemple, si vous avez des images dans la bibliothèque d’images, 4D les exporte dans le dossier Ressources de votre projet. Dans le fichier journal, la correspondance entre l’ID de l’image et le nom du fichier est enregistrée :

{
   "message": "Exporting picture id:1, name:logo.png, types:.png to <...>:Resources:Images:library:logo.png",
   "severity": "info"
}

Certaines erreurs peuvent nécessiter votre intervention (par exemple, votre base de données utilisait d’anciens objets de formulaire qui ne sont plus pris en charge, comme les boutons de surbrillance). Dans ce cas, vous devez convertir manuellement le bouton en bouton 3D.

{
   "table": 3,
   "tableName": "Name",
   "form": "Form",
   "object": "button",
   "message": "Highlight buttons are unsupported. Please convert them to 3D buttons.",
   "severity": "error"
}

Dans tous les cas, 4D vous informe de tout ce qu’il fait. Il vous suffit de lire le journal pour mieux comprendre ce qui s’est passé pendant la conversion (ou simplement pour avoir des informations utiles).

À quoi faut-il s’attendre ?

Il s’agit de la toute première version (bêta) du projet. Les fonctionnalités correspondantes seront bientôt proposées à nos partenaires à partir de la version 4D v17 R5 Beta. Contrairement à d’autres fonctionnalités, qui ne sont incluses que dans les versions R (après avoir été entièrement testées et jugées prêtes pour la production), Projects est toujours en cours de développement et n’est destiné qu’à être testé. Il ne doit pas encore être utilisé en production, car il n’est pas complet à 100% et exempt de bogues. Ceci étant dit, vos commentaires sont plus que jamais nécessaires.

Les tests vont se poursuivre avec 4D v17 R6 Beta. Avec les 6 mois de tests à venir et votre aide, 4D v18 sera une étape importante dans l’histoire de 4D.

Rejoignez la discussion dans notre forum « version bêta » (accessible à tous les partenaires 4D).

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.