Category: Programs and Utilities

The Original Internet Language

Object Key Description

ZOM tags each object with a unique key called the object key. The ObjectKey uniquely identifies an object, even in computing environments where the development tools are not live-linked by means of a network. Some characteristics of the ObjectKey are as follows: ObjectKeys are hidden from the user. ObjectKeys are automatically generated by the tools…
Read more

Advanced ZOM Object Selection Criteria

Two advanced selection criteria are described for selecting objects when using the ZOM services. Selection Syntax Description Difference Status p n | ch | r | m Selects objects based on the results of using ZOMDiff or ZOMImport to compute the difference between two different sets of objects, one in the Object Dictionary and one…
Read more

Object Dictionary Extensions for ZOM

ZOM stores and manipulates information in the Zim Object Dictionary. This information is stored in fields in the Object Dictionary tables, and additional tables. ZOM Fields in the Object Dictionary ZOM uses the following fields in the Object Dictionary EntitySets EntitySets, Relationships, Roles, Fields, Documents, Windows, Displays, Forms, Menus, Directories, Variables, NamedSets and Constants: ObjectKey…
Read more

Invoking a ZOM Service

When ZOM services are being used from the command prompt, the general syntax is service > > [> target] service is the name of the ZOM service to invoke selection determines the objects on which to operate option specifies processing options target indicates where the resulting object(s), if any, are to be placed The selection…
Read more

Preserving Data When Objects Change

Some objects contain persistent data (i.e., EntitySets and relationships with fields). When changing the definitions of objects containing persistent data using the ZOM services, you can choose to have the data preserved or discarded. You indicate that data is to be preserved for an object by setting the datasave property. You can set and reset…
Read more

Single Person Development Projects

All the ZOM services and features and development approaches mentioned above also apply to single-person development projects as well. In fact, these can be applied to your advantage anytime development is spread across multiple development environments regardless of the number of people involved. For example, there are often several versions of an application representing various…
Read more

The Peer-to-Peer Development Approach

Another common approach to team development projects is to maintain separate development environments for each developer and synchronize the development environments from time-to-time by merging changes from one environment directly into another. This approach is referred to as peer-to-peer development. Peer-to-peer development is similar to master-slave development except there is no master environment. Each development…
Read more

Verifying Imported Objects before Merging

To gain more control when importing objects, you can import objects first into a “staging area” to verify the incoming objects before bringing them into the application proper. ZOM provides a staging area called the “Shadow Object Dictionary” which is a mirror image of the Zim Object Dictionary. Once in the Shadow Object Dictionary, you…
Read more

Using Locks for Change Control

Combining ZOMImport and ZOMExport with keywording and object locking can give you a great deal of control over the management of the application as a whole. Let’s assume that the master is to receive Steve’s work, but needs to protect the application from any changes that Steve has made outside his defined task of user…
Read more

Master-Slave Development Approach

A typical configuration for projects involving multiple developers is separate development environments for each developer and a master environment that contains the combined results of the project team. This development approach is referred to as master-slave development. Each developer’s environment is called a “slave” to the “master” environment. From time to time, a developer merges…
Read more

en_CAEnglish