Representing the domains in the model
Currently the domains "Editorial", "Production", "Publication & Distribution", "Consumption", etc are only graphically represented on the overview slides. Some users have expressed the wish to include this assignment in the code of the EBUCorePlus model. Should we do that, and if so, how could we do that? Please note: the assignment has so far only be made for the 30 main classes on the overview slides. We need to think about whether and where the other classes could be assigned then.
Hi Jürgen, I really think that's a good idea and would add to the readability of the ontology.
My knowledge is not big enough however to provide input on how this should be done.
I think we should first list all possibilities; adding a "Domain" class with subclasses or with skos definitions, adding annotations or data properties etc...
Grouping by domain is definitely useful for communication. Maybe not that useful in the actual schema.
Will be useful to have a good definition of which domains contain which entities. There's no right or wrong, but it helps to speak the same language.
In my EBUCorePlus Navigator, I use the following grouping based on the (outdated?) EBU Tech 3351 document (with the paragraph where they are mentioned).
public static function grouping()
{
return [
[
'domain' => EbuDomainEnum::PLANNING,
'paragraph' => '2.2.7',
'resources' => [
'ec:Campaign',
'ec:PublicationPlan',
'ec:ProductionOrder',
'ec:Audience',
// 'ec:Resonance', // TODO does not exist (only: ec:ResonanceEvent, ec:ResonanceCount)
],
'color' => '#2FCEFF', // blue
'iconColor' => '#219cc2', // blue
'icon' => 'lucide-notebook-pen',
'description' => 'where Resonance from the Audience is analysed to understand the demand which in turn is met by a strategy in form of a PublicationPlan, leading to the commissioning of production (ProductionOrders) and coordination of publication (Campaigns).',
],
[
'domain' => EbuDomainEnum::LEGAL_COMMERCIAL,
'paragraph' => '2.2.1',
'resources' => [
'ec:Asset',
// 'ec:AssetValue', // moved to FINANCIAL
'ec:Rights',
'ec:Contract',
// 'ec:ContractCost', // moved to FINANCIAL
'ec:Rule',
],
'color' => '#FFE58D', // yellow
'iconColor' => '#f7c511', // yellow
'icon' => 'lucide-scale',
'description' => 'where Contracts, intellectual property and other rights associated to content and its manifestations are being managed. The central class of the Legal Domain is the Asset, which establishes the association of an EditorialObject with Intellectual Property and Rights related information.',
],
[
'domain' => EbuDomainEnum::EDITORIAL,
'paragraph' => '2.2.2',
'resources' => [
'ec:EditorialObject',
'ec:TimelineTrack',
'ec:Location',
'ec:Event',
],
'color' => '#8ACD00', // green
'iconColor' => '#659603', // green
'icon' => 'lucide-files',
'description' => 'where concept related, and content related information is being managed. Furthermore, all editing decisions are represented here. The EditorialObject is the central class of the domain. It can be grouped, and it can be ordered on a timeline through TimelineTrack. Associated objects like Location or Event are represented.',
],
[
'domain' => EbuDomainEnum::PARTICIPATION,
'paragraph' => '2.2.3',
'resources' => [
'ec:Agent',
'ec:Person',
'ec:Organisation',
'ec:CrewMember', // 2.2.3.4: Crew
'ec:Involvement', // 2.2.3.5: Role
// 'ec:Artefact', // 2.2.3.6: PARTICIPATION, 2.2.4.7: PRODUCTION
],
'color' => '#FFC9CA', // salmon
'iconColor' => '#e86d71', // salmon
'icon' => 'lucide-user',
'description' => 'where actors/contributors, like persons and companies are described through Agent, Role, Person and Organisation.',
],
[
'domain' => EbuDomainEnum::PRODUCTION,
'paragraph' => '2.2.4',
'resources' => [
'ec:Resource',
'ec:MediaResource',
'ec:Track',
'ec:Format',
'ec:Essence',
'ec:PhysicalResource',
'ec:Artefact', // 2.2.3.6: PARTICIPATION, 2.2.4.7: PRODUCTION (Costume/Food/Props)
'ec:ProductionJob',
'ec:ProductionDevice',
'ec:OnStagePosition',
],
'color' => '#BFBFBF', // darkgray
'iconColor' => '#6b6b6b', // darkgray
'icon' => 'lucide-file-video',
'description' => 'where Production Orders are realised through the acquisition of the necessary MediaResources (e.g. manufacturing an object through the ProductionJob with ProductionDevices, purchase or retrieval of material) according to the ProductionPlan. MediaResources ready for publication use the Essence class for connecting the content to a certain publication.',
],
[
'domain' => EbuDomainEnum::PUBLICATION_DISTRIBUTION,
'paragraph' => '2.2.5',
'resources' => [
'ec:PublicationEvent',
'ec:PublicationService', // 2.2.5.2: Service
'ec:ConsumptionDeviceProfile',
],
'color' => '#BFFFFF', // cyan
'iconColor' => '#11cfcf', // cyan
'icon' => 'lucide-tv-minimal-play',
'description' => 'where any form of publishing, play-out or distribution is covered. The central Class is the PublicationEvent that plays out an Essence, (i.e. the media object that was the result of the ProductionJob.) through a Service that is consumable on a type of device represented by a ConsumptionDeviceProfile.',
],
[
'domain' => EbuDomainEnum::CONSUMPTION,
'paragraph' => '2.2.6',
'resources' => [
'ec:ConsumptionEvent',
'ec:ConsumptionDevice',
'ec:ConsumptionLicence',
'ec:Consumer',
'ec:Account',
'ec:ResonanceEvent',
],
'color' => '#DBEAF7', // lightgray
'iconColor' => '#497fad', // lightgray
'icon' => 'lucide-eye',
'description' => 'where the consumption of media is modelled. Important classes in this domain is the ConsumptionEvent, that correspondents with the PublicationEvent in the DistributionDomain.A Consumer uses a Consumption Device to access the Service and possibly create ResonanceEvents. Account is a Consumer’s registration with the media enterprise to handle authorisation, personalisation, monetization, etc.',
],
[
'domain' => EbuDomainEnum::FINANCIAL,
'paragraph' => '2.2.8',
'resources' => [
'ec:AssetValue', // Tech 3351: Legal: 2.2.1.1.1 but Financial: 2.2.8.1
'ec:ContractCost',
],
'color' => '#01701b', // green
'iconColor' => '#014511', // green
'icon' => 'lucide-receipt-euro',
'description' => 'where cost and value of productions are modelled in a very
simple fashion.',
],
[
'domain' => EbuDomainEnum::AUDIT_ASSESSMENT,
'paragraph' => '2.2.9',
'resources' => [
'ec:AuditJob',
'ec:Measure',
'ec:AuditReport',
],
'color' => '#FF737D', // red
'iconColor' => '#9c0b15', // red
'icon' => 'lucide-shield-ellipsis',
'description' => 'where auditing is defined to measure the quality of content (editorial or technical), against contractual rules and expressed through Measures. An AuditJob results in an AuditReport.',
],
];
}
more input from a discussion with SRF:
- domains can be a great help in navigating EBUCorePlus, as can be seen in the Navigator tool.
- domains should be well defined and described, as they used to be in the outdated CCDM documentation ( EBU Tech 3351 )
- all classes should be linked to one of the domains to allow a graphical representation similar to the CCDM documentation
- it should be made clear that the domains in EBUCorePlus are areas of closely related classes and as such they do neither cover all data classes in the whole enterprise nor other entities such as processes or capabilities. Other entities may well have other domain defintions.