/
Schema Implementation Design
Schema Implementation Design
Problem Definition:
As part of Knowledge Platform 2.0, definition schema should give provision of implementing version support in future.
Design:
Definition Data Model:
- IL_UNIQUE_ID - DEFINITION_NODE_Content
- description - Schema definition object for Content
- status - Draft/Live
- createdOn - Date
- lastUpdatedOn - Date
- IL_SYS_NODE_TYPE - DEFINITION_NODE
- IL_FUNC_OBJECT_TYPE - Content
- version - 1.0
- artifactUrl - Draft version URL link
- downloadUrl - Published version URL link
Schema API Request Response:
Schema Create API:
- It will always expect object Type in request
- If there is no entry for IL_SYS_NODE_TYPE: DEFINITION_NODE and IL_FUNC_OBJECT_TYPE: Content:
- It will create Content definition object with version 1.0
- Identifier will be DEFINITION_NODE_Content
- If object present - will throw Client Error.
- Apart from objectType (IL_FUNC_OBJECT_TYPE), no other field is expected.
{ "request": { "schema": { "objectType": "Content" } } }
Schema Update API:
- No other field apart from description can be updated.
{ "request": { "schema": { "description": "Schema definition object for Content", } } }
Schema Upload API:
- Zipped file containing 'schema.josn' and 'config.json' will be uploaded.
- If object status is Live:
- Upload and extract the zipped file in path schemas/content/snapshot.
- It will create replica of published definition.
- Identifier will be 'DEFINITION_NODE_Content.img'
- VersionKey will be same of version key.
- Status will be Draft
- artifactUrl will be link of snapshot path link.
- If object status is Draft:
- Upload and extract the zipped file in path schemas/content/snapshot.
Schema Publish API:
- It will copy the snapshot files to the directory named 'schemas/content/1.0'
- DownloadUrl will be updated with new url.
- Status will be Live.
{ "request": { "schema": {} } }
, multiple selections available,
Related content
Schema Definition - Version support
Schema Definition - Version support
More like this
Content - external store data restructuring
Content - external store data restructuring
More like this
Relational Metadata feature Release Notes
Relational Metadata feature Release Notes
More like this
Restricting Metadata as per Definition
Restricting Metadata as per Definition
More like this
Form API's
Form API's
More like this
inQuiry- [Design]- API Implementation of QuML Multi-language
inQuiry- [Design]- API Implementation of QuML Multi-language
More like this