Skip to Content

PowerDesigner Preferences

Jan 22 at 01:23 PM


avatar image


I am new to PowerDesigner and am trying to figure out a few things. I'm hoping that someone out there would be able to assist.

1. Display preferences per diagram - How do I set Display Preferences for ALL class diagrams? Not per diagram.
2. How do I display custom attributes, inherited from the parent class, with its values on all classes?
3. How do I copy the definitions from the glossary terms to the objects where they are used, e.g. classes and attributes? I would also like to keep it in sync after an update is made to the term and it is approved.
4. For attributes that have a code and value (e.g. country code), what would be the best way to model this? I know that it would be possible to use a domain but is there any other option? Note: I would like to display the values in the class diagrams.
5. If I create term name as you would spell it in the real world (e.g. Account Management), and I selected "Enable Glossary for autocompletion and compliance checking", a dependency gets created to Account, Management and Account Management. This is not what I want. Is there a way to set up options such that it creates a dependency on the code rather than the name? Code in this example would be Account_Management.

Thanks in advance for your assistance!


10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
George McGeachie Jan 23 at 03:00 PM

Welcome to PowerDesigner, Mark :)

Here are short answers to your questions. From your questions, it looks like you're using the object-oriented model, so I'll answer them from that perspective.

  1. Click on "set as default" to make your current preferences apply to all new diagrams of that type; use "Apply To" to override the display preferences in other diagrams of the same type, in any model that is currently open.
  2. not sure what you mean here, please provide an example
  3. The definition of a class attribute and the definition of a glossary term may seem like they should be the same, and sometimes they really will be the same, but an entry in your glossary and a class attribute with the same name are nearly always not the same thing, so will not always have exactly the same definition. For example, "Cost of Goods Sold" could be defined in your glossary as a single concept; it could conceivably appear several times in an object model, with each instance having a subtly different definition. If you want your Glossary entries to exactly match your class attributes, I suggest you look again at your modellling methodology, or at how you're using your Glossary. Making the definitions match can only work if you only ever link one term to an attribute - why would you do that? that would mean having a Glossary entry for every Class Attribute, which doesn't make sense to me.
  4. Is this a modelling question, or a question about the use of PowerDesigner? I'm not sure, as you say "what would be the best way to model this?". Domains are the preferred method for holding allowed values in PD. By default, all the values and meanings for a domain are held in a text property, which is tricky to display on a diagram (it would involve creating an extended attribute { an extension of the metamodel for an object type} based on a script that parses the text to extract the values). Domains don't actually appear on diagrams (apart from their name), so the extended attribute would have to be on the class attribute, and you only have one line for each class attribute on a class symbol, which means there's nowhere to display them. They could be parsed into an extended attribute in the UML Class, and then they can be displayed on the diagram, though only as ASCII text. Whether or not that makes sense depends on your modelling methodology, and on how many vallues you expect - you would not want to list all country codes on a class diagram. You could use a Note symbol on the diagram to show selected values.
  5. The dependency is created to the Term, not to a property of the Term. By default, PD shows the names of linked objects on the Dependencies tab of an object, but you can customise it to show the codes as well, or instead.

That's an interesting set of questions!

Show 5 Share
10 |10000 characters needed characters left characters exceeded

Hi George,

Thanks for your response! And yes we are using the object-oriented model. :-)

Example for question 2: I have 2 classes, i.e. class1 (parent) and class2 (child) and I create a generalization between them. Class1 has a custom attribute called "GDPR Relevant". FYI, this attribute was created by clicking on the "Property Sheet Menu" button at the bottom left corner of the class properties. I would like this custom attribute to be displayed at the child. I have seen that it is possible to display the attributes on the attribute tab at the child classes. I would like the custom attribute to be displayed in the same way. Is this possible?



To make the GDPR extended attribute show up on the child attribute, create a computed custom attribute ("Parent Class GDPR Relevant"). I'm not familiar with the OOM metamodel, so I don't know if there's a link between the two attributes, apart from the link connecting the two classes.

To compute the Parent GDPR extended attribute in the child table, use the following logic:

if class.ParentGeneralizations.Count =1, access the GDPR extended attribute in the ParentObject, and set the new extended attribute to the same value.

If class.ParentGeneralizations.Count > 1, you need to decide what to do - do you follow them all, or something else?


I think there was a misunderstanding on question 5. Let me give more clarity on the issue.

I have in my glossary 2 terms Functional Location (code Functional_Location) and Geographic Location (code Geographic_Location). When I create a class with name "Functional Location", PD creates dependencies to terms as indicated below. On the creation of the class, I did select Functional Location, as it has been defined in the Glossary before I created the class.

I don’t want the dependency to term "Location". It seems I cannot delete it? Below is the model options indicating the activation of the glossary auto completion.

Is there any way to prevent this from happening?


dependencies.png (19.4 kB)

In your original example the "Account Management" class is linked to three terms - Account, Management and "Account Management".

That's how it works - it links to all the terms that match part of the object name. I don't think there's a way of changing that.

George McGeachie

Thank you!