Expand my Community achievements bar.

SOLVED

Getting "item is protected" error when installing a package into AEM 6.3

Avatar

Level 6

Hi,

Please help.

I created an editable template and build and deploy into a pure AEM 6.3 environment without any issue. Now trying to deploy to an environment upgrading from AEM 6.1 to AEM6.3, the same package can't be installed due to the following errors:

org.apache.jackrabbit.vault.packaging.PackageException: javax.jcr.nodetype.ConstraintViolationException: Item is protected.

  at org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:239)

  at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:397)

  at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:356)

  at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.install(JcrPackageImpl.java:350)

  at com.day.crx.packaging.impl.J2EEPackageManager.consoleInstall(J2EEPackageManager.java:350)

  at com.day.crx.packaging.impl.J2EEPackageManager.doPost(J2EEPackageManager.java:188)

  at com.day.crx.packaging.impl.PackageManagerServlet.doPost(PackageManagerServlet.java:128)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)

  at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:85)

  at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:79)

  at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:295)

  at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

  at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

  at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)

  at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

  at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

  at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:96)

  at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

  at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

  at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138)

  at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

  at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

  at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:128)

  at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)

  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)

  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)

  at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)

  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)

  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)

  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)

  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)

  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

  at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)

  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)

  at org.eclipse.jetty.server.Server.handle(Server.java:499)

  at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)

  at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)

  at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)

  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

  at java.lang.Thread.run(Thread.java:745)

Caused by: javax.jcr.nodetype.ConstraintViolationException: Item is protected.

  at org.apache.jackrabbit.oak.jcr.session.ItemImpl$ItemWriteOperation.checkPreconditions(ItemImpl.java:98)

  at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.prePerform(SessionDelegate.java:615)

  at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:205)

  at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)

  at org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:264)

  at org.apache.jackrabbit.vault.fs.impl.io.FileArtifactHandler.importFile(FileArtifactHandler.java:290)

  at org.apache.jackrabbit.vault.fs.impl.io.FileArtifactHandler.accept(FileArtifactHandler.java:175)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:943)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:801)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:841)

  at org.apache.jackrabbit.vault.fs.io.Importer.run(Importer.java:415)

  at org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:234)

  ... 42 more

Error: javax.jcr.nodetype.ConstraintViolationException: Item is protected.

1 Accepted Solution

Avatar

Correct answer by
Administrator

Is there large data in your package? If so then use Vault.

Have you also included ACL permission? Also grab all the user permissions .

Use:- https://adobe-consulting-services.github.io/acs-aem-commons/features/acl-packager.html

// ACL Packager.



Kautuk Sahni

View solution in original post

3 Replies

Avatar

Correct answer by
Administrator

Is there large data in your package? If so then use Vault.

Have you also included ACL permission? Also grab all the user permissions .

Use:- https://adobe-consulting-services.github.io/acs-aem-commons/features/acl-packager.html

// ACL Packager.



Kautuk Sahni

Avatar

Level 6

Thank you, Kautuksahni, for your response.

I think you are correct this error seems a permission issue. However, this is first time I created the editable template, I can't find any document to describe what kind of permission for editable template I should add and whom I should assign to.

The package is installed correctly in my alpha environment, but I can't package the ACL from alpha and install it in the production environment. Our production environment is upgraded from AEM 6.1 to AEM 6.3 with existing ACL.

Is there a way to figure out which ACL our production environment should be added for first editable template package to be installed?

Thanks again.

Avatar

Level 10

The package installs fine on a Fresh install on AEM 6.3 - but not the update version. Seems all the issues with Upgrade ones vs fresh installs. I would open a ticket - there may be a bug and a required hotfix.