20 likes | 105 Vues
Feature Add. Background An SDD is a descriptor used to create an instance of a solution. Multiple Instances can be deployed, e.g. test vs production. Each time that an SDD is consumed, the BaseContent is deployed along with the specified content from SelectableContent .
E N D
Feature Add • Background • An SDD is a descriptor used to create an instance of a solution. • Multiple Instances can be deployed, e.g. test vs production. • Each time that an SDD is consumed, the BaseContent is deployed along with the specified content from SelectableContent. • Some solutions allow selectable content to be added/removed post solution deployment. • SelectableContent is deployed into an existing solution instance, i.e. the BaseContent has already been deployed. • Issue • The SDD does not declare which of the selectable content, if any, can be deployed post solution deployment, i.e. an add-on. • Proposal (approach) • Add an attribute to a Feature stating that is can be deployed into an existing instance. • The runtime will have to prompt for “new solution instance” vs. “add a feature(s)”, i.e. use the presence of this attribute as a “switch”. • Semantics can be defined along with multiplicity, i.e. an add / remove can be performed up to the limit / minimum respectively. • The runtime would be responsible for determining: • what BaseContent would result in to target an instance of the solution. • what topology is required by the features being added. • ensure that the targets for the feature add align with the solution requirements
Proposed Change • Both Firefox and IE use the term “add-on” for delta install of capabilities. Applies here. <complexType name="NestedFeatureType"> <sequence> <group ref="sdd-dd:DisplayElementGroup" minOccurs="0"/> <element name="Condition" type="sdd-dd:ConditionType" minOccurs="0"/> <element name="Multiplicity" type="sdd-dd:MultiplicityType" minOccurs="0"/> <element name="Languages" type="sdd-dd:LanguageSelectionsType" minOccurs="0"/> <choice maxOccurs="unbounded"> <element name="NestedFeature" type="sdd-dd:NestedFeatureType"/> <element name="ContentElement" type="sdd-dd:ContentElementReferenceType"/> <element name="PackageFeatureReference" type="sdd-dd:PackageFeatureReferenceType"/> <element name="RequiredFeature" type="sdd-dd:FeatureReferenceType"/> <element name="Variable" type="sdd-dd:DerivedVariableType"/> </choice> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="ID" use="required"/> <attribute name="add-on" type="boolean" use="optional" default="false"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>