Defining Common Folder Objects

Defining common folder objects is part of the Schema Update process.

About this task

Schema Update uses a template generated from one database to update the schema of another. This is useful when you have a group of databases which you need to keep consistent in their design and content. Updating a database schema can only be done in iBase Designer using the Update Schema command. See the Designer online help for more details. The full process for updating a schema is as follows:

  1. In iBase, define the group of folder objects in the Common Folder Objects dialog that you want as a core set of folder objects across a number of databases. You can, if required, view or edit an object (such as a query or browse definition) to test that it is the one required or update it, before making it common.

Sets cannot be defined as common folder objects as they refer to specific records in the database, which will not exist in other databases.

  1. In iBase Designer, make any other changes to the schema that you want to apply to the databases.
  2. Generate the template.
  3. Use Schema Update to apply the template to each database in turn. The common folder objects will be synchronized between the source database and target database, that is, the result of the update will be that the same set of folder objects exists in both databases.

Common folder objects across databases:

  • have identical names
  • are in the same categories
  • have an identical definition

Procedure

To define a folder object as a common folder object
  1. From the Tools menu, select Common Folder Objects. The Common Folder Objects dialog is displayed. It lists all the folder objects in the database.
  2. In the Types area, select the type of folder object that you want to review. Sets are excluded from the list because they are dependent on specific records existing in the database. Labelling schemes are also excluded. The hierarchy of folders and the objects in the All folder are listed on the right.
    • To include a folder object in the template, turn on its checkbox. When the template is used to update the schema of another (target) database, the object will be added to the group of common folder objects in the target database. If the object exists as a common folder object in the target database already, it will be updated so that it matches the object in the template.

      Categories are also copied across so that there is a consistent set for all common folder objects.

    • To exclude a folder object from the template, turn off its checkbox. The object will be removed from the template. When the template is used to update the schema of another (target) database, the object will be removed from the group of common folder objects in the target database, if it exists. The folder object will still exist in the source database, from which the template was generated.

      If the common folder object has been renamed since it was last applied to other databases as a common object, this may cause a clash with another object in the target database which has the new name. In this case, the existing object in the target database is renamed - an underscore is added as a prefix. During the update process a message will inform you of any renamed objects in the target database. Renamed objects are easy to identify as they appear at the top of the list due to the underscore prefix.

  3. Click OK to update the common folder objects for this database. You will be warned if a common folder object:
    • is dependent on a set. Sets cannot be saved in a template so you must turn off the checkbox for any object that depends on a set.
    • is dependent on a folder object that has not been selected as a common folder object (or that has been deleted).

    The setting of these checkboxes is saved in the database and redisplaying the Common Folder Objects will display the common folder objects defined in the database.

    To make the folder objects common to a group of databases, you now need to create a template from this database, and apply it to each target database in turn using the Schema Update command in iBase Designer.