The Veracity Learning LRS features
multitenancy architecture, which lets you create more than one store in your account. The number of stores you can create depends on your plan and account tier. For example, the free SaaS-hosted plan supports three stores. For more information on the number of stores allowed for each plan,
see our LRS Plans and Pricing page.
This article uses the term “store” as an abbreviation for “Learning Record Store (LRS)”.
Each store is completely independent. They don't share keys, analytics, or even the same database. This lets you have separate stores for different uses.
So, why do customers need more than one store?
The common cases for using multiple stores vary…
Need cleaner data, but need original ‘noisy’ data too
Some customers need to modify data that comes into their store to change, add, or remove some values. For example, if the verb ID sent by one authoring tool isn't standard, then you'd want to change that ID to match the content sent by the other tools. You'd still want the original data but kept in a separate store (often called the “noisy” store). You'd configure the noisy LRS to forward data to a different store and make the changes along the way using
Saved Scripts. You'd have two stores, one with the original data and one with the cleaned data. In most cases, you'd use the cleaned data for regular business purposes and keep the noisy data if you have issues or inconsistencies to evaluate.
Keep data private from some LRS users
Stores in your Veracity Learning account use completely separate databases. This lets you keep datasets separate so that they can't accidentally mix. As the administrator, you can then grant users access to only the stores with data that you want those users to see. This offers a secure way to control who sees what.
Forward and filter data ‘upstream’ for other LRS users
If you keep data separate in many stores, then you can't get an aggregate analysis of the data from all of the stores from any one of those stores. However, you can configure the stores with Statement Forwarding rules and Saved Scripts to send a subset of the data to an “upstream” store.
For example, each store's user can see a lot of student performance information in one store, but those users' leaders want to see only the count of student completions across all stores. In this case, the separate stores forward only the completion data to a single upstream store where the leaders can get only the data they need.
Saved Scripts also can help filter-out “noise” — for example, to anonymize data — when sent upstream.
Development, Test, Production
Let’s say you want to start getting xAPI from a new authoring tool or LMS and want clean data that’s ready for analysis. You want to use a formal development lifecycle to help release content to users that tracks easy-to-analyze xAPI data. Many of our SaaS customers create multiple LRS tenants for this purpose:
- Development — (DEV) store for content designers, so they can see the data while they create it.
- Test — a store for quality assurance, verification, and validation of the data approach.
- Production — (PROD) the resulting “real world” data from the final release of the content.
This use case applies to our dedicated SaaS Hosted Plans, which inherent our architecture with built-in redundancy and fail-over. If you have one of our On-Premises Plans on your own network, then you may need an additional license to support this use case.
Some helpful links
These are some use cases for having many stores but are not the only ones. Many other organizations may have case-specific uses for having many stores. Our team can help your organization make those strategic decisions about your LRS architecture.
- Try our Veracity Learning LRS for free, and see how easy it is to set-up up to three stores
- Read our LRS User Manual article on how to send data to another LRS
- Also in the LRS User Manual, read about Saved Scripts
Related Articles
What are xAPI Extensions and How Do I Use Them in My xAPI Statements?
Best Practices for xAPI Extensions Activity, Context, and Result Extensions in xAPI Statements Do you need to know when and how to best use Activity, Context or Result Extensions in your xAPI Statements? This is a common challenge and a frequently ...
How Do I Edit Canonical Activities?
What are canonical activities? As xAPI statements flow into the Veracity LRS, it builds a “canon” of names for activities. For example, the LRS can extract the names and hierarchy of courses and their nested lessons and interactions from the IDs, ...
Why Doesn’t My Duration Chart Work?
Use meta.duration, Not result.duration If you’re trying to build a chart with duration as the metric and it’s not working, then the reason is probably that you’re trying to get values from result.duration. Use meta.duration instead. Statements encode ...
How Do I Send xAPI Data to an LRS?
If you want to send xAPI to an LRS, then you'll need to give your content or application the proper credentials to store the data in the LRS. You'll need the following: The xAPI Endpoint for the LRS. LRS credentials: Key and Secret (i.e., username ...
How Do I Show Percent of Students?
In a custom dashboard, you can easily build a bar chart that shows the number of unique students per course. Chart Builder with simulated data offered in the free Veracity Learning LRS. Problem But what if you want to show the number of unique ...