Client Organisation Functionality
6 January, 2010
Hi,
I am just pulling together a long term integration strategy for Yellowfin.
One of the things I am looking at is the ?Client Organisation functionality?. We are considering this as the solution for each agency, but there some issues to which the answers are not immediately apparent in the doco.
1. Firstly, given that there will be about 10,000 agents is this sensible use of this capability.
2. The documentation says that ?When a user logs in to an organisation (default or client), any content they create ?belongs? to that organisation.? How does that work.
* We have our set of tables ? how do you flag data in those tables as belonging to default.org, client 1, client 2, and so on
* If I am doing a daily update of data, and I want to assign a new property, or web click facts for an existing property, as ?belonging? to Client-x, can I do that without being logged in as Client-x.
* As default.org can I continue to read Client-x data without extra overhead for aggregated data reports.
That is probably enough for now, thanks.
I am just pulling together a long term integration strategy for Yellowfin.
One of the things I am looking at is the ?Client Organisation functionality?. We are considering this as the solution for each agency, but there some issues to which the answers are not immediately apparent in the doco.
1. Firstly, given that there will be about 10,000 agents is this sensible use of this capability.
2. The documentation says that ?When a user logs in to an organisation (default or client), any content they create ?belongs? to that organisation.? How does that work.
* We have our set of tables ? how do you flag data in those tables as belonging to default.org, client 1, client 2, and so on
* If I am doing a daily update of data, and I want to assign a new property, or web click facts for an existing property, as ?belonging? to Client-x, can I do that without being logged in as Client-x.
* As default.org can I continue to read Client-x data without extra overhead for aggregated data reports.
That is probably enough for now, thanks.
Hi ,
Answers to your questions:
1. Firstly, given that there will be about 10,000 agents is this sensible use of this capability.
This should be ok.
2. The documentation says that ?When a user logs in to an organisation (default or client), any content they create ?belongs? to that organisation.? How does that work.
Client Orgs has several different ways of segregating the data.
1. You can create common content at the default organisation, and when clients run a report, it will filter by their client id. This is great if you want all your clients to have the same reports, and all their data is one database.
2. You can create common content at the default organisation, and when clients run a report, it will swap in another database for that particular client. Use this if you want all your clients to have the same reports, but their data is stored in their own database.
3. You can create content at the client organisation, that no other clients will see. This way you could create custom reports for each client. This is good if your clients are using different databases with different schemas. You are essentially just creating a separate "virtual instance" of Yellowfin for each client, where no data is shared.
I am guessing for your implementation you will be using option 1.
-We have our set of tables ? how do you flag data in those tables as belonging to default.org, client 1, client 2, and so on
This isn't done within Yellowfin itself.
Essentially when you run the report it will put a filter on the end of the SQL with the client reference id.
SELECT BLAH FROM TABLE
WHERE ID = 'client1'
In Yellowfin you assign the Client Reference ID to the column you want to filter on.
(On the view fields page, right click the column, hit the access tab, and then choose "Client Reference ID" from the Access Filter dropdown.)
You can the manage at the database level a relationship between the Client Reference ID column and the data you want accessible to that client.
(You probably already have tables that determine the relationship between clients and their items in your database)
-If I am doing a daily update of data, and I want to assign a new property, or web click facts for an existing property, as ?belonging? to Client-x, can I do that without being logged in as Client-x.
Again, this is done at the database level.
You initially specify the value for the filter for each client when you create the client org.
After this you can determine what belongs to the client by manipulating relationships in your database.
-As default.org can I continue to read Client-x data without extra overhead for aggregated data reports.
Not sure what you mean here, but for particular reports you can turn off the filter so that it will bring back data from all clients.
This is also the case for sub-queries, where one query can be filtered, and another not. This is good for comparing cilent-x to all other clients.
Hope this helps.
Answers to your questions:
1. Firstly, given that there will be about 10,000 agents is this sensible use of this capability.
This should be ok.
2. The documentation says that ?When a user logs in to an organisation (default or client), any content they create ?belongs? to that organisation.? How does that work.
Client Orgs has several different ways of segregating the data.
1. You can create common content at the default organisation, and when clients run a report, it will filter by their client id. This is great if you want all your clients to have the same reports, and all their data is one database.
2. You can create common content at the default organisation, and when clients run a report, it will swap in another database for that particular client. Use this if you want all your clients to have the same reports, but their data is stored in their own database.
3. You can create content at the client organisation, that no other clients will see. This way you could create custom reports for each client. This is good if your clients are using different databases with different schemas. You are essentially just creating a separate "virtual instance" of Yellowfin for each client, where no data is shared.
I am guessing for your implementation you will be using option 1.
-We have our set of tables ? how do you flag data in those tables as belonging to default.org, client 1, client 2, and so on
This isn't done within Yellowfin itself.
Essentially when you run the report it will put a filter on the end of the SQL with the client reference id.
SELECT BLAH FROM TABLE
WHERE ID = 'client1'
In Yellowfin you assign the Client Reference ID to the column you want to filter on.
(On the view fields page, right click the column, hit the access tab, and then choose "Client Reference ID" from the Access Filter dropdown.)
You can the manage at the database level a relationship between the Client Reference ID column and the data you want accessible to that client.
(You probably already have tables that determine the relationship between clients and their items in your database)
-If I am doing a daily update of data, and I want to assign a new property, or web click facts for an existing property, as ?belonging? to Client-x, can I do that without being logged in as Client-x.
Again, this is done at the database level.
You initially specify the value for the filter for each client when you create the client org.
After this you can determine what belongs to the client by manipulating relationships in your database.
-As default.org can I continue to read Client-x data without extra overhead for aggregated data reports.
Not sure what you mean here, but for particular reports you can turn off the filter so that it will bring back data from all clients.
This is also the case for sub-queries, where one query can be filtered, and another not. This is good for comparing cilent-x to all other clients.
Hope this helps.
Hi Yellowfin,
[quote="Fred">2. You can create common content at the default organisation, and when clients run a report, it will swap in another database for that particular client. Use this if you want all your clients to have the same reports, but their data is stored in their own database.
[/quote]
Please show me the mechanism and how to do this.
If you have some documents for this, give me pointer.
Thank you,
[quote="Fred">2. You can create common content at the default organisation, and when clients run a report, it will swap in another database for that particular client. Use this if you want all your clients to have the same reports, but their data is stored in their own database.
[/quote]
Please show me the mechanism and how to do this.
If you have some documents for this, give me pointer.
Thank you,
[quote="Koji">Please show me the mechanism and how to do this.
If you have some documents for this, give me pointer.[/quote]
Hi Koji,
Once you have set up Client Organisations, you should set up a separate data source at the default organisation and the client organisation(s). These should have an identical schema - the table and column names must be the same, because the same queries will be run against each. The data sources can be on separate servers, although they should be the same type of database (eg. both MS SQL Server).
Once both data sources are set up, log in to the default organisation and go to the data source details for the default data source. There should be an additional step in the wizard called Client Sources. Go to this step:
[img]Image.i4?ImageId=3594[/img]
Click the Create link for your client organisation, and select the matching data source for that client.
[img]Image.i4?ImageId=3597[/img]
Save and close the data source. Now all reports created against the default data source will be run based on the logged in user. If a user logs in to the default organisation and runs a report it will run against the default data source. If a user logs in to a client organisation and runs the same report, the client data source will be used instead.
Thanks,
Steve
If you have some documents for this, give me pointer.[/quote]
Hi Koji,
Once you have set up Client Organisations, you should set up a separate data source at the default organisation and the client organisation(s). These should have an identical schema - the table and column names must be the same, because the same queries will be run against each. The data sources can be on separate servers, although they should be the same type of database (eg. both MS SQL Server).
Once both data sources are set up, log in to the default organisation and go to the data source details for the default data source. There should be an additional step in the wizard called Client Sources. Go to this step:
[img]Image.i4?ImageId=3594[/img]
Click the Create link for your client organisation, and select the matching data source for that client.
[img]Image.i4?ImageId=3597[/img]
Save and close the data source. Now all reports created against the default data source will be run based on the logged in user. If a user logs in to the default organisation and runs a report it will run against the default data source. If a user logs in to a client organisation and runs the same report, the client data source will be used instead.
Thanks,
Steve
Wonderful!
Thank you very much!
Thank you very much!
Hi,
We are trying to build an efficient BI reporting tool using Yellowfin. Through this report we want to compare data among various retail vendors.This means that if a Vendor X logs into Yellowfin, they will be able to view their data against the rest of the retail vendors. Can this type of a security feature be implemented using Yellowfin.
We are trying to build an efficient BI reporting tool using Yellowfin. Through this report we want to compare data among various retail vendors.This means that if a Vendor X logs into Yellowfin, they will be able to view their data against the rest of the retail vendors. Can this type of a security feature be implemented using Yellowfin.
Hi Guest,
Can you please clarify what type of security feature you are looking for? E.g. Is it to not allow Company X
to see any other data from Company Z other than what you want them to see?
I've also included the latest Wiki link that details Client Organizations for you.
Client Organizations - 7.1
Thank you very much,
Kyle
Can you please clarify what type of security feature you are looking for? E.g. Is it to not allow Company X
to see any other data from Company Z other than what you want them to see?
I've also included the latest Wiki link that details Client Organizations for you.
Client Organizations - 7.1
Thank you very much,
Kyle
Hi Kyle,
Thanks for your response.
Let me answer this by citing the example scenario:
If Company X enters YF, they will be able to view their product sales details in comparison to other companies and similarly.
Also I have another security feature issue:
We have built several dashboards for our testing purpose under the default client organisation. How can we prevent a client organisation from viewing all the other dashboards apart from the dashboard that is specifically built for them.
Thanks
Thanks for your response.
Let me answer this by citing the example scenario:
If Company X enters YF, they will be able to view their product sales details in comparison to other companies and similarly.
Also I have another security feature issue:
We have built several dashboards for our testing purpose under the default client organisation. How can we prevent a client organisation from viewing all the other dashboards apart from the dashboard that is specifically built for them.
Thanks
Hi guest,
Although we are still not 100% sure of what your first question is, I will do my best to respond.
I think the confusion surrounds the wording of your question, specifically 'will be able to view their product
sales details in comparison to other companies'. They will be able to do this if these product sales details are in a report
that company X has been given access to.
Regarding your follow up question, you can make the dashboard tabs in the default org private. Please also
see the link below, from our Wiki, that covers dashboard security.
Tab Security
I'm also curious if your company has requested a demo of the product? This may be something that you find
beneficial.
Thank you very much,
Kyle
Although we are still not 100% sure of what your first question is, I will do my best to respond.
I think the confusion surrounds the wording of your question, specifically 'will be able to view their product
sales details in comparison to other companies'. They will be able to do this if these product sales details are in a report
that company X has been given access to.
Regarding your follow up question, you can make the dashboard tabs in the default org private. Please also
see the link below, from our Wiki, that covers dashboard security.
Tab Security
I'm also curious if your company has requested a demo of the product? This may be something that you find
beneficial.
Thank you very much,
Kyle