Recently I was tasked with helping to integrate Sitecore into my company’s website. Currently we are using Microsoft CMS 2002, which for the most part works well. It does exactly what we need it to at this point. The problem is that it is so old, I believe the support is being dropped. Our lead content developer went through a long process of trying to find the right product for us. She finally came to the conclusion that Sitecore would work best for us.
Our website is written in 100% ASP.NET 2.0 with C#. Sitecore is an all .NET CMS, so it makes sense. We were able to get our hands on a trial product so that we could begin work on a POC. After having gone through the Sitecore documentation we realized that the way they want website setup really doesn’t play nicely with our project. They want their site to be the root, and all of your sites files to be a subfolder. This is not very practical for us because we run multiple sites on one code platform. Also, in development we generally are working on multiple branches. The sitecore files are around 300MB, and with multiple sites and branches, copying that amount of data around wouldn’t be practical.
So, a coworker and I tried many different scenarios and finally came up with a pretty good solution. What we originally had in mind was to just reference the Sitecore assemblies and set up all the configuration for Sitecore in our web.config. After we did that we ran into a couple of snags. The first thing is, even just to run their HTTPModule, you need to give their assemblies access to the sitecore install/sitecore directory. So, we created a virtual directory that pointed to sitecore install/sitecore. This virtual directory must be just a plain old virtual directory, not an application.
One issue is you need all of the assemblies from Sitecore’s bin directory, not just the Sitecore assemblies. Also, there are a couple of other required directories. Below you can see what is required, sitecore folder is a virtual directory. All the other directories were copied from the sitecore install.
Another thing worth mentioning is that the Sitecore installer doesn’t set up the configuration for your database even if you specify your database information. You have to go into the App_Config/SqlServer/Connections.config file and manually specify your connection information. In your web.config you must also make sure the connections node’s serverMode attribute is set to blank. This node can be found under the sitecore node.
In the web.config there are also a bunch of folder paths that will need to be updated. For instance, <sc.variable name=”dataFolder” value=”../data” />. Make sure these variables map to the correct paths.
After all of that, the site runs pretty well with Sitecore, and we didn’t have to change the structure of our project.