You can provide users with several ways to submit their documents to the Records Repository. The most common technique used to submit files to the Records Repository uses the Send To menu on the document context menu to provide a custom menu item, which will call the Records Repository Web Service and pass to it the binary version of the file along with metadata and audit history. For each Web application in your SharePoint Server 2007 environment, you can configure only one record repository Send To menu command. This menu command will appear in all document libraries in all sites within the Web application. The Send To command is available to all users who have Read rights on the document being submitted to the Records Repository.
To configure the Send To command, follow these steps:
Open SharePoint 3.0 Central Administration, and click Application Management.
On the Application Management page, under External Service Connections, click Records Center.
Select the Connect To A Records Center option, and configure the URL to contain the address of the Records Repository site followed by /_vti_bin/officialfile.asmx. For example, the URL entered for the Contoso Records Repository would be http://repository.contoso.msft/_vti_bin/officialfile.asmx.
Enter a Display Name, which will appear for this link.
A new menu command will now appear under the Send To context menu of every document in every site in the Web application, as shown in Figure 10-17. The menu will show the Display Name you entered and will initiate the submission to the Records Repository. When a user clicks this menu command, the Records Repository Web Service is invoked to send a copy of the file to the repository, where it will be routed to a document library based on the Record Routing list rules.
Figure 10-17: Records Submission-Send To menu
SharePoint Server 2007 is optimized for accommodating large volumes of documents submitted to the Records Repository. To facilitate this, SharePoint Server 2007 automatically generates folders within each document library in the Records Center to store the submitted files. The names of the folders are randomized to ensure uniqueness and new folders are created on an as-needed basis. The process of folder creation is built into the records submission feature of the Records Center and cannot be configured or customized.
The first time you send a file to a document library in the repository, SharePoint Server 2007 creates two folders in the library: Audit History and Properties. When a document is submitted to the repository, any audit information and metadata values are packaged by SharePoint into XML files and submitted along with the document. The audit information XML file is stored in the Audit History folder, and the metadata XML file is stored in the Properties folder. Although the properties are transferred along with the file, they will be merged into the metadata in the document library itself only if a corresponding column is created on the library to hold the value.
Using Microsoft Office Outlook 2007, users can submit e-mail messages as files to the Records Repository to store them as records. Administrators need to configure the Outlook 2007 client by assigning the location of the Records Repository to the user through an Active Directory Group Policy setting. The approach used with file submissions for routing documents to document libraries will not work with e-mail because messages do not support content types. Rather than submitting the e-mail messages to the Records Repository for routing, users can drag and drop e-mail directly into folders that represent each of the destination document libraries in the Records Repository site. Outlook 2007 calls the Records Repository Web Service and passes it the document file as data in the same way as a SharePoint site calling the Web service. When there are additional columns of metadata required by a document library in the Records Center, Outlook 2007 displays a page on which the user can fill in the information for the record.
The structure of the registry key that will be configured is as follows:
HKCU\Software\Microsoft\Office\12\Outlook\Official File Folders\[folder display name]
String Value: SendToURL : [URL]
String Value: DocLibURL: [target document library]
Exchange 2007 introduces a new feature called Managed Email Folders that allows it to work directly with SharePoint Server 2007 to enhance its records-management capabilities. In Exchange 2007, administrators can configure an Exchange folder to support policies that are similar to those in SharePoint Server 2007, such as content expiration or automatically forwarding a copy of an e-mail message to a SharePoint site through Simple Mail Transfer Protocol (SMTP). To users, the managed e-mail folder appears as a folder in Outlook that they can drag e-mail into to submit to a remote site. Alternatively, administrators can configure the managed folder to automatically move messages into folders based on their subject line, for instance.
An ideal method for submitting content to a Records Repository would be through a Workflow action. Unfortunately, SharePoint does not provide an out-of-the-box record submission worklflow. The solution is to write a custom workflow action using Microsoft Visual Studio 2005 and install it on the server running SharePoint Server 2007 and to use SharePoint Designer 2007 to configure the action as part of a workflow. A custom workflow can be created to automatically copy a file to the Records Repository. The submission could be based on the status of the document to be submitted as the final step in a series of review and approval operations. The workflow could also be based on the expiration of a document in the originating document library. For example, a policy could be defined with an expiration set to 10 days after the document is created. The expiration action could then be set to copy the document to the Records Repository and delete it from the current site. For more information on creating and using custom workflow actions, see Chapter 28: "Implementing Microsoft Windows Workflow Services."
SharePoint Server 2007 is designed to provide an extensible, programmable interface to records submission that supports both built-in and custom approaches to records management. The Records Repository Web Service is exposed by SharePoint Server 2007 to allow developers to integrate file transfer into a Records Repository from any external application or file store. The Records Repository Web Service provides methods to submit a file as a record along with two additional XML files containing the metadata and audit history associated with the file. Through this Web service, files can be sent to a SharePoint Server 2007 Records Center from any document management system. The Web service has been designed as an open and generic interface that can accept input from any source that can communicate through the Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL) protocols.
As an example of how this service could be used, consider the challenge of importing a large number of files from a file server into a SharePoint Server 2007 Records Repository. Although you saw in Chapter 9 that copying large numbers of files into a site is generally not a problem through a WebDAV connection, this drag-and-drop approach does not help us organize the files in the repository. The challenge is to examine the folder names that the files are stored under, map these to the document library storage locations in the Records Repository, and transfer the file directly to the correct target library. A potential solution to this problem is to create a Windows application to scan and iterate through every document in the shared folder on the file server and construct an XML file with any values for required columns on the target document library. The application would then call the Records Repository Web Service to transfer each file into the repository along with its metadata. Table 10-5 lists the methods of the Records Repository Web Service.
Submits a file as a given record routing type, along with its metadata and, optionally, its audit history
Obtains the properties of all record routing types for a Records Repository, as well as the metadata schema for each
Gets the properties of a given record routing type, as well as its metadata schema
Gets information on an implementation of the Records Repository