Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Upgrading SilverStripe /

Ask questions about upgrading SilverStripe to the latest version.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

From 2.3.1 to 2.3.2 -> Lost all publication statusses

Go to End

5 Posts   1362 Views


Community Member, 791 Posts

25 June 2009 at 1:27am

I have a site with quite a number of pages (several hundred) of which 60 to 70 percent are in "draft" (we are working on an archive and told the client to unpublish the "old" pages). After upgrading to 2.3.2 , it seems we have lost all publication statusses , so all we can do is publish-all pages , or go through the entire sitetree and publish the correct pages by hand.

Is there a way to maintain the publication status while upgrading ?


Community Member, 43 Posts

25 June 2009 at 4:53am

Edited: 25/06/2009 4:54am

This happened to the sitetrees of my websites also and made a lot of extra work. But the not working text alignment in the CMS is a much more frustrating factor (


Community Member, 791 Posts

25 June 2009 at 7:13pm

Does anyone know of a way to prevent this from happening ?

I know I could temporarily put the pages under a different holder etc. , but I hate fiddling with MySQL on Silverstripe databases....


Administrator, 690 Posts

25 June 2009 at 8:38pm

Hi Fuzz,

I haven't seen this issue myself. The publication statuses, ie the colours in the CMS tree, are determined by comparing the contents of SiteTree and SiteTree_Live. Could you look into these tables manually and see if they contain the right content?

If they do, then we have a bug in the colour generation. If this is the case, it would be good if you could help us debug the issue:

The relevant methods are getIsDeletedFromStage(), getExistsOnLive(), and getIsModifiedOnStage() in sapphire/core/model/SiteTree.php

You could add some Debug::message() commands into those and see if you can work out why they're returning the wrong values.

Hope this helps,


Community Member, 791 Posts

26 June 2009 at 6:24pm


Thanks for the reply.

Okay, I had a good look at this yesterday (restoring and upgrading databases) , and have to refine my remarks , sorry about that.

I'm sure it went wrong once (since I still have that database), but I can't for the live of me replicate it ....

Indeed, the publication status draft/published remain intact when upgrading to 2.3.2 , instead, all published pages get the "changed" status (draft pages become "new) .... That is something I feel everyone can live with.....

Odd thing is though ; this happens on our development machine , not in the production environment. Anyway , no biggy ...

Thanks again !