1 Introduction
1.1 Purpose and Scope
The CUDB LDAP Schema Management GUI is a graphical application that allows editing the Lightweight Directory Access Protocol (LDAP) schema files. The document describes how to work with projects and schemas, and how to edit schemas within a project.
The screenshots contained in this user guide may show different font sizes or font types, depending on the graphical libraries used to run the tool.
1.2 Revision Information
This document is based on 1/1553-CNH 160 6161/9 and contains editorial changes only.
1.3 Typographic Conventions
Typographic conventions can be found in the following document:
2 Running the Application
The Schema Management GUI must be installed to an external device running Linux, not on the System Controllers (SC) of the CUDB nodes. Run the application with the following command:
<DIR_TOOLS>/schemaMgmt/schemaMgmt
In the above command, <DIR_TOOLS> is the Schema Management Tool installation directory
| Note: |
The execution directory of the above command is also the
workspace directory of the Schema Management GUI. To ensure workspace
persistency, execute the command from a non-temporary directory. |
The schemaMgmt command supports the following command options:
USAGE schemaMgmt : starts the application with log level INFO schemaMgmt -l|--logLevel [ALL, DEBUG, INFO, WARN, ERROR] : starts the application with the log level specified schemaMgmt -h|--help : shows this help
3 Window Management
This section describes the main components of the Schema Management GUI.
3.1 Main Window
The Schema Management interface consists of three main components as shown below in Figure 1. Click on a colored area for a description of the respective view.
The three major window areas are as follows:
These views can be minimized or maximized with the two icons in the upper right corner of each view.
3.2 Project View
The Project View is the main entry point of the graphical interface. It provides contextual menus for creating and deleting schemas within a project, and creating and deleting object classes and attributes within a schema.
The Project View displays the information about the projects and schemas in an hierarchical way. Projects are the main containers for schemas. Therefore, schemas can only exist in the context of a project. All data within a schema (that is, objects and attributes) are visible to all schemas in the project. This means that attributes defined in one schema can be used in other schemas as well.
| Note: |
Although the Schema Management GUI allows the existence of
cross-references between the schemas, these are not allowed in OpenLDAP,
where the schema load order defines the allowed dependencies. |
For more information about the projects, see Managing Projects.
3.3 Editor View
Editors provide the actual graphical interface for modifying specific data. As a general rule, data is not actually modified until saved.
The view contains three different editors:
All editors are shown in a new tab in the Editor View when they are opened.
3.3.1 Schema Editor
The Schema Editor provides information about the object classes and attributes in a schema, and also shows the comments contained in the schema file. These comments have certain limitations: see Commenting Schemas for more information.
The Schema Editor consists of the Overview Tab (see Overview Tab) and the Source Code Tab (see Source Code Tab).
3.3.1.1 Overview Tab
The Overview Tab is shown in Figure 2. This tab provides three panes that are used to show the schema comments, and the names and OIDs of the object classes and attributes in the schema. The object classes and attributes listed in the tab can be edited by double-clicking on them, which opens the corresponding editor.
New object classes and attributes can be added by clicking on the
and
buttons respectively,
while existing object classes and attributes can be deleted by clicking
on the
or
buttons, respectively. Attribute and object class lists can be sorted
by name or OID by clicking on the column title of each table.
3.3.1.2 Source Code Tab
The Source Code Tab is shown in Figure 3. This tab shows the schema information as it is stored in the schema file, using highlighted syntax. The code shown in the Source Code Tab is not editable.
3.3.2 Attribute Editor
The Attribute Editor provides information about a particular attribute of a schema, and allows the modification of the attribute properties.
The Attribute Editor consists of the Overview Tab (see Overview Tab) and the Source Code Tab (see Source Code Tab).
3.3.2.1 Overview Tab
The Overview Tab is shown in Figure 4.
The Overview Tab shows detailed information about the selected attribute, and consists of the following two sections:
3.3.2.2 Source Code Tab
The Source Code Tab is shown in Figure 5.
The Source Code Tab shows the source code of the attribute as it is stored in the schema file. The code is not editable in this window. When the attribute is edited in the Overview Tab, the new information appears automatically in the Source Code Tab, even if the attribute has not been saved yet.
3.3.3 Object Class Editor
The Object Class Editor provides information about a particular object class in a schema, and allows modifying the object class properties.
The Object Class Editor consists of the Overview Tab (see Overview Tab) and the Source Code Tab (see Source Code Tab).
3.3.3.1 Overview Tab
The Overview Tab is shown on Figure 6.
The Overview Tab shows detailed information about the selected object class, and consists of the following three sections:
3.3.3.2 Source Code Tab
The Source Code Tab is shown on Figure 7.
The Source Code Tab shows the source code of the object class as it appears in the schema file. The code is not editable in this window. When the object class is edited in the Overview Tab, the new information appears automatically in the Source Code Tab, even if the object class has not been saved yet.
3.4 Log View
The Log View (shown in Figure 8 below) provides information about the progress of the operations performed in the Schema Management GUI. The Log View shows messages only with severity equal or above the defined log level (see Running the Application for more information).
The Log View displays the following information about every event:
The icons in the upper right side of the Log View window allow performing the following actions (from left to right):
Use the Search textbox at the top of the log message list to search for specific messages in the log list. When something is typed in the textbox, the messages containing the typed text are listed.
Log messages can also be hidden: to do so, right-click on the header of the columns, and uncheck the log levels, messages, or dates to hide.
4 Managing Projects
Projects are the main elements of the Schema Management GUI. The Project View shows all projects contained in the workspace, but only one project can be opened at a time.
4.1 Creating a Project
To create a new project, right-click on the Project View, and select the New > Project command from the shortcut menu. Alternatively, select the same command from the application menu. After that, a wizard window is shown as seen in Figure 9 below.
The wizard allows to specify the project name and location. By default, the new project is stored in a folder named workspace, located in the launching directory of the Schema Management GUI. After clicking the Finish button, a new folder is created in the specified location, and the project is shown in the Project View as an open project. Only one project can be opened at a time, so other projects and the editors open for them will be closed.
4.2 Deleting a Project
Perform one of the following steps to delete an existing project:
If any of the above steps is performed, a pop-up window appears as shown in Figure 10, asking to confirm the operation.
| Note: |
Once the project is deleted, it cannot be recovered. If a
project is deleted, the project folder and all related schema files
are also deleted from the file system. |
5 Managing Schemas
A schema is an LDAP schema file defining a list of attributes and object classes. The Schema Editor allows to create new schemas, or to import existing schema files.
5.1 Creating an Empty Schema
To create a new schema, open the project where the schema will be created.
Perform one of the below procedures to create a new empty schema:
Once one of the above actions is performed, the New Schema Wizard is launched, as shown on Figure 11.
5.2 Importing an Existing Schema
Perform one of the below procedures to import an existing schema:
Once one of the above actions is performed, the Schema Import Wizard is launched, as shown on Figure 12.
The wizard allows to select a schema file from the file system and to change the name of the selected schema in the project. The wizard also shows the name of the project that will contain the new schema.
5.3 Commenting Schemas
In a schema file, comments are lines starting with a number sign (#). Comment lines can be modified in the Overview Tab of the Schema Editor. The Schema Management Tool can only manage comments that are located on the top of schema files, before any non-comment line is found (either blank lines, or lines containing actual schema definition information), as shown in Figure 13.
| Note: |
If a schema file is imported to a project, and it is modified,
all comments contained in the file will be lost, except the comments
located at the beginning of the file before the actual schema definition
content. |
The schema shown in Figure 13 is loaded into the Schema Editor as shown in Figure 14:
Due to the comment removal logic described at the beginning of this section, the comments at line 5, 10, 11 and 12 in Figure 13 are lost after the file is loaded into the Schema Editor. This is because these comments are preceded by empty non-commented lines, and actual schema definition information.
When the comments of a schema are modified, an asterisk appears at the beginning of the schema name as shown in Figure 15. The asterisk indicates that the schema contains unsaved changes.
5.4 Renaming a Schema
To rename a schema, perform one of the below procedures:
Once one of the above actions is performed, the pop-up window shown in Figure 16 appears, asking for the new schema name.
5.5 Deleting a Schema
Perform one of the below procedures to delete an existing schema:
Once one of the above actions is performed, the schema file is deleted from the system. In case the schema to delete contains any attributes and object classes used in other schemas of the project, inconsistencies can occur: the GUI indicates this with a pop-up window shown in Figure 17. The window lists all attributes and object classes that are used in other schemas of the same project, and that depend on the data in the schema to be deleted.
6 Managing Attributes
This section describes how to manage attributes in a schema.
6.1 Creating an Attribute
Perform one of the below procedures to create a new attribute in a schema:
Once one of the above actions is performed, the New Attribute Wizard opens, where the new attribute can be created in two steps. In Step 1 (shown in Figure 20), the basic information of the attribute must be added. This includes the following:
Step 2 of the wizard (shown in Figure 21) is used to introduce the matching rules of the new attribute.
Once all the information of the new attribute is filled in, click on the Finish button. After that an Attribute Editor window opens (see Attribute Editor), showing the properties of the new attribute. The new attribute is also added to the Project View. When a new attribute is created, the schema file is automatically updated: therefore, it is not necessary to save the schema after creating an attribute.
6.2 Modifying an Attribute
The properties of an attribute can be modified through the corresponding sections of the Overview Tab in the Attribute Editor (see Figure 4). The properties available for modification are as follows:
The window can also be used to modify the Matching Rules (Equality / Ordering / Substring) by selecting the desired rule from the drop down list, or by directly writing a valid OID to the textbox on the right. If the typed OID is not valid, the window will display an error. If a new OID is introduced, it must be unique within the project.
6.3 Moving an Attribute
Use the Move option to move an attribute from its current schema to another schema within the project. When clicking on the option, a pop-up window appears (shown in Figure 22), allowing to select the new schema where the attribute will be moved to.
6.4 Deleting an Attribute
Perform one of the below procedures to delete an attribute in a schema:
If the attribute to delete is used in other schemas of the project, the project can end up in an inconsistent state. To avoid this situation, a warning pop-up window appears listing the attributes and object classes used in others schemas of the same project.
Once one of the above actions is performed, the attribute is deleted. In case the attribute to delete is used in other schemas of the project, inconsistencies can occur: the GUI indicates this with a pop-up window shown in Figure 23. The window lists all attributes and object classes that are used in other schemas of the same project, and that depend on the attribute to be deleted.
7 Managing Object Classes
This section describes how to manage object classes with the Schema Management GUI.
7.1 Creating an Object Class
Perform one of the below procedures to create a new object class:
Once one of the above actions is performed, the New Object Class Wizard opens, where the new object class can be created in two steps. In Step 1 (shown in Figure 26) the basic information of the object class must be added. This includes the following:
In Step 2 of the wizard, mandatory and optional attributes can be defined. Use the Add buttons to open the list of possible attributes, and add them to the list of mandatory and optional attributes.
Once all the information of the new object class is added, click on the Finish button. This opens the Object Class Editor showing the new object class (see Object Class Editor for more information). The new object class is also included in the Project View. When a new object class is created, the schema file is automatically updated, so it is not necessary to save the schema after creating an object class.
7.2 Modifying an Object Class
The properties of an object class can be modified through the corresponding sections of the Overview Tab in the Object Class Editor (see Figure 6). The properties available for modification are as follows:
The window can also be used to configure the mandatory and optional attributes of the object class in separate textboxes as follows:
7.3 Moving an Object Class
An object class can be moved from its current schema to another schema within the project with the Move option. When clicking on the Move button, a pop-up window appears (shown in Figure 28), allowing to select the new schema where the object class will be moved to.
7.4 Deleting an Object Class
Perform one of the below procedures to delete an object class from a schema:
Once one of the above actions is performed, the object class is deleted. In case the attribute to delete is used in other schemas of the project, inconsistencies can occur. To avoid this situation a warning pop-up window appears listing all the object classes used in other schemas of the same project.

Contents