Service - Media Manager: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Each media type is handled by a Service - Media (handlers) service. The Media Manager service handles shared orchestration of the Media Handler services. =...") |
No edit summary |
||
| (5 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]]== | |||
=== Nodes === | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
nodeLabel: "media", | |||
schema: { | |||
identifier: true, | |||
restrictProperties: true, | |||
restrictRelationships: true, | |||
properties: { | |||
mediaId: { | |||
identifier: true, // create unique id from request details | |||
}, | |||
mediaHandlerServiceNameTag: { | |||
immutable: true, | |||
}, | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
nodeLabel: "mediaPropertyLabel", | |||
} | |||
{ | |||
nodeLabel: "mediaProperty", | |||
} | |||
</syntaxhighlight> | |||
* see [[NPM module - Izara Core - Property Node|DataSchemaLib]] | |||
=== Relationships === | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "has_mediaProperty", | |||
} | |||
{ | |||
relationshipType: "disabled_mediaProperty", | |||
} | |||
{ | |||
relationshipType: "is_mediaPropertyLabel", | |||
} | |||
</syntaxhighlight> | |||
* see [[NPM module - Izara Core - Property Node|DataSchemaLib]] | |||
== Basic node schemas == | |||
Schema comes from [[NPM module - Izara Core - Property Node|BasicNodeSchemaLib]] | |||
# mediaPropertyLabel | |||
#* [[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