18

When you uncheck the 'Publishable' checkbox in the metadata of a structure group and then try and publish a page within it you get an immediate 'Success' status in the publishing queue. However, as expected, the page has not been published. Is this a bug or can anyone provide a valid reason why this might occur?

4
  • 3
    This actually caused our editors a lot of confusion after upgrading to 2011. In previous versions, when the publishable checkbox was unchecked, the publish options were actually disabled, therefore making it impossible to actually perform a publish activity. The instant "success" is probably returned because there is nothing for the publisher to actually do. If you double click on the publish transaction, you will also see "No details available for this item" in the details tab. I personally think this can be quite confusing, and would be interested to know if this is by design. Commented Feb 27, 2013 at 14:20
  • 3
    I also think a nice enhancement would be for unpublishable structure groups to be instantly identifiable in the tree structure, maybe with a slightly different icon to make it clear that the structure group has been set as unpublishable. Commented Feb 27, 2013 at 14:22
  • This is pretty awful from both a user experience, but also for the people trying to support the environment. Why would you ever mark the transaction as 'Success' and not flag anywhere in either the transaction or logs that its because of a random checkbox. How about update the status to something helpful, or show it stop in the 'preparing transport' step with a mesage of some sort
    – GAG
    Commented Sep 16, 2015 at 18:33
  • Web 8 flags this as a warning fwiw
    – Nuno Linhares
    Commented Feb 28, 2017 at 10:50

5 Answers 5

20

Try to explain this to the Business User: It shows success because it processed correctly every item that this publishing transaction was resolved to.

It is unfortunately not as easy to change this behavior as one would think (without performance impacts, which we all know is not what the Publishing Queue needs right now).

  • You send ItemX to the queue.
  • Publisher process picks it up
    • Resolver determines there's nothing to publish because of any reason and creates a List<ResolvedItem> with 0 items
    • Renderer loops through all items in the list, and there's no errors.
    • Transaction ends with # of errors = 0
  • Success

Nevertheless, this is something that we will try to address soon. It would also be incorrect to show it as a failure, because it did not fail, so probably a warning status with "There were no items to publish" message would be the better way to handle it.

If you're curious, this is what the Resolver has to say about it:

18:58:39.0317 <4204> Using resolver [Tridion.ContentManager.Publishing.Resolving.StructureGroupResolver]
18:58:39.3256 <4204> Resolving the structure groups [tcm:5-350-4] took 00:00:00.2853292
18:58:39.3285 <4204> StructureGroup tcm:5-350-4 resolved to 0 items. Resolving took: 00:00:00.3327755
18:58:39.3461 <4204> Updating the publish transaction with the list of processed items
18:58:39.3881 <4204> The number of processed items is zero, don't send an empty transport package
11

The Publish Status is related to the Publish Transaction and everything in it, if that does not raise any warnings or errors, it ends up as successful.

The funny (and sometimes annoying) result of this is that an empty Publish Transaction, will always return successful instantly.

When publishing a Page in a non publishable Structure Group, the Publish Transaction will basically be created without any Pages in there, so it is an empty Publish Transaction, which will thus show up as being successful.

11

Just to add a little extra To Bart's answer:

If you expand the 'See items to be published' in the Publish dialog box, you'll see there are no items to be published.

It would be nice if the publish dialog did have a message to let you know that zero items will be published.

2
  • Agreed that would be nice, the reason it's not done is related to performance I believe Commented Feb 27, 2013 at 14:20
  • +1. The See Items feature is a good way to check what items are resolved for any publishing request. Commented Feb 28, 2013 at 6:55
7

I am just adding my 2 cents - I don't think it would be right to disable publish on "unpublishable" Structure Groups, because they can have child Structure Groups which are publishable. As such it is possible that publishing the SG will publish grandchild items even though it's children will not be published. I agree that it would be noce if the publish ever "Successfully did nothing" that the status was "Warning" rather than "Success" - This confuses my clients also. Perhaos file this as an ER (Although I think I already did many years ago)

3

You could create a custom resolver that you use as the last resolver in the chain that checks if the set of resolved items has 0 length... Needless to say it would be much nicer if the product gracefully handled this situation itself but if your customer is insisting something should be done there are options...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.