-    CLUSTERING: WHAT IS STORED WHERE    

Clustering - What is stored where in UD6

UD6/CMtool driver is a direct replacement for whatever database is storing your Uniface Repository.

Uniface repository is always stored in a database - stating with Dbase III for Uniface 5 and 6, to SOLID for Uniface 7 and in Uniface 10 maybe you are storing the repository in SQLite. But UD6 stores your source code in easy to read XML files, in a 'directory tree'. This is a database, but the database is made up of readable text files. If you change the XML text file using a plain text editor, then you change the Uniface repository database instantly.

This is not an Import/Export format, and does not require any change to how you work within the IDF.

Here is the basic directory structure, by default most directories contain 1 file per Uniface object, however this can be altered. For more detail please see details further down this page.

sources
applications.dir
components.dir
model-name1.dir
model-name2.dir
dtd.dir
globals.dir
control-panels.dir
device-tables.dir
include-procs.dir
messages.dir
global-procs.dir
translation-tables.dir
glyphs.dir
menus.dir
other.dir
registers.dir
relationships.dir
schemas.dir
subsystems.dir
templates.dir
entity-interface.dir
field-interface.dir
field-layout.dir
field-syntax.dir
field.dir
component.dir
entity
type-libraries.dir
model-name.dir
...
Container Directory
Start-up Shell's.
Forms, Services, Reports, and Templates.
Tables, SubTypes, Fields of this model1.
Tables, SubTypes, Fields of this model2.
DTD Definition (Uniface 7.2.06).
 
Control Panels1.

What is stored in each directory

Uniface sources are grouped together with like objects, and then 'split' into logical elements.

For example a Forms and Component Varaiables (registers) go together, and are divided up by 'form name'.

The following sections describe the two most common ways of clustering the Uniface sources, followed by a detailed description of the mapping between the Uniface Relational Repository model and the UD6 Directory structure. Most of these settings can be altered using the UD6 configuration files.

One file per object

Global objects such as messages, and include procs can be stored individually or as a single file per library.

This example shows one file per message:

sources
globals.dir
control-panels.dir
device-tables.dir
include-procs.dir
messages.dir
TRUST-F_AFA_SATZ_LINE-D.XML
TRUST-F_AFA_VALUTA-D.XML
TRUST-F_AGIO-D.XML
TRUST-F_ANREDEBRIEF-D.XML
TRUST-F_ANREDE-D.XML
.
.
.

One file per library/language

Global objects such as messages, and include procs can be stored individually or as a single file per library.

This example shows one file per library:

sources
globals.dir
control-panels.dir
device-tables.dir
include-procs.dir
messages.dir
TRUST-D.XML
TRUST-USA.XML
.
.
.

Mapping between repository model and UD6 Directory Structure

The UD6 configuration file JOINS is a text file that controls how entities are mapped to files. Customers can change this, however it is recommended you discuss your changes with the support team.

The one exception to this is the global objects: include procs, global procs, global variables/global registers, messages, keyboard translation tables etc. Prior to Uniface 10, these are all stored in one table: USOURCE, and so one UD6 rule applies to all records - however you can enable 'newglobals' setting to use a fixed alternative clustering for USOURCE. In Uniface 10 this works a bit differently since the clustering is primarily controlled by the JOINS configuration file.

NEWGLOBALS V2, NEWMSG

include procs one file per include proc
global procs one file per global proc
messages one file per library & language
keyboard translation table one file per keyboard translation table
device table one file per device table
control panel one file per control panel

NEWGLOBALS

include procs one file per library
global procs one file per proc
messages one file per library per language
keyboard translation table one file per keyboard translation table
device table one file per device table
control panel one file per control panel

Read more about Uniface Version Control

$Revision$ $Date$[go to top]