27-06-2013 11:15 PM
Hello,
I would like to create a MetaWizard on Application MetaClass in ordre to force user to select the parent application (Aggregation of) when he's creating an application object (this user haven't rights to create a high level application).
When I specify a MetaAttribute property, that works :
Manager.property("~LkkXoY8pHXQ9[Application Kind]") = "C" Manager.property("~LkkXoY8pHXQ9[Application Kind]", "Visible") = True Manager.property("~LkkXoY8pHXQ9[Application Kind]", "Updatable") = False
but when I specify a MetaAssociationEnd, that don't work
Manager.property("~isUijEB5i4M3[Aggregation of]", "Visible") = True Manager.property("~isUijEB5i4M3[Aggregation of]", "Mandatory") = True Manager.property("~isUijEB5i4M3[Aggregation of]", "Updatable") = True
From the courseware on MetaWizard, it was supposed to work without creating news pages (MetaPropertyPage).
Could you help me ?
Thank you,
Philippe
Solved! Go to Solution.
02-07-2013 04:14 PM
I understand, but as I said, it surely comes from specific Metamodel 🙂
But you can still unprotect the link, and then filter it (so that "normal" users will not be able to use it --> sub applications will still be linked to the library of the application, but that sounds logical... and you will not have any error message any more 🙂
02-07-2013 03:58 PM
Hello Lionel,
I don't want to unprotect the link Owner Packager, because this link is not under the users' responsability.
For an Organizational Process (OP), the business process's library is automatically set on the OP.
Currently, the same behavior occurs for a Component of an Application (I will see why it's not a standard environnement behavior).
The troublesome behavior is this auto-settng of the Owner Packager which can't be disabled by any option / filter / access.
Philippe
02-07-2013 02:49 PM - edited 02-07-2013 02:51 PM
Hello Philippe,
I think you must have a specific metamodel, because with a standard environment, when you create a sub-Application, it is not automatically linked to the library of the application (except if we are not talking about the same link... or if you activated an option that I do not know about)
So either you undo your metamodel modification (after finding where this modification was done), but you also have the choice to unprotect the link between Packaged Element and Owner Packager --> In that case, users will be able to link objects to libraries even if they do not have the Administrator level :
Lionel
01-07-2013 08:31 AM
Hello Lionel,
thank you for your response, I finally success to find a suitable solution.
A last problem with the Library :
Our Libraries are used to arrange main objects by organizational direction. This arrangement is under the responsability of administrator, thus the Libraries are at a upper authorization level than the objects modelled by users.
When an application component is created from an application arranged in a Library, MEGA forces it to be arranged in the same Library (the same behavior occurs for Organizational Process of a Business Process, for example), even if the Library is filtered or the link between object and Owner Packager is not updatable (by accesses in Profile). Therefore, a error message appear "the link between XX and YY is protected by authorization level AA ...".
=> Do you know a way to desactivate the automatic assignment of the Library ?
Philippe
28-06-2013 02:27 PM - edited 28-06-2013 02:38 PM
Hello Philippe,
To use a Mega.Property with a link, the concerned metaAssociation must be connected as a "LegAttribute" to your metaClass as you can see in the following screenshot :
!!!!!!!! --> The metamodel must be compiled after this modification !!!!!!!
But your case is a bit special as [Aggregation of] is used as a namespace for Applications.
And [Libraries] are also used as namespace for Applications.
--> therefore, you already have access to the [aggregation of] metaAssociation in your creation windows for application, exept that it is shows as "Owner" (with 2 choices as shown below) :
Because of this, your parameterization will force users to choose an owner, but they will be able to choose "library" instead of "application"... If you do not use "libraries", just filter the access to this metaclass, and your problem will be solved 🙂 :