sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <cziege...@apache.org>
Subject Re: [RT] Configurationless Sling?
Date Wed, 29 Mar 2017 06:00:27 GMT
Oliver Lietz wrote
>> It would be good if we have this description only once in our code base
>> and not several times and can then generate different artifacts (if
>> needed) out of it.
> 
> Right, but I'm pretty sure I raised my concerns generating Karaf Features and 
> Configurations (and repoinit statements) from provisioning model already.
> 
> * Launchpad is _unstable_ most of the time (using snapshots mostly) while 
> Karaf Features are _stable_ (only a few snapshots left). Launchpad is in fact 
> the test bed for AEM, but Sling Karaf aims at good user experience and 
> production readiness.

Well, we decided to not use snapshot dependencies in launchpad anymore.
It just has not happened yet. But I think we should start directly after
the release of Sling 9. I didn't say we should use Launchpad as the
base, I said we should use the same source which probably is a
provisioning model. Launchpad's only purpose is to get people easily
started with Sling, nothing less but also nothing more.

> 
> * There are much more and finer grained features in Karaf than in Launchpad.

I don't want to be pedantic, but these things are not *in* Karaf. The
features are defined in Sling and can be consumed by Karaf. And I don't
see any reason why we can't describe these things with a provisioning
model and a) reference it in Launchpad and b) generate a Karaf feature
out of it.

The only potentially missing feature are dependencies (as you note
below). I'll think we should rethink the format of the provisioning
model anyway and with that we could add dependency handling. The Karaf
feature XML is unfortunately not suited for our needs as it's not
possible to add other artifact types and especially not possible to add
things like repo init.

Regards
Carsten

> 
> * Every (Karaf) feature is backed by an integration test.
> 
> * Testing PaxExam's options and versions are already generated from (Karaf) 
> features.
> 
> * The provisioning model does not support dependencies (yet).
> 
> I guess it takes only a few hours to create templates for generating 
> provisioning models from (Karaf) features and a few more to split into 
> separate files, but I'm more interested in filling the missing piece regarding 
> repoinit (and creating immutable/static instances from features with Karaf 
> Profiles).
> 
> Currently all repoinit statements from karaf-repoinit are executed when 
> installing feature sling-oak-tar:
> 
> https://github.com/apache/sling/blob/trunk/karaf/org.apache.sling.karaf-features/src/main/feature/feature.xml#L387
> 
> https://github.com/apache/sling/blob/trunk/karaf/org.apache.sling.karaf-configs/src/main/resources/org.apache.sling.jcr.repoinit.impl.RepositoryInitializer.config
> 
> references=[\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-discovery.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-event.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-i18n.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-installer-jcr.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-scripting.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-validation.txt",\
>   "raw:classpath://org.apache.sling.karaf-repoinit/sling-xss.txt"\
> ]
> 
> It's obvious that having a (factory) component or other mechanism which is 
> able to execute statements in more than one batch makes sense.
> 
>> I think we should also split this up into a minimal set. For example I'm
>> currently trying to get Sling running without JCR - in order to trim the
>> dependencies down. And in that case I only need the service user mapping
>> for some core bundles, no repo init etc.
> 
> The minimal set in Karaf is the feature sling:
> 
> https://github.com/apache/sling/blob/trunk/karaf/org.apache.sling.karaf-features/src/main/feature/feature.xml#L22
> 
> How do you want to create service users without repoinit?
> 
> Regards,
> O.
> 
>> Regards
>> Carsten
> 
> 


 

-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org

Mime
View raw message