/
Content - external store data restructuring
Content - external store data restructuring
Introduction:
This wiki explains the current structure of external store data for content and the proposed changes in the structure to bring consistency.
Background & Problem statement:
Content-Type | Identifier in Neo4J | Identifier in Cassandra | Version 0 | Version 1..10 | Data |
---|---|---|---|---|---|
ECML | do_123 | do_123 | Draft, Live | Live | Draft and Live version object have the same format for the data. |
do_123.img | do_123.img | Draft | |||
Collection | do_123 | do_123.img | Draft | Draft version will not have the root-object metadata. | |
do_123 | do_123 | Live | Live | ||
do_123.img | do_123.img | Draft |
Design:
Option 1:
Content-Type | Identifier in Neo4J | Identifier in Cassandra | Version 0 | Version 1..10 | Data |
---|---|---|---|---|---|
ECML | do_123 | do_123 | Draft, Live | Live | Draft and Live version object have the same format for the data. |
do_123.img | do_123.img | Draft | |||
Collection | do_123 | do_123 | Draft, Live | Live | A draft version will not have the root-object metadata. |
do_123.img | do_123.img | Draft |
Implementation Changes
- Get hierarchy API for Live version(without mode=edit) should validate status in Cassandra data and throw resource not found if status is not part of hierarchy data
- In publish pipeline, read data from neo4j and based on identifier from neo4j, fetch hierarchy data from Cassandra
- Migrate hierarchy data of draft collection content which does not contain pkgVersion in it.
Option 2:
Content-Type | Identifier in Neo4J | Identifier in Cassandra | Version 0 | Version 1..10 | Data |
---|---|---|---|---|---|
ECML | do_123 | do_123 | Live | Live | Draft and Live version object have the same format for the data. |
do_123.img | do_123.img | Draft | Draft | ||
Collection | do_123 | do_123 | Live | Live | A draft version will not have the root-object metadata. |
do_123.img | do_123.img | Draft | Draft |
Implementation Changes
- Changes required to store draft version in external store for create, update and read contents
- Publish pipeline changes to read ECML draft only from do_id.img
- Migrating all draft ECML content with do_id.img
Related content
Design - Relational metadata to asset linked to a collection
Design - Relational metadata to asset linked to a collection
More like this
inQuiry: CSP migration & verification steps
inQuiry: CSP migration & verification steps
More like this
Relational Metadata feature Release Notes
Relational Metadata feature Release Notes
More like this
Design Brainstorm: Migrating all the content's previewUrl to streamingUrl based on the mimeType
Design Brainstorm: Migrating all the content's previewUrl to streamingUrl based on the mimeType
More like this
Schema Implementation Design
Schema Implementation Design
More like this
Collections - structure optimization
Collections - structure optimization
More like this