I _Really_ Don't Know

A low-frequency blog by Rob Styles

Multi-Tenant Configuration Schema

Are you writing multi-tenant software? Are you using RDF at all? Do you want to keep track of your tenants?

You might want to comment on the first draft of the new Multi-Tenant Configuration Schema.

This schema attempts to describe a simple set of concepts and relationships about tenants within a multi-tenant software system. It avoids anything that would constitute application configuration, but will happily co-exist with classes and properties to do that. The documentation is sparse currently, awaiting questions and comment so that I can expand on areas that require further explanation. Comment here, or email me.


Leigh Dodds

Hi, Looks good so far. Its similar to the schema we used for a licensing/subscription system that I worked on in the past, Identities-Licenses-Resources map on to Customer-Subscription-Tenancies. A couple of areas where we did things differently were to: * Model parent-child relationships between Resources (which may have been a specific piece of content, or access to a website, or website feature). This allowed individual features to be separately licensed, but then gathered together in a "bundle" and licensed as a whole. This gave great flexibility when re-packaging product features. But looks like the same can be achieved here by defining new Subscription Levels. * Modelling parent-child relationships between Licences (Subscriptions in your schema) so that we could, for example, provide a limited trial access to a specific service or feature as part of a separate Subscription, separately track the start/end dates, but still tie them together. * We had a few more properties around the subscription dates. To allow for gracing periods, e.g time for customers to renew, we often used separate renewal dates and/or gracing periods. This allowed us to avoid cutting off access to a service while a contract was being negotiated, etc. Thought I'd mention those for context. Cheers, L.