What changes are made to the web.config file for the web application on the SharePoint farm servers when I install a Bamboo product, and/or deploy an existing Bamboo product to that web application?
Bamboo uses the SharePoint deployment framework to deploy our product package (*.wsp) to the SharePoint farm.
Our Installation PowerShell script (Install.ps1) is designed to help customers do the following:
- Add the solution(s) to the farm.
- Deploy the solution(s) to the selected web application.
- There is no special logic in our setup that will do anything else but to deploy/retract solutions.
The web.config file:
As part of the solution deployment, the wsp package will add safeControl entries to the web.config and apply Code Access Security (CAS), if required, to the custom policy file specified in the WSS_CUSTOM attribute.
<trustLevel name="WSS_Custom" policyFile="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\config\wss_custom_wss_minimaltrust.config" />
We modify the web.config via the Bamboo.Framework.wsp package for our products in order to:
- redirect the old Telerik dll to a newer version or
- add httpHandlers, Session-State etc.
We also add specific httpHandlers in the web.config for some of our products such as File Share Library and Workflow Conductor as needed.
By using the Bamboo.Framework package, we utilize the SharePoint Object Model to modify the web.config so that SharePoint is aware of the change to the web.config and keeps a copy in the configuration database.
SharePoint needs to save these changes to the configuration database in order to propagate the same web.config file to new server(s) added to the farm at a later time. In addition, SharePoint will also need to propagate the web.config to a server if the web application service is activated on an existing application server in the farm.