Loading Your Schema

You can load (install) an extract file into the current schema at any time; for example, when you are:

You can load:

For details about the order in which files should be loaded into a deployed database, see "Before You Get Started", in the Schema Load User's Guide.

You can load a schema or forms file separately, if required.

A schema view is not set to the current view during the load process. (For details about setting a schema view, see "Setting a Schema View", in Chapter 3.)

If you have mapping logic on subclassed controls, other processes such as the Jade Painter, Translator utility, or the loading of schemas may also execute that logic. The logic therefore may need to perform checks to determine if it is running in the user application environment, to ensure that exceptions are not generated in these other situations.

As schema and forms definition files are treated as binary files, if the File Transfer Protocol (FTP) is used to transfer schema and forms definition files between machines, you must ensure that the transfer is done in binary mode (rather than ASCII) to prevent the removal of carriage return characters and the failure of the schema load process, particularly when schemas are encrypted.

You can also load an external database schema, ActiveX type library, relational view, or an RPS mapping. For details, see "Loading an External Database Schema", in Chapter 3 or "Extracting and Loading ActiveX Schema Definition Data" or "Extracting and Loading .NET Schema Definition Data", in Chapter 16, "Loading a Relational View", in Chapter 9, or "Loading an RPS Mapping", in Chapter 15, respectively. For details about loading an extracted class, method, or extracted Jade Report Writer file in a multiple schemas file (.mul), see "Multiple Schema File Syntax", earlier in this chapter.

If a schema load is attempted when a reorganization is in progress (regardless of whether the reorganization progress dialog is displayed), the load fails. For details about reorganizing schemas, see "Reorganizing Your Schema", in Chapter 3.

You can load form and data definitions in XML DDX format instead of the legacy DDB format when the Extract as DDX (xml format) instead of DDB check box on the Source Management sheet of the Preferences dialog is checked (it is unchecked, by default) and form and data definitions were extracted with the Forms/Mappings as XML (ddx file) check box on the Extract dialog checked.

From Jade 2020, the DDX extract process extracts all defined non‑virtual primitive properties and primitive array properties on controls. (Virtual properties on other included classes are not extracted.) This change means that if you load DDX files into Jade 2020 and higher that were extracted in Jade 2018.0.01, there will be many differences in the contents of the DDX file.

DDX files extracted in Jade 2022.0.01 will not load into the Jade 2020 or 2018 releases because they contain additional information and therefore are not backwards‑compatible. In addition, compact DDX files extracted in Jade 2022.0.02 and higher will not load into Jade 2022.0.01 or any earlier Jade releases.

The 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 first line of a .ddx file has the <?xml... header. The format of the second line is:

<schema name="schema‑name" JadeVersionNumber="Jade‑version" [Compact="true"] 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 Compact="true" tag and value are displayed only if the file was extracted as a compact DDX 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 form and data definition (.ddb or .ddx) load process displays a warning message if a control does not have a property reference on the form when handling form translations, the form becomes invalid, and a jommsg.log entry with the following format is output.

******Warning: Control name on form name has no form control reference.

Ensure that the schema metadata (.scm) and form and data definition (.ddb or .ddx) files match.

For details about automating the loading of schemas in batch mode (for example, from a command script), see "Loading Schemas in Batch Mode using jadloadb" or "commandFile", in the Schema Load User's Guide.