Search code examples
proxysitecoresitecore6sitecore5.2

sitecore proxy items published, still seem to have a link to the source


On the project I am working on, there are some proxy items that were added at some point from source location A to location B. However right now is not possible to check the source of the proxy and the proxy folder in B does not show anything that suggests that it's a proxy, besides the visual cue that it's grayed out.

When I analysed this article, I looked into the web.config and found this:

  <proxiesEnabled>false</proxiesEnabled>
  <publishVirtualItems>true</publishVirtualItems>

This seems to suggest that when the proxies were published they were published as regular items, losing any connection to their source, so since I want to recreate the proxies, due to some weird issues related to layout on the standard values item on the template not propagating correctly to the proxied items, I wanted to try to rename the old proxy folder and create a new one, however when I wanted to rename I got a modal alert with this message:

"This item occurs in other locations. If you rename it, the item will be renamed in the other locations as well. Are you sure you want to rename 'MyFoo'?"

Does this means the item still is attached to the source?

I am using Sitecore 6.2.0 (rev. 100701)


Solution

  • I suppose that the settings you mentioned are for master database. Now if you take a closer look at the article you reference, it lists 2 valid cases of proxies setup:

    • when web database also relies on proxies
    • when web database contains regular items only which came from publishing

    These both cases assume that master database has proxiesEnabled='true'. Look, it doesn't have any sense otherwise - if proxies are disabled, the rest of the mechanism doesn't work, there are no virtual items.

    And I can see proxiesEnabled='false' in the example you mentioned.

    I'm not sure about the message you get. But if I need to change the proxy definition, I would do the following:

    • make sure proxiesEnabled='false' for web database (I guess this is your intention)
    • disable proxies for master database and change the proxies definition the way you want
    • set publishVirtualItems to true for master database
    • turn the proxies on for master database
    • make sure virtual items are in place and publish the site

    Try this on some test environment and experiment to get the behavior you'd like - playing with the live site is a bad karma :)