Controlling the Availability of Models, Objects, and Properties

An administrator can define object permissions profiles to hide models, objects, and properties, or make models available in read-only form for users or group of users. By default, all types of models, objects, and properties are available and you hide them (or make them read-only) by adding entries to an object permissions profile.

  1. Connect to the repository and then select Repository > Administration > Object Permission Profiles.
  2. Click the Create an Object tool, enter a name for the profile, select a template to start from, and click OK to create and open it in the Resource Editor.
  3. [optional] Click the Import Items tool to import an existing profile, review the items to be imported in the Merge dialog, and then click OK to complete the import.

    For detailed information about working with this dialog, see Merging Models. You can repeat this step as many times as necessary to import additional profiles.

    Note: PowerDesigner provides a number of example profiles, which you can combine as necessary and edit to support your particular workflow (see Example Permission Profiles).
  4. To modify the status of model types (modules) for users associated with this profile, right-click the root element and select Add Modules to Customize (or click the equivalent tool in the toolbar), select the modules and click OK to add them to the profile. Then select the appropriate status:
    • Undefined - [default] The module's availability is not specified in the profile. This status is useful when the profile will be combined with others, and these other profiles will determine the availability of the module. The module can be customized by hiding objects, object attributes, and collections.
    • Enable - The module is available to users associated with the profile, and can be customized by hiding objects, attributes, and collections.
    • Disable (Hide) - The module and all models of this type are hidden to users associated with the profile. No further customization is possible.
    • Read-Only - The module is available to users associated with the profile, but they may not edit models of this type. No further customization is possible.

    In this example, the OOM, DMM, LDM, and PDM are added to the profile to hide them from business users:


    Permissions Profile - Modules
  5. To modify the status of object types (metaclasses) for users associated with this profile, right-click the parent module, select Add Metaclasses to Customize (or click the equivalent tool in the toolbar), select the metaclasses and click OK to add them to the profile. Then select the appropriate status:
    • Undefined - [default] The metaclass's availability is not specified in the profile. This status is useful when the profile will be combined with others, and these other profiles will determine the availability of the metaclass. The metaclass can be customized by hiding attributes and collections.
    • Enable - The metaclass is available to users associated with the profile, and can be customized by hiding attributes and collections.
    • Disable (Hide) - The metaclass and all objects of this type are hidden to users associated with the profile. No further customization is possible.
    Note: To add a metaclass defined in a DBMS, language definition, or extension file to a permission profile, enter it by hand in the format metaclass::stereotype. For example, to hide Sybase IQ events, enter ExtendedObject::Event, and select the checkbox in the H column.

    In this example, the Application Architecture Diagram and Service Oriented Diagram metaclasses are added to the profile to hide them from business users:


    Permissions Profile - Metaclasses
  6. To modify the status of object properties (attributes and collections) for users associated with this profile, right-click the parent metaclass and select Add Meta-attributes to Customize or Add Metacollections to Customize (or click the equivalent tool in the toolbar), select the attributes or collections and click OK to add them to the profile. Then select the appropriate status:
    • Undefined - The attribute or collection's availability is not specified in the profile.
    • Enabled - The attribute or collection is available to users associated with the profile.
    • Disabled (Hidden) [default] - The attribute or collection is hidden to users associated with the profile.
    Note: To add an extended attribute defined in a DBMS, language definition, or extension file to a permission profile, enter it by hand. For example, to hide the DBSpace attribute for Sybase IQ tables, enter DBSpace, and select the checkbox in the H column.

    In this example, the entity Code attribute is added to the profile to hide it from business users:


    Permissions Profile - Attributes
    Note: You can propagate customizations of properties to other metaclasses, including to metaclasses in other types of models. Select a metaclass with customized properties and click the Apply to All Metaclasses in This Module or Apply to All Metaclasses in All Modules tool or right-click a meta-attribute or metacollection and select:
    • Apply to All Metaclasses in This Module - to propagate its customization to all other metaclasses that include this property in the present module. PowerDesigner will add the minimum number of metaclasses necessary to apply the customization by exploiting inheritance in the metamodel. This often involves adding the Named Object and a handful of other metaclasses.
    • Apply to All Metaclasses in All Modules - to propagate its customization to all other metaclasses that include this property in all the modules that are included in the profile. PowerDesigner will not add additional modules to the profile, so if you want to customize the property everywhere it appears, you must first add all relevant modules.
  7. Click OK to save the profile in the repository.