I'll have to do this in multiple parts, since I'll be building and testing things on my end to go with this. To get started, I assume that you will be hosting this logic in a web application other than the Checkbox web application. If so, the first step will be to add the following sections from the Checkbox web.config to the web.config for the application that will be hosting the custom code:
Code:
<configSections>
<section name="securityConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="cacheConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="loggingConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="exceptionHandlingConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="identityProviderConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="globalizationConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="databaseConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
<section name="messagingConfiguration" type="Prezza.Framework.Configuration.ConfigurationSectionHandler,Prezza.Framework" />
</configSections>
<!-- Configuration File Locations and Loaders -->
<securityConfiguration filePath="[YOUR_APP_PATH]\config\Security.xml" configDataType="Prezza.Framework.Security.Configuration.SecurityConfiguration,Prezza.Framework" />
<cacheConfiguration filePath="[YOUR_APP_PATH]\config\Cache.xml" configDataType="Prezza.Framework.Caching.Configuration.CacheConfiguration,Prezza.Framework" />
<loggingConfiguration filePath="[YOUR_APP_PATH]\config\Logging.xml" configDataType="Prezza.Framework.Logging.Configuration.LoggingConfiguration,Prezza.Framework" />
<exceptionHandlingConfiguration filePath="[YOUR_APP_PATH]\config\ExceptionHandling.xml" configDataType="Prezza.Framework.ExceptionHandling.Configuration.ExceptionHandlingConfiguration,Prezza.Framework" />
<identityProviderConfiguration filePath="[YOUR_APP_PATH]\config\CheckboxSecurity.xml" configDataType="Checkbox.Security.Configuration.SecurityConfiguration,Checkbox" />
<globalizationConfiguration filePath="[YOUR_APP_PATH]\config\GlobalizationConfiguration.xml" configDataType="Checkbox.Globalization.Configuration.GlobalizationConfiguration,Checkbox" />
<databaseConfiguration filePath="[YOUR_APP_PATH]\config\DatabaseConfiguration.xml" configDataType="Prezza.Framework.Data.DatabaseConfiguration,Prezza.Framework" />
<messagingConfiguration filePath="[YOUR_APP_PATH]\config\Messaging.xml" configDataType="Checkbox.Messaging.Configuration.MessagingConfiguration,Checkbox" />
<connectionStrings>
<add name="DefaultConnectionString" connectionString="[YOUR_CONN_STRING]" />
</connectionStrings>
You will need to replace [YOUR_APP_PATH] with the actual physical location of the web application (e.g. c:\inetpub\wwwroot\myapp) and will need to update the connection string to point to your Checkbox database.
Next, you'll need to copy all files from the Config folder of your Checkbox installation to your new application location, then modify any filePath attributes in the XML configuration files to point to your new application location. The following list shows the files that need to be updated.
- BackingStore.xml (1 Change)
- Cache.xml (10 Changes)
- CheckboxSecurity.xml (1 Change)
- ExceptionHandling.xml (5 Changes)
- GlobalizationConfiguration.xml (1 Change)
- Logging.xml (4 Changes)
- Messaging.xml (1 Change)
- Security.xml (10 Changes)
To be continued...