What do these concept properties stand for? Follow
While declaring a concept, if i press Ctrl+Space in 'Concept Properties', I see the following options -
Could anyone explain what these things are and where and how can they be used?
Please sign in to leave a comment.
abstract, alias and short_description help to compose auto-completion menu:
'alias' and 'short_description' are used to show matching string and commenting text in each menu item;
'abstract' concepts are normally not shown;
Ok. And what does 'dontSubstituteByDefault' stand for?
it looks like the 'dontSubstituteByDefault' has similar semantic as 'abstract'
i'm not sure now why we have both:)
One more thing, when you say 'auto completion menu', which menu are you talking about? The one that is displayed when declaring editors for concepts?
I just opened the agreement dsl and made the 'Plan' concept 'abstract'. It still appears in the auto complete menu of the editor declaration. But I also see a lot of error messages in the console window.
Completion menu is menu which appear when you press control+space when
some cell in editor is selected. It has light yellow background.
What kind of error messages do you have? Could you send them here?
Whether the 'abstract' property is applied or not is depends on context.
It is never applied when auto-completion menu used to set reference on an existing node (like in your example with editor declaration and reference on the Plan concept)
The 'abstract' property only applied when auto-completion menu used to insert new child node. Node is always 'instance' of certain concept thus it makes sense to exclude 'abstract' concepts.
But even in the latter case it depends on how the menu is built:
- custom, user defined menu (defined via action set -> substitute action) - the 'abstract' property is ignored (developer may handle it manually)
- totally automated menu (no action sets or actions in action model was defined by developer) - 'abstract' property is applied
- menu built from actions in action model - 'abstract' property is applied (but this behavior may be overridden by developer)