Uploaded image for project: 'Publishing'
  1. Publishing
  2. PUBLISHING-188

Publishing children of a renamed parent throws exception

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 2.0.0, 1.3.8
    • 1.3.7
    • None

      Open any app and find a previously published node with children. Rename the node and try to publish one of its child nodes.

      ERROR info.magnolia.publishing.command.PublicationCommand 22.02.2023 14:46:35 -- Receiver: public0, error: [WEBAPP: ROOT] Message: Parent content /travel/about-test is not yet published or you do not have write access to it. Please publish the parent content before publishing children and ensure you have appropriate rights.
      info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: ROOT] Message: Parent content /travel/about-test is not yet published or you do not have write access to it. Please publish the parent content before publishing children and ensure you have appropriate rights.
      	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:149) ~[magnolia-publishing-sender-1.3.6.jar:?]
      	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:76) ~[magnolia-publishing-sender-1.3.6.jar:?]
      	at info.magnolia.publishing.transactional.sender.TransactionalSender$2.doRun(TransactionalSender.java:138) ~[magnolia-publishing-transactional-sender-1.2.4.jar:?]
      	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:341) ~[magnolia-publishing-core-1.3.6.jar:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) ~[guava-31.1-jre.jar:?]
      	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74) ~[guava-31.1-jre.jar:?]
      	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) ~[guava-31.1-jre.jar:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
      	at java.lang.Thread.run(Thread.java:829) ~[?:?]
      ERROR info.magnolia.module.scheduler.CommandJob 22.02.2023 14:46:35 -- Cannot execute command [personalizationActivation] for job [asyncCommand1677077190831] in catalog [null]
      

      Reproduce

      1. Open the Pages app
      2. Rename name the node /travel/about to /travel/about-test
      3. Publish the node /travel/about-test/company

      Notes
      One solution would be to add some flag to a node which has been renamed. The flag can be used on the rule of the publishing action (see JcrPublishableRule). If the flag is present children cannot be published.

      Even another option would be to disable renaming for published nodes. The user needs to unpublish first.

        Acceptance criteria

              fcherchi Fernando Cherchi
              rgange Richard Gange
              Thomas Duffey
              Nucleus
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:
                Work Started:

                  Bug DoR
                  Task DoD

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - Not Specified
                    Not Specified
                    Logged:
                    Time Spent - 0.25d
                    0.25d