Sitecore Multiple Sites Manager
One of the coolest things about Sitecore is its ability to host multiple sites. Surprisingly, creating new sites was not content driven until Sitecore introduced [Multiple Sites Manager](http://marketplace.sitecore.net/en/Modules/Multiple_Sites_Manager.aspx "Multiple Sites Manager"), but it had its limitations. It could only work in a single Content Delivery/Content Management Server. This limitation made it difficult to use it on multiple CD server environments. With the 3.1.1 release Sitecore attempted to solve this problem by introducing remote events that would enable content authors to flush sites not just on the CM server but also on a remote CD server every time a new site was added. We tried to configure this latest update for a client who had been using this module for a long time on a single server set up but were looking to add a new CD server. We quickly discovered that even these changes were not going to work for us. The module was still accessing the master database to get the sites list (not recommended by Sitecore refer: [Scaling Guide](http://sdn.sitecore.net/upload/sitecore6/66/scaling_guide_sc66-a4.pdf "Scaling Guide")). This left us with 3 choices
- Leave the master database references on the CD server intact.
- Remove the module and add all existing site definitions to a configuration file, or
- Modify the module
We took the difficult route and modified the module. The code is shared on GitHub: https://github.com/JimmieOverby/MultipleSitesManager and a new package is uploaded on Sitecore marketplace: http://marketplace.sitecore.net/en/Modules/Multiple_Sites_Manager.aspx Our Approach (Version 3.1.2) 1. Make the site list database configurable
Recommended settings
- Content Management server: master
- Content Delivery server: web
2. Update the flush command button to open a wizard where the user can choose the server they would like to target 3. Update the publish:end event to trigger sites re-scan. If configured correctly this will allow the user to flush the sites locally and test it before flushing site definitions to CD boxes.