[PUBLISHING-188] Publishing children of a renamed parent throws exception Created: 22/Feb/23  Updated: 09/May/23  Resolved: 27/Mar/23

Status: Closed
Project: Publishing
Component/s: None
Affects Version/s: 1.3.7
Fix Version/s: 1.4.0, 1.3.8

Type: Bug Priority: Neutral
Reporter: Richard Gange Assignee: Fernando Cherchi
Resolution: Fixed Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: 0.25d Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Attachments: PNG File example.png    
Issue Links:
relation
is related to PUBLISHING-238 workflow and renaming nodes Closed
is related to PUBLISHING-150 Unpublishing should include modified ... Closed
is related to PAGES-358 DOC: Best practice for renaming pages... Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
PUBLISHING-189 Implement release 1.3 Sub-task Completed Fernando Cherchi  
PUBLISHING-190 PI QA Sub-task Completed Adam Siska  
PUBLISHING-191 QA Sub-task Closed Sang Ngo Huu  
PUBLISHING-192 Code Review Sub-task Completed Adam Siska  
PUBLISHING-200 Port to master Sub-task Closed Fernando Cherchi  
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[X]* Steps to reproduce, expected, and actual results filled
[X]* Affected version filled
Release notes required:
Yes
Date of First Response:
Visible to:
Thomas Duffey
Epic Link: Maintenance of Publishing module
Sprint: Nucleus 32
Story Points: 2
Team: Nucleus
Work Started:

 Description   

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.


Generated at Mon Feb 12 10:36:13 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.