Thursday, October 27, 2011

Universe loading very slow


Problem description
We are having 10000 objects in Universe. When we import the Universe in Universe designer, in some machine it is opening in rapid speed.
But in other machine it is taking a lots of time. Some time it shows not responding in task manager. But open after 15 minutes

Answer:
This is because in "Tools>Option> Graphics " tab the "underline Keys" is checked.

It actually check all the tables added in the Universe.
If you remove the check it will first open the universe for you without checking all the tables. This is not a good practise but to handle an universe like 10000 object it is almost mandatory

Monday, October 10, 2011

Universe restriction Priority


Problem:
Explain the priority of restriction implemented in Universe.

Answer:
According to my understanding and running the same problem in our universe the solution is below:

If you go to "Set group priority" window after clicking on Priority button in "Manage Access Restriction" you can see the below comments...
"You can specify which groups have the highest priority for access restrictions. If an user is assigned conflicting restrictions on different parent groups, the restriction on the group with the highest priority will take precedence."

Describing the scenario:

Group1------------>Restriction 1-----------> Priority 1(Higest Priority Lowest Level)
Group2------------>Restriction 2-----------> Priority 2
Group3------------>Restriction 3-----------> Priority 3
Group4------------>Restriction 4-----------> Priority 4(Lowest Priority Highest Level)

Restriction 1----> Can see A1 object but can't see A3 object
Restriction 2----> Can see A2 object but can't see A4 object
Restriction 3----> Can see A3 object but can't see A2 object
Restriction 4----> Can see A4 object but can't see A1 object

User A is present in Group 1 and Group 2
User B is present in Group 3 and Group 4
User C is present in all groups
Now
A can see --- > A1, A2
B can see  ---> A3, A4
C can see ---> A1, A2 ( But can't see A3, A4 as it is already restricted by Restriction 1 & Restriction 2)


Correct me if I am wrong....

Thursday, October 6, 2011

Dynamically change Universe joins


How to Dynamically change the universe joins based on user response (i.e. using @prompt function)?

Create the universe code like that.

('I' = @Prompt('In or Out Worker?:','A',{'I','E'} ,Mono,Constrained,persistent,{'I'})
AND
ABC.XYZ=PQR.XYZ
)
OR
( 'I' <> @Prompt('In or Out Worker?:','A',{'I','E'} ,Mono,Constrained,persistent,{'I'})
AND
ABC.XYZ!=PQR.XYZ
)

Class level security in Universe


Question:
Is it possible to set security at the class level within a universe?
Like one user group will see the data without any condition and other user group will see the same class where the xyz column of ABC table is equal to "Y"?

Answer:
It is possible to set a restriction on a class but with a twist. You need to create the copy of same class and save it to different name.
I am recreating the scenario.

Group A1 will see "Corporate" class data without any condition.
Group A2 will see "Corporate (A2) " class data with this condition ABC.XYZ="Y"

Steps:
  1. Copy the Corporte classs and paste under same hierarchy.
  2. Rename it as Corporate (A2).
  3. Create a condition object and set the properties like below.



  1. Then go to Tools>Manage Security>Manage Access Restriction.
  2. Create two new restriction (e.g Corporate Restriction, Corporate (A2) Restriction)
  3.  Go to “Object” tab in both restriction and add like below
    1. In Corporate Restriction add “Corporate (A2)
    2. In Corporate (A2) Restriction add “Corporate
  4. Map to A1 and A2 group
  5. Save and Export the Universe
  6. Check by login as A1 group and A2 Group user

Now A1 Group can see only Corporate class and A2 Group will see Corporate A2 class.
When they pull the object inside it the data is restricted according to the condition.