As a developer I should be able to create a Mondrian schema, a Mondrian dynamic schema processor and a set of roles and be able to use them across all the visualization components of the platform.
It works like this:
- The Mondrian schema created has no roles.
- Roles are added to the Mondrian schema on the dynamic schema processor, using as input the role provided by the platform. The roles are created in run time, when the MDX connection is created, allowing to specify restrictions like each Director only sees his product line. The number of product lines can be huge so this type of restrictions cannot be defined directly on the schema.
- On every report, dashboard, analysis MDX queries are used making sure that security restrictions are implement across the whole platform.