CMS 12 update validation status on content


I have IValidate<TContent> on specific pagetypes that will check status of blocks in an contentarea (i.e. are they all published), to prevent you from publishing ... fine ... it gives me an error (red).

If I then go into the child block ... publish to mitigate the error. When I click the "Back" button and comes back to the page it is still in error state and I am not allowed to publish it again so it is not revalidated even though the content is loaded from content repository.

If I change page and back again the error state is not updated either. I need to force browser update to get the state updated, so my guess is that the error state is stored frontend.

Any easy way to force the update from backend (without going into client modules or something like that)?

Jan 12, 2022 13:42

Have you considered setting the Validation Severity to Warning instead of Error for a better CMS Editor experience?  Forcing an editor to have to save and publish child content before they can save changes to the parent content item could lead to editor frustration.  By switching to a warning instead of an error you can still provide feed back to the editor while letting them publish the parent before publishing the child.  This would also avoid the situation you're describing.

Jan 13, 2022 13:36
Palle Mertz - - Jan 13, 2022 14:25
Yup using Warnings was my original idea actually :) The problem is that you will never see the warnings except when you change something on the page.
So if you create a page with some blocks, publish the page, unpublish a block. When you go back to the page you will not see the warning until you change something.

Long story short I have this idea to have pagetemplates configured by property attribute on ContentAreas and then create and insert the necessary blocks on CreatedContent. On CreatedContentLanguage I will again use the attribute but this time to try and find the block created on the master and put them in.

And then Finally have IValidator
Palle Mertz - - Jan 13, 2022 14:33
FYI .. I am however looking into if I should post user notifications instead of warnings on publish (to warn the user that he just published something smelly) ... but that would mean calling async from sync(contentevents) ... very smelly too but different kind of smell.

Have you considered looking at the EPiServer.Labs.BlockEnhancements project? This includes showing block status on content areas and publishing blocks with pages among other things:

Jan 13, 2022 15:24
Palle Mertz - - Jan 14, 2022 16:46
That would actually be freaking nice if that was included in released packages :) It would help our editors alot.
But no chance in hell we will take that package into production ... so we will have to wait ... maybe put some pressure on someone to get it released ...
And I will not consider taking it in myself ... I would like to avoid maintenance nightmare :P
Paul McGann - Jan 19, 2022 9:35
You can always submit the feedback to Optimizely and we as a community can help to vote for this
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.