OAK-6575 - Support for external binary URLs.

2017-09-12 Thread Ian Boston
Hi, Background: OAK-6575 adds support for a Oak DataStore to implement a service implementing org.apache.jackrabbit.oak.api.conversion.URIProvider which converts a JCR Value to a URI. The implementation in OAK-6575 is for the Oak S3 DataStore to convert to a CloudFront signed url as detailed in [

Re: OAK-6575 - Support for external binary URLs.

2017-09-12 Thread Carsten Ziegeler
I think there are two parts to be discussed: a) whether to directly code this into the get servlet b) how to mark the resource as being handled this way I think a) makes sense, it's a central place and allows any resource provider to use it. However, this is also the problem I see :) For each and

Re: OAK-6575 - Support for external binary URLs.

2017-09-12 Thread Ian Boston
Hi, On 12 September 2017 at 17:09, Carsten Ziegeler wrote: > I think there are two parts to be discussed: > a) whether to directly code this into the get servlet > b) how to mark the resource as being handled this way > > I think a) makes sense, it's a central place and allows any resource > pro

Re: OAK-6575 - Support for external binary URLs.

2017-09-12 Thread Carsten Ziegeler
Ian Boston wrote > Hi, > > On 12 September 2017 at 17:09, Carsten Ziegeler > wrote: > > I think there are two parts to be discussed: > a) whether to directly code this into the get servlet > b) how to mark the resource as being handled this way > > I

Re: OAK-6575 - Support for external binary URLs.

2017-09-13 Thread Ian Boston
Hi, Here is an updated patch. https://github.com/apache/sling/compare/trunk...ieb:OAK-6575-3-1?expand=1 Best Regards Ian On 12 September 2017 at 17:39, Carsten Ziegeler wrote: > Ian Boston wrote > > Hi, > > > > On 12 September 2017 at 17:09, Carsten Ziegeler > >

Re: OAK-6575 - Support for external binary URLs.

2017-09-14 Thread Julian Reschke
On 2017-09-14 01:29, Ian Boston wrote: Hi, Here is an updated patch. https://github.com/apache/sling/compare/trunk...ieb:OAK-6575-3-1?expand=1 Best Regards Ian 1) I think it would be good to only redirect HEAD and GET (may already be the case...) 2) For robustness in case a redirect *does*

Re: OAK-6575 - Support for external binary URLs.

2017-09-14 Thread Ian Boston
Hi, On 14 Sep 2017 12:22 am, "Julian Reschke" wrote: On 2017-09-14 01:29, Ian Boston wrote: > Hi, > Here is an updated patch. > > https://github.com/apache/sling/compare/trunk...ieb:OAK-6575-3-1?expand=1 > > Best Regards > Ian > 1) I think it would be good to only redirect HEAD and GET (may al

Re: OAK-6575 - Support for external binary URLs.

2017-09-14 Thread Julian Reschke
On 2017-09-14 14:54, Ian Boston wrote: Hi, On 14 Sep 2017 12:22 am, "Julian Reschke" > wrote: On 2017-09-14 01:29, Ian Boston wrote: Hi, Here is an updated patch. https://github.com/apache/sling/compare/trunk...ieb:OAK-6575-3-1?expan

Re: OAK-6575 - Support for external binary URLs.

2017-09-14 Thread Ian Boston
Hi, On 14 September 2017 at 06:02, Julian Reschke wrote: > On 2017-09-14 14:54, Ian Boston wrote: > >> Hi, >> >> On 14 Sep 2017 12:22 am, "Julian Reschke" > julian.resc...@gmx.de>> wrote: >> >> On 2017-09-14 01:29, Ian Boston wrote: >> >> Hi, >> Here is an updated patch. >> >

Re: OAK-6575 - Support for external binary URLs.

