Hello,

I realized that when getting some content as JSON from the basic servlet, I
sometimes get the ACLs nodes. But this only happens in some environment,
not on my local environment nor with a simple Sling standalone jar.

Can you confirm that I shouldn't get ACLs nodes when getting content as
JSON?

Because that's why I asked how to handled those nodes during JSON import,
but I may have been mistaken by an unusual situation.

Thank you,
Guillaume

2017-03-07 11:15 GMT+01:00 Guillaume Lucazeau <[email protected]>:

> Hello,
>
> I'm having troubles finding where I should handle ACLs nodes. In your
> first e-mail you said
> > Not sure about ACLs though, it seems like they should be handled by the
> content importer.
>
> From what I see the content importer is the main entry point for content
> import and is handling JSON or XML content, content that can contain actual
> nodes and ACLs nodes. Therefore, I don't really understand how I could What
> did you have in mind?
> From my understanding, the DefaultContentCreator would have to be able to
> create ACLs node and properties.
>
> Any advice or suggestion on how to implement ACLs imports would be really
> helpful.
>
> Is that something already available in Adobe products built on top of
> Sling?
>
> Thank you very much for your help.
>
> Best regards,
> Guillaume
>
>
> On Mon, Mar 6, 2017 at 5:39 PM, Guillaume Lucazeau <[email protected]>
> wrote:
>
>> I have created this ticket, for protected properties and nodes:
>> https://issues.apache.org/jira/browse/SLING-6614
>>
>> I have realized after my previous e-mail that autocreated properties
>> would actually be there after node creation and that I could check their
>> protected status. I have created this PR: https://github.com/apache/slin
>> g/pull/201 if you want to have a look. It works with my content export,
>> but I am not sure it covers all the cases.
>>
>> I will probably have more questions about ACLs and the content importer.
>>
>> Thank you,
>> Guillaume
>>
>> On Mon, Mar 6, 2017 at 5:03 PM, Robert Munteanu <[email protected]>
>> wrote:
>>
>>> Hi Guillaume,
>>>
>>> On Mon, 2017-03-06 at 12:20 +0100, Guillaume Lucazeau wrote:
>>> > Hello Robert,
>>> >
>>> > I finally have time this week to work on those enhancements, required
>>> > on
>>> > our project. How does it work, should I create tickets in Sling Jira
>>> > and
>>> > put a comment saying that i'm trying to fix this?
>>>
>>> Yup, sounds like a good idea.
>>>
>>> >
>>> > I have a question regarding your previous answer: how will this work
>>> > for
>>> > new properties? For instance, if I want to import some JSON for new
>>> > nodes
>>> > containing a "jcr:created" property, those new nodes will not contain
>>> > any
>>> > property and therefore I won't be able to check if "jcr:created" is
>>> > protected or not, am I right?
>>>
>>> You should be able to get more information by accessing the node's
>>> primary/mixin node types and node definition.
>>>
>>> Robert
>>>
>>> >
>>> > I have started to look at the DefaultContentCreator class in the jcr
>>> > contentloader, but any help would be useful.
>>> >
>>> > Best regards,
>>> > Guillaume
>>> >
>>> > On Wed, Dec 21, 2016 at 1:08 PM, Robert Munteanu <[email protected]>
>>> > wrote:
>>> >
>>> > > On Wed, 2016-12-21 at 12:30 +0100, Guillaume Lucazeau wrote:
>>> > > > Hello Robert,
>>> > > >
>>> > > > Is it something that would be valuable to Sling itself, or should
>>> > > > I
>>> > > > try to
>>> > > > do it just for my project?
>>> > >
>>> > > Enhancements to the content loader are more than welcome in Sling
>>> > > :-)
>>> > >
>>> > > > I couldn't find a list of all protected properties in Jackrabbit,
>>> > > > do
>>> > > > you
>>> > > > know if there is one? Or maybe there is a way to dynamically know
>>> > > > if
>>> > > > a
>>> > > > property is protected
>>> > >
>>> > > javax.jcr.Node#getProperties() will get you a list of properties
>>> > > defined on a node, and then you can use
>>> > > javax.jcr.Property#getDefinition() to retrieve its definition.
>>> > > Finally,
>>> > >  javax.jcr.nodetype.PropertyDefinition#isProtected() will let you
>>> > > know
>>> > > if the property is protected.
>>> > >
>>> > > Robert
>>> > >
>>> > > >
>>> > > > Thank you
>>> > > >
>>> > > > Regards,
>>> > > > Guillaume
>>> > > >
>>> > > > On Sat, Dec 17, 2016 at 9:18 PM, Robert Munteanu <rombert@apache.
>>> > > > org>
>>> > > > wrote:
>>> > > >
>>> > > > > Hi Guillaume,
>>> > > > >
>>> > > > > On Tue, 2016-11-29 at 18:36 +0100, Guillaume Lucazeau wrote:
>>> > > > > > Hello,
>>> > > > > >
>>> > > > > > Currently when you get content through the json extension, it
>>> > > > > > contains
>>> > > > > > protected properties ("jcr:created", "jcr:createdBy") and
>>> > > > > > permissions
>>> > > > > > nodes.
>>> > > > > >
>>> > > > > > The protected properties prevent the JSON to be immediately
>>> > > > > > reimported in
>>> > > > > > another repository, and for what I see here [1] permissions
>>> > > > > > are
>>> > > > > > not
>>> > > > > > handled
>>> > > > > > by the content loader.
>>> > > > > >
>>> > > > > > Is there an easy way to configure the JSON servlet to return
>>> > > > > > only
>>> > > > > > content
>>> > > > > > that can be imported again? Or do I have to override this
>>> > > > > > servlet
>>> > > > > > and
>>> > > > > > filter/remove those properties myself?
>>> > > > >
>>> > > > > Maybe a better idea would be to enhance the content loader to
>>> > > > > skip
>>> > > > > protected properties. Not sure about ACLs though, it seems like
>>> > > > > they
>>> > > > > should be handled by the content importer.
>>> > > > >
>>> > > > > Robert
>>> > > > >
>>> > > > > >
>>> > > > > > Thank you,
>>> > > > > > Guillaume
>>> > > > > >
>>> > > > > > [1] http://stackoverflow.com/a/21406709/1987781
>>> > > > >
>>> > > > >
>>> > >
>>> > >
>>>
>>>
>>
>

Reply via email to