This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git


The following commit(s) were added to refs/heads/master by this push:
     new fe810a3  Update requirements list, separate Sling specific 
requirements, move tooling requirements, add comments
fe810a3 is described below

commit fe810a32e1b7f122edda26ffdf03923245c867b4
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Fri Feb 16 08:42:14 2018 +0100

    Update requirements list, separate Sling specific requirements, move 
tooling requirements, add comments
---
 featuremodel/readme.md | 68 ++++++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 30 deletions(-)

diff --git a/featuremodel/readme.md b/featuremodel/readme.md
index 4a88a86..f2f5b19 100644
--- a/featuremodel/readme.md
+++ b/featuremodel/readme.md
@@ -12,56 +12,64 @@ The goals of this proposal are:
 # Requirements
 
 The feature model should meet the following requirements:
-
+Comment(CZ) : We should reorder the Requirements
 * SFM010 - A feature model must have a unique identifier.
 * SFM020 - A feature model must have a version.
 * SFM030 - The feature model should be described through a text format which 
is easily consumable by both humans and machines, that can be edited with 
common editors and support text-based diff operations.
 * SFM040 - It must be possible to specify the bundles belonging to the 
feature, including version.
-* SFM050 - It must be possible to specify the bundles in a feature in terms of 
Maven coordinates.
+* SFM050 - It must be possible to specify the bundles in a feature in terms of 
Maven coordinates. Comment(CZ) : I'm not sure we need to specify this here - or 
if we should say the same about the feature identifier.
 * SFM060 - It must be possible to specify the OSGi configurations for a 
feature.
 * SFM070 - Both normal OSGi configurations as well as factory configurations 
must be supported. The feature model must support all data types supported by 
the OSGi Configuration Admin specification.
-* SFM080 - It must be possible to associate an OSGi configuration with a 
bundle within a feature. If the bundle is not resolved at runtime then the 
associated configuration also does not get installed.
-* SFM090 - It must be possible to define framework properties.
-* SFM100 - A feature must be able to extend other features. 
-* SFM110 - A feature must be able to depend on other features. The feature 
model must be able to deal with circular dependencies.
-* SFM120 - The feature model must describe how several features are combined 
to build an application.
-* SFM130 - A feature must be describable through a single file.
-* SFM140 - Multiple features must be described in multiple files.
-* SFM150 - The feature model must be extensible to allow other (proprietary) 
artifacts and content.
-* SFM160 - The feature model must allow the specification of the order in 
which the bundles inside the feature are started. This should be relative to 
when the feature itself is started.
-* SFM170 - The feature model must support variable substitution for its values 
at runtime.
-* SFM180 - The feature model must support JCR Repository Initialization via 
the _repoinit_ language.
-* SFM190 - The feature model should allow the arbitrary text files to be 
written to the file system, to support configuration of components that use 
file-based configuration such as properties or XML files, such as web.xml.
-* SFM200 - The feature model must support features which consist of repository 
content packages.
-* SFM210 - The feature model may support more than one text-based definition 
language where the language used can be easily inferred, for example from the 
file extension.
-* SFM220 - The feature model must support runtime launching with one or more 
features.
-* SFM230 - The feature model must be able to compute the effective 
requirements of a feature by inspecting the feature's content and combining 
this with requirements specified on the feature itself.
-* SFM240 - The feature model must be able to compute the capabilities of a 
feature by inspecting the feature's content and directly specified capabilities.
-* SFM250 - A feature must be able to specify additional requirements and 
capabilities that extend the requirements and capabilities from the contained 
artifacts.
-* SFM260 - The feature model must be able to find all features that provide 
the capabilities required by a given feature, from a set of available features.
-* SFM270 - Given one or more root features, the feature model must be able to 
compute the start order of all resulting features so that dependencies of 
features are started first.
-* SFM280 - The feature model should support all functionality previously 
provided by the Sling provisioning model.
-* SFM290 - When two bundles with the same symbolic name are installed then the 
feature model must be capable of only using the one with the highest version 
number.
-* SFM300 - When two bundles with the same symbolic name are installed then the 
feature model must be capable of installing them side-by-side.
-* SFM310 - The feature model should provide support for long and multi-line 
values without creating files that become hard to handle.
-* SFM320 - The feature model must support comments.
-* SFM330 - It should be possible to dynamically install and uninstall features 
at runtime.
+* SFM080 - The OSGi configuration resource format as defined in the OSGi 
Configurator Specification must be supported.
+* SFM090 - It must be possible to associate an OSGi configuration with a 
bundle within a feature. If the bundle is not resolved at runtime then the 
associated configuration also does not get installed.
+* SFM100 - The feature model must allow the specification of the order in 
which the bundles inside the feature are started. This should be relative to 
when the feature itself is started.
+* SFM110 - It must be possible to define whether a bundle is mandatory or 
optional.
+* SFM120 - It must be possible to define framework properties.
+* SFM130 - A feature must be able to extend other features.
+* SFM140 - A feature must be able to depend on other features. The feature 
model must be able to deal with circular dependencies. Comment(CZ) : This 
sounds like a require-feature directive. I guess this is not meant here.
+* SFM150 - The feature model must describe how several features are combined 
to build an application.
+* SFM160 - A feature must be describable through a single file.
+* SFM170 - Multiple features must be described in multiple files.
+* SFM180 - The feature model must be extensible to allow other artifacts than 
bundles.
+* SFM190 - The feature model must be extensible to allow other/additional 
content.
+* SFM200 - The feature model may support more than one text-based definition 
language where the language used can be easily inferred, for example from the 
file extension.
+* SFM210 - The feature model must support comments.
+* SFM220 - A feature must be able to specify additional requirements and 
capabilities that extend the requirements and capabilities from the contained 
artifacts.
+* SFM230 - The feature model must describe how several features are aggregated 
to build a higher level feature
+* SFM240 - When features are aggregated, either to create a higher level 
feature or an application, the feature model must be capable of only using the 
one with the highest version number.
+* SFM250 - When features are aggregated, either to create a higher level 
feature or an application, the feature model must be capable of including both 
versions side-by-side.
+* SFM260 - The feature model should provide support for long and multi-line 
values without creating files that become hard to handle.
 
 ## Tooling
 The following requirements relate to tooling around the Feature Model.
