Rupert Westenthaler created STANBOL-915:
-------------------------------------------

             Summary: Revise Stanbol Bundlelists to ease building of customised 
Launcher Configurations 
                 Key: STANBOL-915
                 URL: https://issues.apache.org/jira/browse/STANBOL-915
             Project: Stanbol
          Issue Type: Bug
            Reporter: Rupert Westenthaler
            Assignee: Rupert Westenthaler


Apache Stanbol uses 'partialbundlelists' as supported by the Apache Sling Maven 
Launch Plugin to define list of modules (OSGI bundles) defined by Stanbol 
Component. But currently those bundle lists are not self consistent meaning 
that users can not only depend to such a bundlelist to have a feature available 
in a Laucnher.

In the following I will use the Refactor Engine as an Example:

* The Refactor Engine module is part of the enhancer bundle list
* The Enhancer bundlelist requires the stanbolcommons bundle list
* The stanbolcommons bundle list requires the osgiframework list
* The Refactor Engines requires the Stanbol Rules component, because of that 
users would also need to include the rules bundle list
* As the Refactor Engine also uses the Entityhub users would also need to 
include the entityhub bundlelist.

All those dependencies are currently not defined in the Bundlelist. Users need 
to know them when using the bundle lists.

Because of that the current bundle lists in Stanbol are also of a very high 
granularity. E.g. the "stanbolcommons" include about 15 modules that would not 
be needed to run the stable launcher (e.g. Clerezza Jena TDB storage, Clerezza 
SPARQL, Clerezza Platform, Commons OWL, Commons Jobs). The main reason for that 
is that more fine granular lists would not be manageable because of the above 
issue.


The goal of this Issue is to solve this problem by adding maven dependencies 
between bundle lists and to use the transitive closure over those when building 
a launcher. This means that each bundle list - or to be concrete - the maven 
module defining a `partialbundlelsit` will consists out of two things

* a `pom.xml` file defining dependencies to other required bundle lists
* a `list.xml` file defining additional modules

There will be bundle lists on two levels

1. Module (Feature) level: Those bundle lists allow users to add specific 
features (e.g. Apache Tika based Enhancement Engines, Solr Based Storage for 
the Entityhub)
2. Component level: This are bundle lists providing a Stanbol Component (e.g. 
the Stanbol Enhancer with typical Enhancement Engines)

The idea is that users will start to build custom Stanbol Launchers by using 
the Component level lists. E.g. Stanbol Enhancer & Stanbol Entityhub plus some 
custom Enhancement Engines. The feature level lists will allow expert users to 
build even more focused Launchers for special use cases (e.g. Users that 
directly access the Java API might want a launcher without the RESTful 
interface).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to