We're working on custom module (Information Management System) for SharePoint. The project file of this module is a Class Library which contains User Controls. The User Controls was based upon Smart Part and AJAX Extension Toolkit. The module has a separate database which has tables/views/stored procedure.
On development environment, we deploy the module in following steps:
- Restore the backup copy of the module database on the pre-production or test environment
- Install AJAX Extension Toolkit
Modify web.config of web application for connection string, safecontrol entry of AJAX Extension, enablesessionstate set to true of pages, add AJAX Extension tag entry, and uncomment the following line:
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
Create a UserControls folder in web application root and copy all User Controls there. As Smart Part will (can only, I assume) locate User Controls
This is how we do. I'm sure, this is not a good practice and there should be ways to do this in much better way.
One of my question is can we create a separate web.config file which will have all required tags and settings there so we won't need to change web application web.config? Just guessing!
As all WSPBuilder users are aware of this, that you cannot modify the manifest.xml file and no good integration with web application folder. I don't why Smart Part pick the web application root folder to locate User Controls. Is it possible that Smart Part can start picking User Controls from 12-Hive's TEMPLATE\CONTROLTEMPLATES folder?
We are looking for a more appropriate way of doing this. And for me, specific to this case, a good practice would be eliminate all the manual configuration/setup steps. The module user doesn't even need to do a single manual setup to make this thing up and running. I am sure there are many ways of doing this much better than this but what would be the best way to handle it.
Also, I would like to have suggestions on Custom Module development on SharePoint good (or best) practices.
We are using a set of tools like WSPBuilder, Visual Studio Extension for WSS, STSDEV, SPVisualDev, SharePoint Content Deployment Wizard, SharePoint Administration Tools, SharePoint Installer.