2

I have raised this question but I want to more specific and explain the complete situation.

  1. There are many pages say around 3000.
  2. There are many publication targets. Each developer has a target created.

I am doing Porting from one environment to another environment. The porting has not been done for long time. I want to move all pages under root to another newly created structure group so that old pages do not create confusion.

Out of Box functionality does not allow me to do this easily because all the pages are published.

If I could change the publish state of pages to unpublished (maybe directly in the database or through a Core Service program), then it would be possible to move those pages.

It would be really great if someone can help with me with following:

1. Changing the publish state of pages to unpublish in a structure group recursively say directly from root.

2. Its impacts.

I browsed regarding this and I got to know from [here][2] that we can update in database, This updates all items in a publication. But if we want to do it for a page how can we do it.

UPDATE    ITEM_STATES
SET              STATE = 0
WHERE     (PUBLICATION_ID = ##)

I am using SDL Tridion 2011 SP1 and database is SQL database 6.1.0.996

Thank you for all the support.

6

As was described in the previous question, there is a valid reason why you can't move those pages. The impact of fiddling with published states is (top of my head):

  • You might not be able to unpublish these pages later on
  • If you republish the page to the same target after you move them, you are effectively moving them on the Content Delivery side too, resulting in possible 404s for visitors that come in directly to those pages (if you're using Tridion Dynamic Linking, then links on the site will be updated, but not for people that access those URLs directly)
  • Publish dependencies will not be calculated properly because Tridion uses the information on what IS published to determine what needs to be updated.

So, to answer your question, having been forewarned of the implications, here's how you can do what you want to do...

  1. Get your hands on the old Power Tools project, enable ASP on your IIS server, call directly the URL of the page unpublisher powertool (or whatever it was called) using Internet Explorer in compatibility mode... and reset all the publish status you want.
  2. Write a simple TOM script (with VBS or .NET interops) that uses the Page.SetPublishedTo(target, bool) method to change the status
  3. Fiddle with the database (absolutely not recommended)

A 4th option is to hire one of the many consultants that hang out here to write that tool for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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