You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by David Bosschaert <da...@gmail.com> on 2018/11/06 15:50:36 UTC

[Feature Model] Initial API Regions implementation

Hi all,

Over the past little while I have worked on an implementation for a runtime
enforcement component for API Regions for Sling Features [1].

The implementation is based on 2 components.

a. Merge/PostProcessor handlers that work on the 'api-regions' section in
the feature files. These components know how to merge api-regions sections
into a target feature and the PostProcessor handlers generate a number of
properties files that drive the runtime enforcement implementation of this.
For details see [2].

b. The runtime component which is implemented as an OSGi Framework
extension bundle. Registers a ResolverHookFactory service with the
framework which is consulted by the OSGi resolver. The hook can prevent
certain resolutions from happening and is driven by the properties files
generated by the process in a. to enforce the regions as defined in the
feature files. For details see [3].

Currently these two new components [2][3] are in the sling-whiteboard, but
it would be great to graduate them out of there into their own Sling
repositories. Does the sling community think that this would be the right
thing to do?

Many thanks,

David

[1]
https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
[2]
https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
[3]
https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions

Re: [Feature Model] Initial API Regions implementation

Posted by David Bosschaert <da...@gmail.com>.
Thanks Robert!

David

On Wed, 7 Nov 2018 at 12:47, Robert Munteanu <ro...@apache.org> wrote:

> Hi David,
>
> On Wed, 2018-11-07 at 12:01 +0000, David Bosschaert wrote:
> > Hi all,
> >
> > I started migrating the code from the sling-whiteboard to individual
> > repositories.
> > The final step is to add the sources to the kibble demo instance
> > http://demo.kibble.apache.org
> >
> > When I add
> > https://github.com/apache/sling-org-apache-sling-feature-apiregions.git
> >
> https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions.git
> > as new github sources, Kibble responds with:
> >   "You don't have permission to add sources to this organisation."
> >
> > Anyone an idea?
>
> Apparently the demo user does not have rights, you need to sign up with
> a different user. I've added them myself and will update the
> documentation to reflect that information.
>
> Thanks,
>
> Robert
>
> >
> > David
> >
> > On Wed, 7 Nov 2018 at 10:57, Carsten Ziegeler <cz...@apache.org>
> > wrote:
> >
> > > +1 to gradudate
> > >
> > > Carsten
> > >
> > > Am 06.11.2018 um 16:50 schrieb David Bosschaert:
> > > > Hi all,
> > > >
> > > > Over the past little while I have worked on an implementation for
> > > > a
> > > runtime
> > > > enforcement component for API Regions for Sling Features [1].
> > > >
> > > > The implementation is based on 2 components.
> > > >
> > > > a. Merge/PostProcessor handlers that work on the 'api-regions'
> > > > section in
> > > > the feature files. These components know how to merge api-regions
> > > sections
> > > > into a target feature and the PostProcessor handlers generate a
> > > > number of
> > > > properties files that drive the runtime enforcement
> > > > implementation of
> > > this.
> > > > For details see [2].
> > > >
> > > > b. The runtime component which is implemented as an OSGi
> > > > Framework
> > > > extension bundle. Registers a ResolverHookFactory service with
> > > > the
> > > > framework which is consulted by the OSGi resolver. The hook can
> > > > prevent
> > > > certain resolutions from happening and is driven by the
> > > > properties files
> > > > generated by the process in a. to enforce the regions as defined
> > > > in the
> > > > feature files. For details see [3].
> > > >
> > > > Currently these two new components [2][3] are in the sling-
> > > > whiteboard,
> > > but
> > > > it would be great to graduate them out of there into their own
> > > > Sling
> > > > repositories. Does the sling community think that this would be
> > > > the right
> > > > thing to do?
> > > >
> > > > Many thanks,
> > > >
> > > > David
> > > >
> > > > [1]
> > > >
> > >
> https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
> > > > [2]
> > > >
> > >
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
> > > > [3]
> > > >
> > >
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions
> > >
> > > --
> > > Carsten Ziegeler
> > > Adobe Research Switzerland
> > > cziegeler@apache.org
> > >
>
>
>

Re: [Feature Model] Initial API Regions implementation

Posted by Robert Munteanu <ro...@apache.org>.
Hi David,

On Wed, 2018-11-07 at 12:01 +0000, David Bosschaert wrote:
> Hi all,
> 
> I started migrating the code from the sling-whiteboard to individual
> repositories.
> The final step is to add the sources to the kibble demo instance
> http://demo.kibble.apache.org
> 
> When I add
> https://github.com/apache/sling-org-apache-sling-feature-apiregions.git
> https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions.git
> as new github sources, Kibble responds with:
>   "You don't have permission to add sources to this organisation."
> 
> Anyone an idea?

