> On 26.06.2018, at 00:28, Marcel Reutegger <[email protected]> wrote: > On 21.06.18 23:11, Alexander Klimetschek wrote: >> The design of Oak is explicitly that the NodeStore controls binaries, >> and use of a BlobStore is only optional. Root and Tree only see the >> NodeStore, not the BlobStore. The SegmentNodeStore even makes the >> choice to inline binaries under 16 KB for example. For these, the new >> HTTP access is not possible and getHttpDownloadURL() must return null >> in that case. This logic can only happen in the implementation of the >> NodeStores. > > The blob store can do the same and return null in that case. > >> How would a client access it? How would the permission check be implemented? > > It could work the same way as done in the current PR.
See my comment touching on this in OAK-7570 [1]. While the above point might be moot (now) due to the use of ReferenceBinary in SessionImpl.getHttpDownloadURL() (assuming this is only present for binaries from a BlobStore), there is still the question how SessionImpl would get hold of a BlobStore without breaking separation of concerns. As mentioned before, this is simply a new feature on all layers, so a clean API approach requires this on all layers. Note that almost all changes do not interact with existing code. [1] https://issues.apache.org/jira/browse/OAK-7570?focusedCommentId=16524255&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16524255 Cheers, Alex
