The .ddb form and data definition file is output using a specialized format that is difficult for humans to read and to compare the file against other versions of the file to detect what has been changed. The file also contains JADE oids, which makes comparison impossible.
You can now extract and load form and data definition files in the XML Device Data Exchange (DDX) format instead of the default existing Device‑Dependent Bitmap (DDB) format. This XML format does not include JADE oids. All entities are identified by name and by their position in the XML object hierarchy. You can compare the DDX file to another version of the file, to identify what has changed between the two versions.
The following changes have been made to the load and extract processes and to the JADE development environment.
All load dialogs that contain a forms‑name control for the loading of schema definitions (for example, the Forms File Name text box) for the name of the .ddb file type now allow the .ddx file type.
When a definitions file is to be loaded, the file header is examined to determine if it is a JADE XML DDX format (.ddx) file. If it is a DDX format file, it is loaded using new XML handling routines. If the definition file is not a valid .ddx file, it is assumed to be the older style .ddb type file and loaded accordingly.
The first line of a .ddx file must have the <?xml... header. The format of the second line is:
<schema name="schema‑name" JadeVersionNumber="JADE‑version" JadePatchNumber="patch‑number" CompleteDefinition="true|false">
The following is an example of the first and second lines of the XML file.
<?xml version="1.0" encoding="utf-8"?> <schema name="CalculatorSchema" JadeVersionNumber="18.0.01" JadePatchNumber="0" CompleteDefinition="true">
The schema name, which specifies the schema the information is for, must be included.
The JadeVersionNumber tag identifies the version of JADE that was used to produce the file.
The JadePatchNumber tag specifies the patch number to use for the load; otherwise the current patch number is used.
The CompleteDefinition tag, which must be present, specifies whether the file is a complete definition for the whole schema or it is a partial schema. If the value of the CompleteDefinition tag is true, any existing entities not included in the file are deleted.
The Extract Options sheet of the Extract dialog now contains the Extract Forms/Data as XML (ddx file) check box. If the check box is not checked, the forms and data definition file format type defaults to ddb, and an older‑style DDB file is produced. Check this check box if you want the forms and data definition file type to default to ddx), and a newer‑style XML file produced.
The value of this check box defaults to the value of the new Use DDX style (xml format) as Default instead of DDB check box on the Schema sheet of the Preferences dialog. By default, this check box is unchecked; that is, schemas are extracted as .ddb files.
The value of the ddbFile argument in the jadloadb batch Schema Load utility and non‑GUI JadeSchemaLoader application command lines when running from a command script can be the fully qualified name of the forms and data definition .ddb or .ddx file; for example:
jade.exe schema=RootSchema app=JadeSchemaLoader path=d:\jade\system ini=d:\jade\myjade.ini AppServer=MyAppServer AppServerPort=1234 startAppParameters schemaFile=d:\jade\scm\test.scm ddbFile=d:\jade\scm\test.ddx dontSaveSources=true deletePropertiesIfAbsent=true loadStyle=onlyStructuralVersioning replayableReorg=true compileUnchangedMethods=true endAppParameters
For any batch load or extract process, specifying a forms and data definition file extension of .ddx results in the newer-style XML file being loaded or extracted; otherwise a .ddb file is processed.
The value of the ddbFile argument in the jadclient non‑GUI application when extracting a schema from a command script can be the fully qualified name of the forms and data definition .ddb or .ddx file; for example:
jadclient path=e:\jadesystems\test\system ini=c:\jade\system\jade.ini app=JadeBatchExtract schema=JadeSchema server=singleUser startAppParameters File d:\temp\delta.scm d:\temp\delta.ddx d:\temp\param.unl DbTestSchema delta=DeltaTwo
In earlier releases, extracting a Window or JadeHTMLClass subclass prompted you for the location and file name of the class (.cls) and used the same name and location for the .ddb file.
The Extract dialog is now displayed, so that you can also specify the type of the forms and data definition file (that is, .ddb or .ddx), as well as the file location and names.
Extracting an exported package using the JADE development environment now also displays the Extract dialog, so that you can specify the type of the forms and data definition file (that is, .ddb or .ddx) to produce.
When extracting a schema with an RPS mapping and the DDX format style is selected, a separate .ddbx file is produced as for a DDB extract but the file contents are in XML format.
When extracting a schema metadata file and form and data definitions file with the DDX file format, the Global class of the schema is extracted but the data is ignored when the schema is loaded. (For a DDB format file, the Global class is not extracted.)
The global information in the DDX file is ignored for consistency and because it creates a situation where the data cannot be loaded until a reorganization is performed if the Global class is marked for reorganization.