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/sling/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 > > > > > > > > > > > > > > > > > >
