Service - Media Manager: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 33: | Line 33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == MediaRecord == | ||
Records which Handler manages each media element | Records which Handler manages each media element | ||
| Line 46: | Line 46: | ||
* partition key: mediaId | * partition key: mediaId | ||
* sort key: (none) | * sort key: (none) | ||
= Graph database = | |||
== [[Service - Media Graph]]== | == [[Service - Media Graph]]== | ||
=== Nodes === | === Nodes === | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
nodeLabel: " | nodeLabel: "media", | ||
schema: { | schema: { | ||
identifier: true, | identifier: true, | ||
| Line 59: | Line 62: | ||
restrictRelationships: true, | restrictRelationships: true, | ||
properties: { | properties: { | ||
mediaId: { | |||
identifier: true, // | identifier: true, // create unique id from request details | ||
}, | }, | ||
mediaHandlerServiceNameTag: { | |||
immutable: true, | immutable: true, | ||
}, | }, | ||
| Line 72: | Line 75: | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
nodeLabel: " | nodeLabel: "mediaPropertyLabel", | ||
} | |||
{ | |||
nodeLabel: "mediaProperty", | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* see [[NPM module - Izara Core - Property Node|DataSchemaLib]] | |||
=== Relationships === | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
relationshipType: "has_mediaProperty", | |||
} | |||
{ | |||
relationshipType: "disabled_mediaProperty", | |||
} | |||
{ | |||
relationshipType: "is_mediaPropertyLabel", | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* see [[NPM module - Izara Core - Property Node|DataSchemaLib]] | |||
== Basic node schemas == | == Basic node schemas == | ||
Schema comes from [[NPM module - Izara Core - Property Node|BasicNodeSchemaLib]] | |||
# mediaPropertyLabel | |||
* [[Service - Translations Graph]] | #* [[Service - Translations Graph]] | ||
# mediaProperty | |||
#* [[Service - Translations Graph]] | |||
= Working documents = | = Working documents = | ||
Latest revision as of 12:39, 4 February 2022
Overview
Each media type is handled by a Service - Media (handlers) service.
The Media Manager service handles shared orchestration of the Media Handler services.
Repository
https://bitbucket.org/izara-core-media/izara-core-media-media-manager/src/master/
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configKey: "MediaGraphServiceName"
configTag: "MediaGraphServiceName"
configValue: xxx // eg: "MediaGraph"
}
{
configKey: "MediaHandlerService"
configTag: xxx // mediaHandlerServiceNameTag, eg: "MediaStandard", this is what is saved in each media node
configValue: {
serviceName: xxx // eg: "ImageStandard", this is the actual deployed service name}
}
}
MediaRecord
Records which Handler manages each media element
{
mediaId
mediaHandlerServiceNameTag
}
- partition key: mediaId
- sort key: (none)
Graph database
Service - Media Graph
Nodes
{
nodeLabel: "media",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
mediaId: {
identifier: true, // create unique id from request details
},
mediaHandlerServiceNameTag: {
immutable: true,
},
},
}
}
{
nodeLabel: "mediaPropertyLabel",
}
{
nodeLabel: "mediaProperty",
}
- see DataSchemaLib
Relationships
{
relationshipType: "has_mediaProperty",
}
{
relationshipType: "disabled_mediaProperty",
}
{
relationshipType: "is_mediaPropertyLabel",
}
- see DataSchemaLib
Basic node schemas
Schema comes from BasicNodeSchemaLib
- mediaPropertyLabel
- mediaProperty