Object Navigator
Last updated
Last updated
The Object Navigator, located by default to the right of the dqMan screen, provides easy, fast and comprehensive access to the properties and connections (such as ACLs, owner names, relations, subscriptions, lifecycles, workflows and so on) to any other object in the repository.
You can edit any properties directly in the Object Navigator and you can also follow connections to other objects similar to a web browser by simply clicking the link to open the dependent object in the Object Navigator. Moreover, all available actions like object functions, type scripts and plugins are also available making Object Navigator first choice of working with single objects.
You can open Object Navigator and load new objects in any of the following ways:
Use any explicitly identifiable object anywhere within dqMan, such as r_object_ids
in any text area such as lists, logs, tails and so on,
or
Any object in the Repository Navigator,
or
Distinct values in the DQL result list, such as acl_name
, owner_name
, r_object_type
and so on.
After selecting an identifier, you can load the object into Object Navigator either by pressing F12, by selecting Extras menu>Navigate Object or by long-clicking the object and then releasing the click when the cursor changes.
If the clipboard contains a valid r_object_id
, you can load this object by pressing Alt+N or by clicking Extras menu>Navigate Object from Clipboard.
Follow a link to a dependent object, as described earlier in this publication.
Press Alt+O or click View menu>Object Navigator to open it without selecting any object. This is useful to display an already loaded object again or to use the Quick Pick function (see later) to directly search for an object.
Load an object within an object function using the script command FetchObject
.
After any of these procedures, the Object Navigator will open if it is not already visible.
For handling objects, the Navigation Bar has functions that you can identify by the tooltips displayed after hovering your cursor above the desired icons:
Filter: search using a filter as you type
The Quick Pick search function provides fast access to objects in the repository. You need to enter two strings in the top edit field to start a search:
The first string is part of the object type to be searched in. You can either enter the complete type name, such as dm_user
, or part of the type name, such as user
. In the latter case, the search will be conducted in all types containing the keyword user in the type name (dm_user, dm_message_user_data, dm_message_route_user_data, dmc_workqueue_user_profile
and dmc_wq_user_skill
).
The second string is a part of the object name. Valid searches include, for example, user admin, acl preset, folder template and so on.
Press return or click Search to start the search. Search results are displayed in a list and you can double-click or press Enter to open the selected object in the Object Navigator. Single objects are loaded without showing the result list.
The result list remains available until the next search.
If only one search string is provided, the search is presumed to be run in the default dm_sysobject
type. In the title bar, the name of the currently selected object and its type are displayed.
The attribute area displays all the attributes of the object and their values, which you can modify within the navigator. The context menu of the attribute area provides additional functionalities, as follows:
Function | What It Does |
---|---|
Copy | Copies the selected value to the clipboard. |
Copy value of | (Shortcut) Copies the selected value of the object to the clipboard. For more information, see the Configuration section later in this document. |
Edit | Opens an inline editor to modify the selected property value. |
Add to Compare List | Adds the current displayed object to the Object Compare List. |
Destroy Cabinet/Destroy Folder | Recursively destroys all subfolders of the currently displayed folder and the displayed folder itself, including all the contained objects. If these objects are linked to more than one folder, you can only destroy the links. |
Open in foldertree | Selects the folder in the folder tree of the Repository Navigator (it will open if not already visible). |
Create ticketed user session | Creates a dqMan session for the displayed user by generating a login ticket. |
Object Functions | Displays all object functions available for the current object. |
Type Scripts | Displays the available type scripts for the current object. |
Plugins | Displays the plugin functions for the current object. |
The tabs at the top of the attribute area provide various ways to order the attributes.
Function | What It Does |
---|---|
Attributes | Orders the attribute in alphabetical order. |
by | Orders the attribute by type hierarchy. |
by Category | (Classical dump) Orders the attribute by category. |
The connection area contains more links to other objects, depending on the object type. If this connection is using another object, such as a dm_relation
object, the link to this object is also provided in the Via column.
Predefined connections include, among others:
Relations
Subscriptions
Ownerships
Memberships
Virtual parents or children
Lifecycles
Workflows
Folder links
The listed connections are usually limited to 50 for performance reasons. If all are needed, the context menu offers a function to execute the underlying query in the DQL window.
Configuration
The Object Navigator configuration is stored in the file dqManObjectNavigator.xml in the /config subdirectory of the dqMan home directory (c:\program files\dqMan).
The configuration is done in different sections within the file, as follows:
Section <identifiers>
Identifiers are used to uniquely identify objects by the value of an attribute (for example, an acl_name
identifies a dm_acl
object) and are used in the DQL result list or the Object Navigator itself.
The attributes can be either single or repeating. Identifiers consist of an attribute name (columnname="acl_name"
) and a qualification (qualification="dm_acl where object_name='{*}'”). The value of the attribute is represented by {*}.
<identifier columnname="acl_name"
qualification="dm_acl where object_name='{*}'" />
<identifier columnname="a_content_type"
qualification="dm_format where name='{*}'" />
<identifier columnname="content_type"
qualification="dm_format where name='{*}'" />
<identifier columnname="r_accessor_name"
qualification="dm_group where group_name='{*}' union select r_object_id from dm_user where user_name='{*}' and r_is_group=0" />
Section <copy_attributes>
Copy attributes fill the submenu of the Copy Value of function from the Attributes area. It is a simple list of all possible values. The submenu is filled with all attribute names that are valid for the currently loaded object.
<copy_attributes>
<attribute name="r_object_id" />
<attribute name="object_name" />
<attribute name="group_name" />
<attribute name="user_name" />
</copy_attributes>
Section <translations>
Translations are used to make cryptic attribute values more readable. (e.g. Boolean values can be translated to true or false). To take effect, translations have to be assigned to attribute values in the objecttypes section.
<translation name="user:user_state" bitwise="F"> <value source="0">Active</value> <value source="1">Inactive</value> </translation>
<translation name="boolean" bitwise="F"> <value source="T">True</value> <value source="F">False</value> </translation>
Section <objecttypes>
The objecttype section assigns translations to the attributes of an object type and defines queries for connections to other objects. Object types can inherit definitions from other object types.
The type dm_cabinet
inherits all settings (translations and connections) from dm_folder
. Additionally, the attribute is_private
is assigned the translation named boolean:
<objecttype name="dm_cabinet" extends="dm_folder">
<attributes>
<attribute name="is_private" translation="boolean" />
</attributes>
</objecttype>
Connections are defined as a DQL query, whereas defined labels are used to assign the result to the Object Navigator columns.
<relation name="packages" label="Workflow Packages" limit_to="50">
select
r_object_id as relation_id,
'dmi_package' as relation_label,
r_component_id as target_id,
r_component_name as target_label
from dmi_package
where r_workflow_id = '{r_object_id}'
order by 4
</relation>
The number of results of a query can be limited by setting the limit_to
value for the connection. This is useful to limit the loading time of an object.
Attributes in curved brackets reference the currently loaded object in the navigator.
The resulting values are displayed in the Object Navigator: target_label
in the column To/From and relation_label
in via. If the label is omitted, the target_id
or relation_id
will be displayed instead. If no relation value is queried, the column via remains empty.
This chapter describes only the basic principle of the Object Navigator configuration. There are many more examples to be found in the dqManObjectNavigator.xml.
History of loaded objects (navigate using the Previous Object and Next Object functions)
Reload button to refresh currently displayed object
Quick Pick, a fast search for objects