Apparently the demo user does not have rights, you need to sign up with
a different user. I've added them myself and will update the
documentation to reflect that information.

Thanks,

Robert

> 
> David
> 
> On Wed, 7 Nov 2018 at 10:57, Carsten Ziegeler <cz...@apache.org>
> wrote:
> 
> > +1 to gradudate
> > 
> > Carsten
> > 
> > Am 06.11.2018 um 16:50 schrieb David Bosschaert:
> > > Hi all,
> > > 
> > > Over the past little while I have worked on an implementation for
> > > a
> > runtime
> > > enforcement component for API Regions for Sling Features [1].
> > > 
> > > The implementation is based on 2 components.
> > > 
> > > a. Merge/PostProcessor handlers that work on the 'api-regions'
> > > section in
> > > the feature files. These components know how to merge api-regions
> > sections
> > > into a target feature and the PostProcessor handlers generate a
> > > number of
> > > properties files that drive the runtime enforcement
> > > implementation of
> > this.
> > > For details see [2].
> > > 
> > > b. The runtime component which is implemented as an OSGi
> > > Framework
> > > extension bundle. Registers a ResolverHookFactory service with
> > > the
> > > framework which is consulted by the OSGi resolver. The hook can
> > > prevent
> > > certain resolutions from happening and is driven by the
> > > properties files
> > > generated by the process in a. to enforce the regions as defined
> > > in the
> > > feature files. For details see [3].
> > > 
> > > Currently these two new components [2][3] are in the sling-
> > > whiteboard,
> > but
> > > it would be great to graduate them out of there into their own
> > > Sling
> > > repositories. Does the sling community think that this would be
> > > the right
> > > thing to do?
> > > 
> > > Many thanks,
> > > 
> > > David
> > > 
> > > [1]
> > > 
> > https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
> > > [2]
> > > 
> > https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
> > > [3]
> > > 
> > https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions
> > 
> > --
> > Carsten Ziegeler
> > Adobe Research Switzerland
> > cziegeler@apache.org
> > 



Re: [Feature Model] Initial API Regions implementation

Posted by David Bosschaert <da...@gmail.com>.
Hi all,

I started migrating the code from the sling-whiteboard to individual
repositories.
The final step is to add the sources to the kibble demo instance
http://demo.kibble.apache.org

When I add
https://github.com/apache/sling-org-apache-sling-feature-apiregions.git
https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions.git
as new github sources, Kibble responds with:
  "You don't have permission to add sources to this organisation."

Anyone an idea?

David

On Wed, 7 Nov 2018 at 10:57, Carsten Ziegeler <cz...@apache.org> wrote:

> +1 to gradudate
>
> Carsten
>
> Am 06.11.2018 um 16:50 schrieb David Bosschaert:
> > Hi all,
> >
> > Over the past little while I have worked on an implementation for a
> runtime
> > enforcement component for API Regions for Sling Features [1].
> >
> > The implementation is based on 2 components.
> >
> > a. Merge/PostProcessor handlers that work on the 'api-regions' section in
> > the feature files. These components know how to merge api-regions
> sections
> > into a target feature and the PostProcessor handlers generate a number of
> > properties files that drive the runtime enforcement implementation of
> this.
> > For details see [2].
> >
> > b. The runtime component which is implemented as an OSGi Framework
> > extension bundle. Registers a ResolverHookFactory service with the
> > framework which is consulted by the OSGi resolver. The hook can prevent
> > certain resolutions from happening and is driven by the properties files
> > generated by the process in a. to enforce the regions as defined in the
> > feature files. For details see [3].
> >
> > Currently these two new components [2][3] are in the sling-whiteboard,
> but
> > it would be great to graduate them out of there into their own Sling
> > repositories. Does the sling community think that this would be the right
> > thing to do?
> >
> > Many thanks,
> >
> > David
> >
> > [1]
> >
> https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
> > [2]
> >
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
> > [3]
> >
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions
> >
>
> --
> Carsten Ziegeler
> Adobe Research Switzerland
> cziegeler@apache.org
>

Re: [Feature Model] Initial API Regions implementation

Posted by Carsten Ziegeler <cz...@apache.org>.
+1 to gradudate

Carsten

Am 06.11.2018 um 16:50 schrieb David Bosschaert:
> Hi all,
> 
> Over the past little while I have worked on an implementation for a runtime
> enforcement component for API Regions for Sling Features [1].
> 
> The implementation is based on 2 components.
> 
> a. Merge/PostProcessor handlers that work on the 'api-regions' section in
> the feature files. These components know how to merge api-regions sections
> into a target feature and the PostProcessor handlers generate a number of
> properties files that drive the runtime enforcement implementation of this.
> For details see [2].
> 
> b. The runtime component which is implemented as an OSGi Framework
> extension bundle. Registers a ResolverHookFactory service with the
> framework which is consulted by the OSGi resolver. The hook can prevent
> certain resolutions from happening and is driven by the properties files
> generated by the process in a. to enforce the regions as defined in the
> feature files. For details see [3].
> 
> Currently these two new components [2][3] are in the sling-whiteboard, but
> it would be great to graduate them out of there into their own Sling
> repositories. Does the sling community think that this would be the right
> thing to do?
> 
> Many thanks,
> 
> David
> 
> [1]
> https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
> [2]
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
> [3]
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions
> 

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