+General Comment (CZ) : Most of the requirements start with "The feature model 
must...", however these are not requirements for the feature model itself, but 
rather for some tooling. We need to rephrase, potentially regroup.
 
 * SFT010 - A maven tool must be provided that can create a Sling Launchpad 
from the feature model.
 * SFT020 - The feature model must allow minimal packaging of runtime artifacts 
for a feature based on one or more root features and including all their 
transitive dependencies, but no other artifacts.
+* SFT030 - The feature model must support variable substitution for its values 
at runtime. Comment(CZ) : What exactly does this mean? Substitution of what?
+* SFT040 - The feature model should allow the arbitrary text files to be 
written to the file system, to support configuration of components that use 
file-based configuration such as properties or XML files, such as web.xml. 
Comment(CZ) : Not sure what this actually means, how does web.xml play a role 
here?
+* SFT050 - The feature model must support runtime launching with one or more 
features.
+* SFT060 - The feature model must be able to compute the effective 
requirements of a feature by inspecting the feature's content and combining 
this with requirements specified on the feature itself.
+* SFT070 - The feature model must be able to compute the capabilities of a 
feature by inspecting the feature's content and directly specified capabilities.
+* SFT080 - The feature model must be able to find all features that provide 
the capabilities required by a given feature, from a set of available features.
+* SFT090 - Given one or more root features, the feature model must be able to 
compute the start order of all resulting features so that dependencies of 
features are started first.
+* SFT100 - It should be possible to dynamically install and uninstall features 
at runtime.
 
 ### Containers
-These requirements 
+These requirements
 
 * SFC010 - The feature model must support operation in a container environment 
such as Docker.
 * SFC020 - The feature model must support micro-services oriented target 
runtimes where a single micro service runs in its own container containing only 
the binaries required for that microservice.
-* SFC030 - It must be possible to add new features by placing additional files 
in a container's file system. 
+* SFC030 - It must be possible to add new features by placing additional files 
in a container's file system.
 * SFC040 - It must be possible to alter existing features by placing 
additional files in the file system. For example to uninstall or update a 
bundle provided by an existing feature or to alter a configuration set by an 
existing feature.
 * SFC050 - The feature model must enable the creation of container (Docker) 
images for a specified set of features.
 
+### Sling Specific
+
+* SFS010 - The feature model must support JCR Repository Initialization via 
the _repoinit_ language. See SFM190
+* SFS020 - The feature model must support features which contains repository 
content packages. See SFM180
+* SFS030 - The feature model should support all functionality previously 
provided by the Sling provisioning model.
+
 # Prototype
 
 The prototype uses JSON as a well defined and understood format. This fits 
nicely with the new OSGi R7 JSON format for configurations.

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to