Once the relevant Connector has been set up and enabled, any new documents created in SharePoint as well as any modifications to existing documents, will be managed by Records365. But what about any existing content that predated the Connector?
The Content Registration process provides a tailored method of locating documents and folders in SharePoint and passing them to their respective Connector for submission to Records365.
The Content Registration process for SharePoint requires a level of familiarity with Microsoft PowerShell. Most likely, an Administrator or IT professional will be required for some or all of this process. Please feel free to contact our support team at firstname.lastname@example.org to obtain the script and to ensure that you have the required level of technical support to successfully complete the process.
Content Registration is a scripted process driven by Microsoft PowerShell. RecordPoint provides a template script that you can customize further according to your requirements. The SharePoint script does not use the Records365 API at all. This means all parameters needed to connect to azure and the Records365 service are not needed.
The content registration process inserts the appropriate information, for content being registered, into the SharePoint connector queue, which the connector will then process and submit to Records365.
To register content the script needs to securely authenticate against SharePoint and SQL Server, to do this the following details are required:
SharePoint Client Side Libraries
The Content Registration script uses the SharePoint Client Side Object Model (CSOM) to connect to SharePoint. The Microsoft.SharePoint.Client and Microsoft.SharePoint.Client.Runtime libraries must be present in the /bin folder in the directory where the script is run. Please use version 16.1.6420.1200 or later of CSOM.
The Content Registration script requires a number of parameters. These describe:
|WebUrl||SharePoint Authentication||The URL of the SharePoint site for the content being registered. May be a root site and must end with a “/”.|
|SPUsername||SharePoint Authentication||The username of the account that has access to the SharePoint site.|
|SPPassword||SharePoint Authentication||The password for the entered value for SPUsername. This must be passed to the script as a SecureString.|
|Context||Settings||The top level object such that all content being registered is located under. May be either Site, Web, List, Folder or Item.|
|ServerName||SQL Authentication||The name of the SQL Server.|
|DatabaseName||SQL Authentication||The name of the SQL Server database that contains all of the information for the SharePoint connector.|
|SQLUserName||SQL Authentication||The username for the account that has write access to the related SharePoint connector database.|
|SQLPassword||SQL Authentication||The password for the user specified by SQLUserName. This must be passed to the script as a SecureString.|
|sqlAccountType||SQL Authentication||The method by which to connect to SQL Server, accepts either “Windows” for Windows NT account types or “SQL” for SQL Account Logins.|
|ConnectorId||Records365 Authentication||The ID of your SharePoint Connector in Records365.|
These parameters describe where the script will look for content to submit to Records365. The script is recursive - for example, if the Context supplied is List, then the script will submit all documents or list items contained within the List or Document Library provided by ListTitle, including any folders within that List or Library. Both Site and Web Contexts use the WebUrl parameter supplied above and do not require additional parameters for Context.
|ListTitle||List||The name of a List that the script will target when the Context is List or Item.|
|ItemTitle||Item||The title of a List Item in a custom List, or the filename (“FileLeafRef”) of a Document in a Document Library when the Context is Item. Also requires ListTitle.|
|FolderPath||Folder||The path (Web Relative URL) to the Folder when the Context is Folder. Must not be prefixed with “/” - eg: Contracts/Subcontract.|
|ScriptMode||Settings||Either “Interactive” or “NonInteractive”. Interactive prompts for parameters, whereas NonInteractive expects parameters to be supplied. Defaults to Interactive.|
|LogToFile||Settings||When True, all events are saved to a log file. Defaults to True.|
|LogToScreen||Settings||When True, all events displayed on screen inline, otherwise events are displayed in a progress window above the script. Defaults to False.|
# Create SecureString password for service [SecureString] $svcPasswordSecure = ConvertTo-SecureString -String "<ServicePassword>" -AsPlainText -Force .\SPContentRegistration.ps1 -WebUrl "http://<SharePointSite>/<WebUrl>" -ListTitle "<List Title>" -Context List -SPUserName "<SharePoint Username>" -SPPassword "<SecureString>" -ServerName "<SQL Server Name>" -DatabaseName "<Connector DB Name>" -SQLUserName "<SQL UserName>" -SQLPassword "<SecureString>" -ConnectorId "<OnPrem Connector ID>" -sqlAccountType "<AccountType>"
Note: if you wish to pass in the SharePoint password you will need supply it as a SecureString. If you do not pass in a password for SharePoint you will be prompted for it and the script will handle the secure encoding.