There are three ways of entering providers in web.config. This document will provide a simple scenario which will illustrate the use of providers as they relate to QdEmailFlow.
Steps
1. Create two document types based on QdCatalogBase.xsn. Call these qForm1 and qForm2. In the Permissions tab make sure to check the Check Permissions checkbox before saving.
2. Modify web.config according to each one of the scenarios below. Save web.config.
3. Add two documents to each of these document types, one assigned to your user alias, one assigned to someone else. Note the DocID of each.
4. Remove yourself from all groups, such that you have NO permissions.
5. Open the documents by navigating to http://<servername>/QdabraWebService/Documents/<docID>/<docID>.xml in Internet Explorer. The user will be able to open the documents assigned to himself, due to the fact that QdEmailFlow will grant access.
Scenarios
-
Default: In this scenario, we simply add the document type name into web.config providers node. Because qForm2 is not listed for the provider, documents in this document type configuration will not be covered by these QdEmailFlow permissions:
<provider name="QdFlow" type="Qdabra.Dbxl.QdFlow.PermissionProvider, Qdabra.Dbxl.QdFlow" connectionString="Data Source=<sqlinstance>;Initial Catalog=<database>;Integrated Security=True">
<doctypes>
<doctype name="QdEmailFlow" />
<doctype name="qForm1" />
</doctypes>
</provider>
<provider name="QdFlow" type="Qdabra.Dbxl.QdFlow.PermissionProvider, Qdabra.Dbxl.QdFlow" connectionString="Data Source=autonomy2\development;Initial Catalog=QdabraSamples-DBXL-TEST3;Integrated Security=True">
<doctypes exclusionRule="true">
<doctype name="qForm2" />
</doctypes>
</provider>
<provider name="QdFlow" type="Qdabra.Dbxl.QdFlow.PermissionProvider, Qdabra.Dbxl.QdFlow" connectionString="Data Source=autonomy2\development;Initial Catalog=QdabraSamples-DBXL-TEST3;Integrated Security=True">
<doctypes exclusionRule="false">
<doctype name="QdEmailFlow" />
<doctype name="qForm1" />
</doctypes>
</provider>
Additional notes:
-
The Document Type names within the provider node are not case-sensitive.
-
Exclusion and inclusion providers are mutually exclusive.
-
Every <provider> node must have a valid connection string in order to work