Bound data structure
Glossary Item Box
Introduction
Application comes with full multilanguage support since version 7.8. As a result, the storage structure of resources and bound data has been reworked.
Data binding specifics (compared to version 7.8):
- A new SysPackageDataLcz table now contains localized bindings data.
- A new mechanism for creating and installing bindings.
- A new SVN data storing structure.
The SysPackageDataLcz localization table
An additional table is used for storing localized bound data:
Table 1. SysPackageDataLcz table columns
Column name | Description |
---|---|
Id | Unique identifier. |
SysPackageSchemaDataId | A reference to the unique binding identifier in the SysPackageSchemaData table. |
SysCultureId | Unique culture identifier reference. |
Data | Localized data. |
ATTENTION
The binding mechanism interface is identical to that of the previous versions.
Creating a binding
If a schema does not contain localized columns, the bound data for this schema is still stored in the SysPackageSchemaData table. Data binding for a schema with localized columns:
- The bound data is still stored in the SysPackageSchemaData table.
- The SysPackageDataLcz table contains localized bindings data.
- Every record in SysPackageDataLcz corresponds with a record in SysPackageSchemaData, with a reference to the unique SysCultureId identifier. For example, if two cultures (English and Spanish) are installed in the system, each entry in the SysPackageSchemaData table will correspond to entries in the SysPackageDataLcz table, with a reference to the corresponding record identifier in the SysPackageSchemaData table, and the culture identifier in the SysCulture table.
Installing bound data
Installing data for a schema without localized columns is done in the corresponding schema table. If the data includes any localized values (i.e. there are corresponding records in the SysPackageDataLcz table), the installation occurs not only in the corresponding schema table, but also in its localized Sys[schema_name]Lcz table.
For example, the bound data for the ContactType schema is installed. Non-localized data is installed in the ContactType table, and the localized data is installed in the ContactType table (default culture values), and the SysContactTypeLcz table (the values of all other cultures included in the binding and in the system).
ATTENTION
If you are working with a system schema (the name begins with the “Sys” prefix), then the “Sys” prefix is not re-added to the localization table. For example, if the schema name is SysTest1, the localized data table name will be SysTest1Lcz, and not SysSysTest1Lcz.
Storing data in SVN
The structure of storing the bound schema data in SVN for application version 7.8 and higher:
Fig. 1. SVN data storing structure
Non-localized data is stored in the data.json file. All localized data is located in the corresponding files in the Localization subdirectory. For example, for the Country schema of the Base package, the data is localized for only two languages and stored in the corresponding files - data.en-US.json and data.es-ES.json (Fig. 1).