Arbitrary and Cascading Operations - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Arbitrary and Cascading Operations

Description:

element name='Condition' type='sdd-dd:ConditionType' minOccurs='0' ... attribute name='operation' type='sdd-dd:OperationApplicabilityType' use='required' ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 10
Provided by: jul7157
Category:

less

Transcript and Presenter's Notes

Title: Arbitrary and Cascading Operations


1
Arbitrary and Cascading Operations
  • CL2 Issues 7 8

2
The Problem
  • Performing an operation on the SDD as a whole
    does not necessarily mean performing that same
    operation on all content elements in scope. It
    also doesnt necessarily mean performing just one
    operation on all content elements in scope.
  • E.g. An install at the top level may map to
    install operations on installable units and
    configuration operations on configuration units.
  • E.g. An install at the top level may require an
    update, undo or even uninstall of some of the
    content.
  • E.g. An update at the top level may require an
    install of some content.
  • E.g. An install at the top level may require both
    an install and an uninstall of a tool used to
    support the install.
  • There is no way to know how the top-level
    operation is intended to map to operations on
    content elements.

3
The Solution
  • Provide a way for the SDD author to state
    explicitly how operations on individual content
    elements map to a top level operation.

4
Current semantics that may be affected
  • Operations on requirements are used to associate
    the requirement with a particular artifact.
  • Operations on requirements in a CompositeUnit or
    CompositeInstallable associate the requirement
    with artifacts of all the contained content
    elements (or to top level operations in the case
    of ContainedPackages).
  • Dependency elements allow expression of
    dependencies on a particular operation applied to
    a particular content element.

5
Solution Implementation
  • Let the CompositeInstallable state explicitly
    which operations are valid for the SDD.
  • Let operations defined in the Composites map
    directly to the valid SDD operations.
    (Specification hit only.)
  • Let each content element that defines artifacts
    provide a mapping between the SDD operations and
    operations supported by the content elements
    artifacts.
  • Let the default mapping be one-to-one so that a
    mapping only need be defined when there are
    differences.
  • Allow the mapping of multiple operations on
    content to one operation at the top level.
  • Allow expression of dependencies by a one
    operation in a content element on another
    operation in the same content element. This
    allows ordering of artifact processing when
    multiple content element operations map to one
    SDD operation. (Specification hit only.)

6

type"sdd-commonIdentityType" minOccurs"0"/
ype" minOccurs"0"/ name"Variables" type"sdd-ddVariablesType"
minOccurs"0"/ type"sdd-ddRequiredBaseType" minOccurs"0"/
mentsType" minOccurs"0"/ name"SupportedLanguages" type"sdd-ddSupportedLa
nguagesType" minOccurs"0"/ name"ResultingResource" type"sdd-ddResultingRes
ourceType" minOccurs"0" maxOccurs"unbounded"/
type"sdd-ddResultingChangeType" minOccurs"0"
maxOccurs"unbounded"/ name"BaseContent" type"sdd-ddBaseContentType"
minOccurs"0"/ nt" type"sdd-ddSelectableContentType"
minOccurs"0"/ tent" type"sdd-ddLocalizationContentType"
minOccurs"0"/ name"id" type"ID" use"required"/ name"operation" type"sdd-ddOperationApplicabili
tyType" use"required"/ namespace"other" processContents"lax"/ lexType
Add a list of operations to CompositeInstallable
as an attribute. These are the operations that
are valid for the SDD. The specification will
explain that the intent of the SDD is to support
those operations applied to the SDD as a whole.
It is not the intent that any operation can be
applied to any individual content element in
isolation. Make the operation attribute required
with no default to make sure the SDD author
thinks about and communicates the operations
supported by the SDD.
7
Add an optional OperationMaps element to
InstallableUnits, ConfigurationUnits and
LocalizationUnits the content elements that
define artifacts.

type"sdd-ddOperationMapType" maxOccurs"unbounde
d" / name"OperationMapType" namesddOperation" type"sdd-ddOperationType"
use"required" / namecontentOperations" type"sdd-ddOperationApp
licabilityType" useoptional" /
processContents"lax"/
8
Operation semantics
  • The SDD operation is an input provided by the
    deployer. It must be one of the operations in the
    set of operations defined in the
    CompositeInstallable.
  • For composites there is no mapping of operations.
    The SDD operation is always the operation that
    applies to the composite.
  • For content with artifacts InstallableUnit,
    ConfigurationUnit and LocalizationUnit the SDD
    operation can be mapped to one or more different
    operations on the content element.
  • When a content element is in scope, this map is
    used to determine which Requirements, Conditions,
    and Completion actions apply and which
    artifact(s) will be used.
  • When sddOperation is defined with no associated
    contentOperation, then that sddOperation is a
    no-op for the content element.
  • If no mapping is provided for a particular SDD
    operation, the SDD operation is applied without
    mapping.
  • Its OK to provide a mapping for none, or only a
    subset, of the SDD operations. SDD operations
    that do not have a mapping are applied without
    change.

9
Remaining operation issueHow does operation
interact with content selection?
  • Note This issue is not created or solved by the
    proposal presented in these slides.
  • Does the selection of content by feature apply
    for all operations?
  • It is easy to understand how features select
    content for an install.
  • But what about update?
  • Selection of content for an update probably
    should be based on what was previously installed,
    not on selection of features in the update SDD.
    How is this achieved?
  • Does the answer change if one package can handle
    both install and update?
  • What about undo, uninstall, configure, verify and
    verifyConfig?
Write a Comment
User Comments (0)
About PowerShow.com