Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X
I would like to know if it is possible to run two distinct projects on the same mashups.
In details:
I have two projects (lets call them projectA and projectB) which do the same things.
ProjectA has:
3 users (User1A, User2A, User3A);
20 things (Things1A, ..., Things20A);
3 properties (prop1, prop2, prop3);
1 stream;
1 Data Shape;
1 Data table;
ProjectB has:
2 users (User1B, User2B);
15 things (Thing1B, ..., Thing15B);
3 properties (prop1, prop2, prop3) -- the same of projectA;
1 stream;
1 Data shape;
1 Data table.
This means that mashups for projectA and projectB are identical so, I want to know: instead of duplicate them, is it possible to create the same but allow to userA only to see data of projectA and same for UserB?
Plus, there will be some helper things for the template or master (which will be the same for A and B), is it possible for this things to have different values when is either logged UserAs or UserBs?
I tried creating Users and GroupUsers; then I created OrganizationA and OrganizationB.
In my thingA, under tab Visibility I added OrganizationA; then I created a simple mashup with just a list and a dashboard.
In the list there is the "QueryImplementingThings" service of the thingtemplate (which holds both thingA and B).
I expect to see ThingA in the list when I log with UserA and ThingB when I log with user B, instead I only see this:
You should have something wrongly defined under Visibility or Permissions, but you should do as you described through visibility, setting visibility on Things and Users through different organizations, or in the same organizations but on different nodes of the hierarchy.
Mashups should be visible by everyone, also you have to give visibility to the corresponding streams/datatables.
Ok: this is what:
ThingA:
Visibility: OrganizationA
Design Time: GroupA allowed to read, update and delete
Runtime: GroupA allowed to Property Read, Property Write, Event Execute, Event Subscribe, Service execute
Mashup:
Visibility: OrganizationA
ProjectA:
Visibility: OrganizationA
Design Time: Group A allowed to all
Runtime: Group A allowed to all.
If I go on mashup I can't see anything (like the image I posted above).
If I go on ThingTemplate:
Visibility: OrganizationA
DesignTime: GroupA allowed to all
Runtime: GroupA allowed to all
In mashup I see both thingsA and thingsB
Oh, maybe wait! I'm thinking it may be correct I see all things and I should hide the "wrong" ones by filtering the query. Is it fine?
Hi Fabio,
From your description it's hard to say, you din't said nothing about Visibility on ThingsB, you may have "Everyone" group/visibility on collection level that may effect this...
Carles.
UserB is symmetrical to UserA
ThingB:
Visibility: OrganizationB
Design Time: GroupB allowed to read, update and delete
Runtime: GroupB allowed to Property Read, Property Write, Event Execute, Event Subscribe, Service execute
Mashup:
Visibility: OrganizationB (and with OrganizationA)
ProjectB:
Visibility: OrganizationB
Design Time: Group B allowed to all
Runtime: Group B allowed to all.
In other words, I want everything ends with B is seen by UserBs and not by As and viceversa
Ok, done! You were right, I had the Everyone organization that effected it.
Now I can see ThingsA when I'm userA and same for B.
My problem is now the dashboard.
I'd like that both userA and userB should customize their dashboard as they want but userA must only see his custimizations and same for B so I guess I must set the user permission to everyone but I have this error
Error retrieving dashboard. Contact your administrator
Dashboards will be of their own, you are missing Dashboards permissions for both users, that's your problem here.
I did, as you can see here
I put all the permissions for both groups
If you do that way, everyone will be able to see Dashboards from everybody.
On collection level -->
Visibility --> Nothing
Design Time --> Users ( Everything --> As they will create /modify / delete Dashboards )
Run Time --> Users ( Property Read, Service Execute )
That should do the trick
I did it.
My situation is:
Dashboard collection permissions:
Visibility: Empty
Design time: GroupA, GroupB, Administrators (all three can do everything)
Run time: GroupA, GroupB (Property read, Service Execute)
Then in my own Dashboard (I called it TestDash), I have these permissions
Visibility: Empty
Design time: GroupA, GroupB, (can do everything)
Run time: GroupA, GroupB (Property read, Service Execute)
But when I view the mashup I get a status message
and the same message
You should have a Mashup, which has Dashboard widget in it, do you?
Then on this Dashboard Widget you should set AllowCreate/Share/...
I did.
I insert the dashboard ID TestDash and ShowTabs unchecked (Because I only want to see this tab).
Then everything is set
You mean it works?
No, it doesn't
First, remove TestDash, and let the user create the Dash to see if it works.
Also when dealing with permissions you should look at the logs, as you will see there the security wall you are facing.
Ok, I removed TestDash and checked "ShowTabs" and AllowCreate...
When I log as administrator, I can see the dashboards and I can create a new one. As I log as userA I get the status message
Ok. It seems everything works now.
I deleted the two users and created them again.
Just to say, I followed this
(It may be usefull in the future)
if I will have any more problems in the future, I will update this post.
Thank you