2017-09-17 Thread Carsten Ziegeler
Ian Boston wrote > Hi, > Here is an updated patch. > > https://github.com/apache/sling/compare/trunk...ieb:OAK-6575-3-1?expand=1 > Thanks for updating the patch. I think we should move ExternalisableInputStream to o.a.s.resource.api, so other resource providers could potentially use it as well.

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Ian Boston
Hi, Good catch, didn't implement the vital interface. Put the API into o.a.s.api.resource (o.a.s.resource.api doesn't exist), and added some doc. While writing that doc realised there was no way of getting a URI for a private network context (if available) so added a method and documented. The comp

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Julian Sedding
Hi Ian Would it make sense to remove the AdapterFactory implementation and instead pass along the URIProvider service(s) using the o.a.s.jcr.resource.internal.HelperData object instead? According to its javadoc, it is "used to pass several services/data to the resource". I assume the AdapterFacto

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Carsten Ziegeler
Julian Sedding wrote > Hi Ian > > Would it make sense to remove the AdapterFactory implementation and > instead pass along the URIProvider service(s) using the > o.a.s.jcr.resource.internal.HelperData object instead? According to > its javadoc, it is "used to pass several services/data to the > re

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Ian Boston
Hi, I have just updated the patch as the AdapterFactory javadoc was wrong. It adapts from ResourceResolver -> URIConverter which is an internal class, so is only active inside the bundle. The doc said it adapted from Value or Resource -> URI which is wrong. The HelperData class could be used but

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Ian Boston
Hi, On 18 September 2017 at 13:51, Carsten Ziegeler wrote: > Julian Sedding wrote > > Hi Ian > > > > Would it make sense to remove the AdapterFactory implementation and > > instead pass along the URIProvider service(s) using the > > o.a.s.jcr.resource.internal.HelperData object instead? Accordin

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Carsten Ziegeler
Ian Boston wrote > Hi, > > On 18 September 2017 at 13:51, Carsten Ziegeler > wrote: > >> Julian Sedding wrote >>> Hi Ian >>> >>> Would it make sense to remove the AdapterFactory implementation and >>> instead pass along the URIProvider service(s) using the >>> o.a.s.jcr.resource.internal.HelperD

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Ian Boston
Hi, On 18 September 2017 at 14:17, Carsten Ziegeler wrote: > Ian Boston wrote > > Hi, > > > > On 18 September 2017 at 13:51, Carsten Ziegeler > > wrote: > > > >> Julian Sedding wrote > >>> Hi Ian > >>> > >>> Would it make sense to remove the AdapterFactory implementation and > >>> instead pass

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Julian Sedding
On Mon, Sep 18, 2017 at 2:58 PM, Ian Boston wrote: > Hi, > > On 18 September 2017 at 13:51, Carsten Ziegeler > wrote: >> >> Julian Sedding wrote >> > Hi Ian >> > >> > Would it make sense to remove the AdapterFactory implementation and >> > instead pass along the URIProvider service(s) using the >

Re: OAK-6575 - Support for external binary URLs.

2017-09-18 Thread Ian Boston
Hi, On 18 September 2017 at 14:49, Julian Sedding wrote: > On Mon, Sep 18, 2017 at 2:58 PM, Ian Boston wrote: > > Hi, > > > > On 18 September 2017 at 13:51, Carsten Ziegeler > > wrote: > >> > >> Julian Sedding wrote > >> > Hi Ian > >> > > >> > Would it make sense to remove the AdapterFactory i

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Julian Sedding
Hi Ian Thanks for trying to use HelperData. On Mon, Sep 18, 2017 at 5:30 PM, Ian Boston wrote: > Hi, > > On 18 September 2017 at 14:49, Julian Sedding wrote: >> >> On Mon, Sep 18, 2017 at 2:58 PM, Ian Boston wrote: >> > Hi, >> > >> > On 18 September 2017 at 13:51, Carsten Ziegeler >> > wrote:

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Julian Sedding
Sorry, forgot to include the link to the changes mentioned: https://github.com/apache/sling/compare/trunk...jsedding:refactor-jcr-helper-data Regards Julian On Tue, Sep 19, 2017 at 9:51 AM, Julian Sedding wrote: > Hi Ian > > Thanks for trying to use HelperData. > > On Mon, Sep 18, 2017 at 5:30

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Ian Boston
Hi Julian, (this time to the list as well, hit reply rather than reply all) On 19 September 2017 at 08:51, Julian Sedding wrote: > Hi Ian > > Thanks for trying to use HelperData. > > On Mon, Sep 18, 2017 at 5:30 PM, Ian Boston wrote: > > Hi, > > > > On 18 September 2017 at 14:49, Julian Seddin

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Carsten Ziegeler
I'm a little bit lost with the options. I think the only way we should provide atm is adapting a Resource to ExternalizableInputStream (or InputStream and then casting) This should be flexible enough. Carsten Ian Boston wrote > Hi Julian, > > (this time to the list as well, hit reply rather th

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Julian Sedding
Hi Ian On Tue, Sep 19, 2017 at 10:42 AM, Ian Boston wrote: > Hi Julian, > > (this time to the list as well, hit reply rather than reply all) > > On 19 September 2017 at 08:51, Julian Sedding wrote: >> >> Hi Ian >> >> Thanks for trying to use HelperData. >> >> On Mon, Sep 18, 2017 at 5:30 PM, Ian

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Ian Boston
Hi, On 19 September 2017 at 11:00, Julian Sedding wrote: > Hi Ian > > On Tue, Sep 19, 2017 at 10:42 AM, Ian Boston wrote: > > With the upcoming changes in Jackrabbit we will already have the > URIProvider service(s), which does JCR Value -> URI conversion. > Interested parties can use it in

Re: OAK-6575 - Support for external binary URLs.

2017-09-19 Thread Julian Sedding
Hi Ian Sounds good. Feel free to apply my refactoring of the HelperData[0] if that makes your patch simpler. Regards Julian [0] https://github.com/apache/sling/compare/trunk...jsedding:refactor-jcr-helper-data On Tue, Sep 19, 2017 at 12:41 PM, Ian Boston wrote: > Hi, > > On 19 September 2017