Versioning of content-types
In today's meeting with @aoelen, @YaserJaradeh and me discussed the persistence of content-type data. We came to the following results:
-
Modeling should be unified across all content-types. It was decided that the "head" version should either...
- ...point to individual versions with a "hasPublishedVersion" statement
- ...or an ordered list that contains all published version nodes.
The actual implementation is up to the backend team.
-
There are two possible solutions of storing the data of previous versions:
- Store the subgraph of statements as a json in a separate database (currently simcomp)
- Copy the entire subgraph, including predicates, with remapped ids.
It was decided that we go for option 1. Later, the data should be migrated to the rest-api postgres database. However, if the technical challenges of option 2 can be dealt with, it is preferred.
-
The data should be available from one source for easy consumption for clients, which means that previous versions should be able to be fetched by the rest-api. This may result into separate endpoints for published and unpublished content-types. The actual implementation is up to the backend team.