TRAX LRS allows you to manage 2 levels of data visibility thanks to the concepts of "stores" and "entities".
You could see stores as completely independent databases, with their own users, roles, entities, clients and of course xAPI data (which is not technically true).
Inside a store, you may define entities with their own users and clients. Users and clients belonging to an entity have only access to the xAPI data of their own entity . Users and clients which don't belong to an entity have access to xAPI data of the entire store.
You should consider using stores to:
You should consider using entities to:
Only admin users which have been created with the
php artisan admin:create command
are allowed to manage stores.
As soon as they are logged into the application, they see the list of the existing stores and can:
Users which have been created inside a store have only access to their own store.
To create an entity, go to the Accounts > Entities page and create one by giving it a name. As soon as you created one or more entities, you can edit a user or a client and assign it an entity.
On the Data > Statements page, you can select an entity in order to filter the statements.
On the Data > Management page, you can select an entity in order to target the statements to remove.
Be aware that the stores of an LRS instance are located into a single database instance.
This is great to easily and quickly create independent datasets into your LRS. However, it has not been designed as a solution for multi-tenancy.
You should evaluate your needs regarding the volume of data and choose between using stores or multiple database instances for your project.