Wednesday, October 20, 2004

Containers for Orphaned objects

Have you ever wondered where orphans get deposited when using import scripts written with the SDAPI? In Site Deployment Manager, you get to choose the container to store them from the Orphaned Objects tab. You don't get to do this with the SDAPI, if you looked at the documentation, there aren't any properties or methods to set this programatically. So how does the SDAPI handle orphans?

Wonder no more!

Orphans are objects in the site deployment package whose parent container does not exist in both
  • the destination server and
  • the site deployment package.

Without information about the parent, MCMS needs to decide where to place the orphans when running the import. Here's when it gets interesting: After running a few tests, we found that the server-side and client-side SDAPI exhibit different behaviours in deciding where to place orphans.

If you are using the server-side SDAPI, the import script automatically creates a special container named CMS Default Site Deploy Destination and stores orphaned objects there. Only MCMS Administrators have access to the container.

The client-side SDAPI handles orphans differently. Orphaned objects are automatically placed in the root container for each object type.

It's an interesting detail that was uncovered while Stefan, Joel and I were writing the upcoming book, Building Websites with Microsoft Content Management Server - coming to an online store near you soon! Have you pre-ordered your copy yet?


At 3:19 AM, Anonymous Anonymous said...

I ran into this a little while back and it would also take a posting and dump it into the CMS Default Site Deploy Destination channel if the posting was being imported into a channel that was expired.



Post a Comment

<< Home