This release introduces a central Validation service, used by all Objectiv components to ensure data is
collected according to the open analytics taxonomy. It’s available as a Docker image named
How it works
The central Validation service is based on a schema that captures the open analytics taxonomy, and encodes validation rules, such as the required information for Events. This schema is used to automatically generate the Validation service itself, the TypeScript for the Tracker SDK APIs, and the taxonomy documentation.
The open analytics taxonomy captured by the centralized schema
All Objectiv components use the Validation service to check instrumentation and tracked Events, and then take respective action, such as reporting issues during development in the browser console, or storing invalid Events separately.
Example of the Tracker SDK reporting an instrumentation issue in the browser console, using the Validation service
The centralized schema and Validation service:
- Enforce tracking according to the open analytics taxonomy in the exact same way for all components, whether client-side (the Tracker SDKs) or backend-side (i.e. the Collector/Snowplow).
- Ensure both the Tracker SDKs and the taxonomy documentation will always be fully consistent in case of any taxonomy updates, as they are automatically generated from the central schema. This also means that contributions to the taxonomy are directly applied to all components.
- Improve validation by not just looking at the shape of tracked Events, but also at its consistency, such as ensuring that Events don’t contain duplicate information.
Next to this, it also enables validation for future components on our roadmap, e.g. a browser extension that shows any instrumentation issues in the UI while you’re developing your application.
How to get it
If you don’t have Objectiv running yet, you can follow the instructions to run Objectiv Up, our pre-packaged, dockerized version.
To upgrade to the new Validation service and Tracker improvements:
- Run the new Validation service, either with the prebuilt Docker containers (by running
git pull, followed by
docker-compose up -d), or following the manual development instructions.
- Upgrade your Collector, which is backwards compatible with any former versions of the Tracker.
- Upgrade your Tracker.
Be sure to mind the order above, as for instance first upgrading the Collector and then deploying the Validation service will invalidate all incoming events.
That’s it! Your central Validation service is running locally or in production (like on our own website), and all Events are validated against it.
If you have any questions about this release or anything else, or if you just want to say 'Hi!' to team Objectiv, we have Office Hours every Thursday at 4pm CET, 10am EST that you can freely dial in to. If you're in a timezone that doesn’t fit well, just ping us on Slack and we'll send over an invite for a better moment.