Aller au contenu principal
Version: Next

Export structure file

Export structure file ( cheminDossier {; options} ) : Object

ParamètreTypeDescription
cheminDossierTextChemin du dossier de destination pour les fichiers projets
optionsObjectOptions d'export
RésultatObjectStatuts et messages de validation (le cas échéant)

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande Export structure file décompose la structure de la base de données 4D courante en un ensemble de fichiers de type texte ou de fichiers natifs de type image et les stocke dans le cheminDossier spécifié. Par défaut, la structure de la base (méthodes, formulaires, catalogues, etc.) est intégralement exportée. Vous pouvez filtrer les contenus à exporter à l'aide du paramètre options (voir ci-dessous).

Cette commande vous permet de stocker des fichiers de structure de base de données dans un système de gestion de version (i.e., Git, Perforce, etc.). Il est alors possible de comparer les modifications successives ou les modifications apportées par plusieurs sources à l'aide d'outils standards de gestion de version.

Cette commande peut être utilisée dans les cas suivants :

  • 4D en mode local ou 4D Server (une erreur est retournée si elle est appelée depuis 4D en mode distant),
  • Base de données interprétée (la commande ne fait rien si elle est appelée depuis une base de données .4DC)

Notez également que lorsque la commande est appelée depuis un composant, elle exporte toujours la structure de la base de données hôte.

Dans cheminDossier, passez le chemin du système du dossier où les fichiers d'export doivent être stockés.

Le paramètre options vous permet de personnaliser le processus de conversion. L'objet options peut contenir les propriétés suivantes :

Nom de propriétéType de valeurDescription
withLogbooléen ou chaîne
vrai ou "always" : crée un fichier log de conversion dans le dossier de destination Logs.
"ifNotEmpty" : crée un fichier log de conversion uniquement s'il contient des messages
faux ou omis (défaut) : ne crée pas de fichier log de conversion
makeProjectbooléenvrai pour générer un fichier .4DProject dans le dossier "Project"
filterobjetContenus à exporter. Si omis (défaut), tout est exporté
projectMethodsbooléenvrai pour exporter les méthodes projet
databaseMethodsbooléenvrai pour exporter les méthodes base de données
triggerMethodsbooléenvrai pour exporter les méthodes trigger
formsbooléenvrai pour exporter les formulaires
pageFormatbooléenvrai pour exporter le format de page des formulaires dans la propriété "pageFormat" de chaque fichier json du formulaire
catalogbooléenvrai pour exporter les définitions de tables et de champs
foldersbooléenvrai pour exporter les définitions de dossiers de l'Explorateur
settingsbooléenvrai pour exporter les paramètres de structure
menusbooléenvrai pour exporter les menus
tipsbooléenvrai pour exporter les infobulles
listsbooléenvrai pour exporter les listes
filtersbooléenvrai pour exporter les filtres
picturesbooléenvrai pour exporter les images à partir d'une bibliothèque d'images
resourcesbooléenvrai pour exporter le dossier Ressources
trashbooléenvrai pour exporter les méthodes et des formulaires placés dans la corbeille (*)
windowPositionsbooléenvrai pour exporter les emplacements de fenêtre
methodPreferencesbooléenvrai pour exporter les préférences de l'éditeur de méthodes
buildSettingsbooléenvrai pour exporter le fichier buildApp.xml
dataPathbooléenvrai pour copier, dans le fichier de préférences utilisateur du projet, le dernier chemin du fichier de données ouvert
directorybooléenvrai pour exporter les groupes et utilisateurs 4D
styleSheetsbooléenvrai pour exporter les feuilles de style (style sheets) en CSS
documentationbooléenvrai pour exporter les commentaires de l'Explorateur en fichiers markdown

(*) Le filtre "corbeille" est utile uniquement si les filtres "projectMethods" ou "forms" sont également sélectionnés.

Attention : Lorsque le paramètre options est passé et que l'objet "filter" est utilisé, vous devez déclarer explicitement chaque propriété destinée à l'export avec la valeur vrai. Lorsque cet objet est passé, 4D considère que toutes les propriétés sont, par défaut, fixées à faux.

Résultat

La commande retourne un objet qui indique le statut final de l'export ainsi que des informations sur les irrégularités et les erreurs survenues, le cas échéant. Les propriétés suivantes sont retournées :

Nom de propriétéType de valeurDescription
successbooléenVrai si l'export est réussi, sinon Faux.
messagescollectionCollection d'objets décrivant les irrégularités survenues durant l'export
[ ].severitytexteNiveau d'irrégularité. Valeurs possibles : "info", "erreur". Seul le niveau "erreur" définit la propriété "success" comme Faux.
[ ].messagetexteDescription de l'irrégularité ou de l'erreur, par exemple "Unsupported for object type"
[ ].errorscollectionPile d'erreurs (le cas échéant)

Note : Les objets listant des irrégularités peuvent contenir des propriétés supplémentaires selon le contexte.

Les erreurs peuvent être notamment :

  • des éléments dupliqués
  • des erreurs liées à la gestion de fichier (fichier déjà existant, fichier verrouillé, disque plein, etc.)
  • une propriété ou un objet formulaire non pris en charge (voir également ).

Exemple 1

Vous souhaitez exporter le fichier de structure de la base de données dans un dossier "Export" avec les paramètres par défaut :

 var $result : Object
 $result:=Export structure file("Export")
 If($result.success=True)
    ALERT("Export réussi")
 Else
    ALERT("Erreur durant l'export")
 End if

Exemple 2

Vous souhaitez exporter uniquement les méthodes projet et les méthodes base, ainsi qu'un fichier historique :

 var $option;$result : Object
 $option:=New object("filter";New object)
 $option.filter.projectMethods:=True
 $option.filter.databaseMethods:=True
 $option.withLog:="always"
 $result:=Export structure file("exportWithLog";$option)

Voir aussi

FORM Convert to dynamic