Re: [Feature Model] Initial API Regions implementation

Posted by David Bosschaert <da...@gmail.com>.
Thanks Radu and Robert, I was looking here instead:
https://sling.apache.org/project-information.html#source-repository

I'll add the 'Using Git with Sling' link to that page as well.

Best regards,

David

On Wed, 7 Nov 2018 at 10:14, Robert Munteanu <ro...@apache.org> wrote:

> On Wed, 2018-11-07 at 11:04 +0100, Radu Cotescu wrote:
> > Hi David,
> >
> > I was pointed to [0] recently, when I had to create a new repository
> > for the HTL runtime.
> >
> > > On 7 Nov 2018, at 09:32, David Bosschaert <
> > > david.bosschaert@gmail.com> wrote:
> > >
> > > Are there any sling-specific instructions on how to create these
> > > repos?
>
> I've done a quick update to that page to reflect some things that have
> changed, see [1].
>
> Robert
>
> >
> > Cheers,
> > Radu
> >
> > [0] -
> > https://cwiki.apache.org/confluence/display/SLING/Using+Git+with+Sling
>
> [1]:
> https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=75957583&selectedPageVersions=4&selectedPageVersions=5
>
>

Re: [Feature Model] Initial API Regions implementation

Posted by Robert Munteanu <ro...@apache.org>.
On Wed, 2018-11-07 at 11:04 +0100, Radu Cotescu wrote:
> Hi David,
> 
> I was pointed to [0] recently, when I had to create a new repository
> for the HTL runtime.
> 
> > On 7 Nov 2018, at 09:32, David Bosschaert <
> > david.bosschaert@gmail.com> wrote:
> > 
> > Are there any sling-specific instructions on how to create these
> > repos?

I've done a quick update to that page to reflect some things that have
changed, see [1].

Robert

> 
> Cheers,
> Radu
> 
> [0] - 
> https://cwiki.apache.org/confluence/display/SLING/Using+Git+with+Sling

[1]: https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=75957583&selectedPageVersions=4&selectedPageVersions=5


Re: [Feature Model] Initial API Regions implementation

Posted by Radu Cotescu <ra...@apache.org>.
Hi David,

I was pointed to [0] recently, when I had to create a new repository for the HTL runtime.

> On 7 Nov 2018, at 09:32, David Bosschaert <da...@gmail.com> wrote:
> 
> Are there any sling-specific instructions on how to create these repos?

Cheers,
Radu

[0] - https://cwiki.apache.org/confluence/display/SLING/Using+Git+with+Sling

Re: [Feature Model] Initial API Regions implementation

Posted by David Bosschaert <da...@gmail.com>.
Hi all,

If nobody objects I'd like to create two new Sling Git Repositories for
this:
sling-org-apache-sling-feature-extension-apiregions for the extension
handlers and
sling-org-apache-sling-feature-apiregions for the runtime framework
extension bundle.

Are there any sling-specific instructions on how to create these repos?

Best regards

David

On Tue, 6 Nov 2018 at 15:50, David Bosschaert <da...@gmail.com>
wrote:

> Hi all,
>
> Over the past little while I have worked on an implementation for a
> runtime enforcement component for API Regions for Sling Features [1].
>
> The implementation is based on 2 components.
>
> a. Merge/PostProcessor handlers that work on the 'api-regions' section in
> the feature files. These components know how to merge api-regions sections
> into a target feature and the PostProcessor handlers generate a number of
> properties files that drive the runtime enforcement implementation of this.
> For details see [2].
>
> b. The runtime component which is implemented as an OSGi Framework
> extension bundle. Registers a ResolverHookFactory service with the
> framework which is consulted by the OSGi resolver. The hook can prevent
> certain resolutions from happening and is driven by the properties files
> generated by the process in a. to enforce the regions as defined in the
> feature files. For details see [3].
>
> Currently these two new components [2][3] are in the sling-whiteboard, but
> it would be great to graduate them out of there into their own Sling
> repositories. Does the sling community think that this would be the right
> thing to do?
>
> Many thanks,
>
> David
>
> [1]
> https://github.com/apache/sling-org-apache-sling-feature/blob/master/apicontroller.md
> [2]
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-extension-apiregions
> [3]
> https://github.com/apache/sling-whiteboard/tree/master/featuremodel/feature-apiregions
>