ZedDist Profiles Component Pool Principle

From zedwiki

Jump to: navigation, search

Contents

Overview

The Component Pool is a principle for Profile composition. It serves as an abstraction layer underlying the concrete profiles. The characteristics of the pool define the maximum amount of variability between profiles. The spec defines which components are available in the pool; these components and the rules/behaviors defined around and within them cannot be changed without a spec revision. Thus, this abstraction is static.

Each Component in the pool has a set of characteristics and features:

  • It serves one well-scoped purpose in the context of the DTB logic
  • It defines whether its inclusion is optional or required when creating a DTB Profile (Note; a profile adopting an optional component may in its turn make the component required within the scope of the profile)
  • It may define one static concrete form, or it may define patterns with which a Profile creator can modify its concrete form at Profile creation time (the latter makes it a polymorph component)
  • It defines dependencies: the inclusion of Component X in a Profile may be dependent on (a specific aspect of) Component Y to also being included. Component X is responsible to declare these dependencies.
  • It may define "extension points": slots which the Profile creator may activate to allow injection of "foreign" constructs dynamically in instances @@@ bridge to Profile's optional features



Component Pool Strawman 1

a tabular illustration of the pool's components, as described in the text on this page

In the ZedDist context, a component pool may have the following components, with the following properties:


The Container Component

Purpose
provides the physical container for a distribution unit, and a way to express metadata about the distribution unit
Inclusion
Required.
Polymorph
No.
Dependencies
None.
Extension Points
None.
Note
this component's metadata is not bibliographic but describes information on:
  • multi-manifestation publications (see fallbacks/views, note: epub manifest already provides for this in a way)
  • multi-publication units
  • multi-unit publications


The Package Component

Purpose
provides the Package document type, which contains publication metadata
Inclusion
Required.
Polymorph
Yes. The concrete document type is composed at Profile creation time. The package grammar is based on modules, a majority of which are required in the document type, others optional.
Dependencies
None.
Extension Points
None. @@@ may need for metadata, may need for spine content types (SMIL, Text, Audio)

Note: package metadata is bibliographic and concerns only one manifestation of a publication

Note: this is based on OPF2.0, but we extend and override as needed this time around.


The Director Component

Purpose
provides the presentation spine, timing and multimedia synchronization
Inclusion
TBD
Polymorph
Yes. The concrete document type is composed at Profile creation time. The SMIL grammar is based on modules, some of which are required in the document type, others optional.
Dependencies
None.
Extension Points
TBD, depends on design of Profile "optional features"

Note: yet undecided whether to lock on to SMIL here, or be more open at this abstract level. Depends also on scope definition and reqs re video captioning, etc


The Navigation Component

Purpose
provides global navigation support through the NCX.
Inclusion
Required.
Polymorph
Yes. The concrete document type is composed at Profile creation time. The NCX grammar is based on modules, some of which are required in the document type, others optional.
Dependencies
None.
Extension Points
None. The spec ships with a finite set of NCX modules. @@@ consider allowing contributions to markup in labels

Note: the NCX label media types are included independently of the Media Channel components (for example, the NCX allowing text labels without the Text channel being activated)


The Text Channel Component

Purpose
including this component makes the Text media type available in the DTB presentation
Inclusion
Optional.
Polymorph
Yes. The concrete document type is composed at Profile creation time. Alternatively: this component defines 1-n grammars that the Profile creator can choose 1-n from. (in other words; a profile could allow one or several text grammars (for example: loose or strict))
Dependencies
  • director component: the text element
  • package component: contributes to media types enum
Extension Points
Yes:
  • A CDR extension point, that the Profile creator elects whether to activate
  • A CDI extension point, that the Profile creator elects whether to activate

Note: yet undecided whether this channel should mandate a host/core grammar that must always be used, or be more open at this abstract level.


The Audio Channel Component

Purpose
including this component makes the Audio media type available in the DTB presentation
Inclusion
Optional.
Polymorph
Format outer bounds - subsetting allowed. This component defines a set of audio formats out of which the Profile creator must allow at least one. No other formats than those listed here can be used in a Profile.
Dependencies
  • director component: the audio element becomes available
  • package component: contributes to media types enum
Extension Points
None.


The Image Channel Component

Purpose
including this component makes the Image media type available in the DTB presentation
Inclusion
Optional.
Polymorph
Format outer bounds - subsetting allowed. This component defines a set of image formats out of which the Profile creator must allow at least one. No other formats than those listed here can be used in a Profile.
Dependencies
  • director component: the image element
  • package component: contributes to media types enum
Extension Points
None.
Note
inclusion of images embedded statically in Text is a separate thing, and governed by the document type composed in the Text channel


The Video Channel Component

Purpose
including this component makes the Video media type available in the DTB presentation
Inclusion
Optional.
Polymorph
Format outer bounds - subsetting allowed. This component defines a set of video formats out of which the Profile creator must allow at least one. No other formats than those listed here can be used in a Profile.
Dependencies
  • director component: the video element {...}
  • package component: contributes to media types enum
Extension Points
None.
Personal tools