Overview
The FileShare integration module in CAM is used to connect to Network Shares and sync their legacy contents. The module will track the shares, tag with the client and matter metadata, create templates and apply security, and PII Scanning up to CAM.
Follow this guide to verify the requirements and install and configure the integration.
Requirements
UNC path is accessible on the machine that the FileShare application is installed on.
A blank SQL database for the FileShare schema to be installed on.
An Active Directory connection.
Unsupported
Windows does not support the following special characters:
< (less than) > (greater than) : (colon - sometimes will work, but this is actually for NTFS Alternate Data Streams) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
Windows also does not support the following in file names:
CON, PRN, AUX, NUL COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9 LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
Unsupported special characters will be escaped in Fileshare if included in the filename.
Workflow Steps
Get the UNC path.
Install the Agent service for Fileshare.
Configure the FileShare application to connect to the UNC path and sync.
Open the Database Tab first.
Then the CAM Login tab.
Then the Active Directory tab.
Then the FileShare tab.
Create Folders through Folder Template Editor or the FileShare.
Create Workspaces using the Workspace Wizard.
Installation
Navigate to Administration.
Click on Downloads-> Fileshare. The Exe and MSI downloads are available. Exe should be used for first-time installations.
Run the installer on the machine with access to the file share.
The installer will install the FileShare Application and the CAM FS Windows service.
The program is installed in the x86 program files folder by default.
Note: If the configuration fails saying the ProgramData folder is inaccessible, the folder for Fileshare will have to be given shared security for those application users.
Configuration
Start the Application CAM.FileShare.UI.exe from the Prosperoware\CAM\Fileshare\Agent\ folder. It is not necessary to run as an administrator.
On the run, the user interface will show 7 tabs: FileShares, CAM Login, Database, Active Directory, Agent, Command, and Log.
Database tab
On the first run, this tab should be opened first. This tab sets the database connection string.
The following information is displayed on the tab:
Column | Description |
SQL Server Name | The name of the SQL server hosting the billing database. |
Database | The name of the database that you created on the SQL server to be used by FileShare to upload the data from the fileshare to the staging DB to CAM. Warning: The blank database should be already created before you configure this. |
Authentication | Choose the type of authentication to be used to connect to the data source database. Options include Windows authentication using the Windows credentials and SQL authentication using specific database-only credentials. |
Username | Enter the username of the database. (SQL authentication only) |
Password | Enter the password for the username of the database. (SQL authentication only) |
Click Test to test the authentication to the SQL Database.
Click Save to save the database information. A message says Database Configuration Saved Successfully if all is well. An error appears if one of the items is incorrect or wrong.
Troubleshooting Common Database Errors:
Invalid username or password. Recheck the username and password for SQL authentication and ensure it has access to connect to the SQL server and database.
Database not present. Make sure you’ve created the blank database. Check the user account has access to it.
SQL Server is inaccessible. Ensure SQL can be reached from the server (may require opening the SQL port). Check any DNS redirection.
CAM Login tab
Next, proceed to the CAM Login tab. This tab sets the CAM login credentials to connect to CAM.
The following information is displayed on the tab:
Column | Description |
Domain | Enter the domain name that contains the data to be synced to cloud. E.g. sitename.tenantname.io. Leave off the https:// and the ending / |
Enter your domain email ID. E.g. myemail@company.com | |
Password | Enter password for the email specified above that is used to log into CAM. |
The database schema and stored procedures will then be created automatically into the database you selected.
Warning: If users enter the wrong Domain, Email, or Password credentials in the CAM Login tab when attempting to switch Domains, the system will display an error message as shown in the screen below. Users must then provide the right credentials to be able to proceed, otherwise, they will not be redirected out of this page.
Active Directory tab
Active Directory should be set up next so that users and groups can be synched. The domain is needed for the fileshare tab. At least one active directory is required.
This tab displays all the active directories connected. The following information is displayed on the tab:
Column | Description |
Domain | Shows the name of the file share. The hyperlink brings the user to the fileshare path. Example: DC=FirmName, DC=COM |
Username | The stats column shows the contents of the fileshare. For example the number of folders and documents in the file share. |
Users Path | Shows the date and time the file share was last synced. Example: CN=Users |
Active | Shows the status of the sync of the file share. Is a Yes/No radio button selection. |
Authentication | Trusted login or Enter Windows credential manually. |
Username/Password | For Enter Windows Credential option only. |
Actions include:
Edit | Edit the active directory configuration. |
Delete | Delete the active directory configuration. |
Add | Add a new active directory configuration. |
Active Directory data is locally cached to improve querying and processing. This cached data is stored in the following two tables:
FileShare.ActiveDirectoryGroups
FileShare.ActiveDirectoryUsers
Data is cached every 24 hours.
File Shares tab
Then it is time to add the fileshares by going to the FileShares tab. This tab displays any file shares configured in the application. Multiple file shares can be set up.
The following information is displayed on the tab:
Column | Description |
File Share | Shows the name of the file share. The hyperlink brings the user to the fileshare path. |
Stats | The stats column shows the count of the fileshare. For example the number of folders and documents in the file share. |
Last Synced | Shows the date and time the file share was last synced. |
Status | Shows the status of the sync of the file share. Running: Sync is running Stopped: The Sync is stopped, or the service is stopped. StopPending: The service is trying to stop in Windows Services. Utilize Windows Services panel for any failure stacktraces. StartPending: The service is trying to start in Windows Services. Utilize the Windows Services panel for any failure stacktraces. Completed: Sync is completed successfully. |
Sync Now | Runs the sync immediately manually. It will only run if the folder(s) do not have a sync status of 10 (means already synced) |
Add | Adds a new file share configuration. |
ReScan Now | Re scans the fileshare immediately manually. |
Edit | Edits the fileshare |
Delete | Deletes the fileshare |
Create Folder | Creates a folder inside the fileshare. |
To add a New File Share
Click the Add button from the File Shares tab.
Enter the UNC folder path of the File Share in Folder Path. Format: \\ComputerName\Folder. Is required.
Choose an Active Directory Domain in the Default Domain lookup. Is required.
Choose a Default OU for users and groups if necessary. Format is OU=Department
Select the organization format of the File Share.
First-level folders are matters (workspaces or projects)
Second-level folders are matters (workspaces or projects)
Custom: Allows a custom level of folders to determine the root matter/workspace/project. Select from the selection button.
Enable Metadata Filter. Select to filter the Metadata of the FileShare. Client and Matter expressions can be set. The Format would be, for example, by default:
Client Number Regular Expression: ^\s*([a-zA-Z0-9]+)[^--]+ and
Matter Number Regular Expression: (?<=-)[^-]+(\s*). These expressions will filter matter and client when the client/matter number is set up as 1000-001 for example.
When the file share sync is ready to begin, select the Automatic Sync Enabled button to Yes.
Enter the timeframe for the sync. For example, Sync every 30 minutes. The default is 10 minutes.
Select whether or not to sync documents.
Select whether or not to perform personal data detection. Personal data could be any sensitive information for example social security numbers, and the personal data would be scrubbed.
Select whether to sync the Audit. This is important because if the Event Log or Audit is truncated or removed prematurely, delta syncs may not capture the last sync information.
A nickname for the sync can be given.
Actions
The following actions can be taken on file shares from the File Share tab:
Edit. Edit the file share configuration.
Delete. Delete the Configuration.
Create Folder. Allows to create a folder within the fileshare from the application.
Sync Now. Runs the File Share sync immediately. Good for one-time sync.
Re-Scan Now. Allows Fileshare to rescan the UNC path for folder and document count statistics.
Personal Data Detection. Allows the user to detect and manage personal sensitive data found in the file share.
Import Metadata. Allows the import of metadata to the fileshare using CSV. Read CSV parameters for all metadata
Download Metadata CSV. Download the metadata in CSV form from the fileshare. Allows an easy export of all metadata, to be used in CAM.
Once a FileShare is added, a new command is created in the Command tab.
Command tab
This tab displays all the jobs running on File Share syncs. The following information is displayed on the tab:
Column | Description |
Fileshare Path | The fileshare path in full. This allows you to determine which fileshare is used. |
Command | Example commands are scanfolders (scanning the file share), createworkspace or createfolders. These are the jobs that are running. |
Status | The job status. Queued, In Progress, Success, Already Synced and Failed are options. If failed the exception can be opened and copied with the Copy Exception button. |
Response Status | If a job is successfully created a Success response is passed. |
Remaining attempts | If the job is created with multiple attempts, the number of attempts remaining show. |
Created | Date job created. |
Updated | Date job last updated (as it processes). |
Response Sent | The date of the sent response. |
Tip: The Command and Log tabs allow for pagination. Users can freely change the page size to display as many rows as they need.
Commands can be filtered by using the filter option. KPIs that can be filtered are: The Fileshare path, Command, Status, Created, and Updated.
Log
This tab displays all the Sync logs. The following information is displayed on the tab:
Column | Description |
Log Level | Example levels are: Info, Debug, Error, Warning |
User | The user working with fileshare. |
Server | Server from which the log was sent. |
Created | Date created |
Message | Log message including any error stack traces. Hit the Copy Exception button to copy the error message text. |
Users can export the log to Excel. Users can first sort and filter the log results to what they need exported and then click the export button.
Tip: It is possible to filter Log results by Log Level, Message, and Created Date, as seen on the screenshot below.
Additionally, the Clear Filter button allows users to reset all filter fields to start a new search from scratch.
The log files are saved in the following default path on the computer: C:\ProgramData\Prosperoware\CAM\Fileshare\Logs
Tip: The Command and Log tabs allow for pagination. Users can freely change the page size to display as many rows as they need.
Agent tab
This tab displays all the agents set to sync fileshares. Multiple agents can be used to scale up batch processing or to divide the workloads. The following information is displayed on the tab:
Column | Description |
Host | The machine hosting the service agent |
Service Account | The account that runs the service. |
Description | A description of the agent and what it does. |
Online | Is checked if online. If offline, it is unchecked. |
Online Time | Time the agent is online for. |
Version | Version of the agent. |
Actions include:
Action | Description |
Start | Start the service agent. |
Stop | Stop the service agent. |
Restart | Restart the service agent. |
Add | Add a new agent. |
Configuration files
The Connection Strings will be saved to the Prosperoware\CAM\Fileshare\Agent\Config folder. The following connection strings are important:
AppSettings.config: Contains application global settings.
AppSetting | Defaults and Descriptions |
Token Endpoint | |
ClientUI | Address and Port for the ClientUI |
AWSRegion | The AWS region if specified |
DocumentAnalysisServiceEndPoint | Service address and port for the document analysis services. http://127.0.0.1:5000 |
CoreAPIURL | URL for the Core API |
CSVFolderPath | Folder path for csvs |
CSVArchiveFolderPath | Folder path for archives |
CSVDelimiter | The type of delimiter to use in the CSV. \t= tab. \c=comma |
DateFormat | Format of system and file dates. Default= yyy-MM-dd HH:mm:ss |
SuppressScriptErrors | Default= true; for debugging, leave as false to show all errors. |
ClientSettingsProvider.ServiceURi |
|
CommandTimeOut | Time for command timeouts. 300 secs |
ArchiveFilesLifecycle | Days to keep archive CSVs in Archive folder. 30 days |
RecordCountLimit | Record Count limit per batch; Default=500 |
ThreadCount | Number of threads to use. Default=20 |
DomainMachineName | Name of the machine name on the domain |
Log4net.Internal.Debug | False: Used for log debugging |
AuditLogLifeCycle | How long to keep the audit logs. 30 days |
CsvBatchSize | Sets the number of matters that will be synced per batch in the CSV. Default=4 Note: Out of the box, the size limit for the CSVs is set to 50KB. To increase the size limit, adjust the Batch size to a number that works best for your hardware configuration. |
LogCsvFolderPath | The path for the FileShare logs that are stored locally. Default=C:\ProgramData\Prosperoware\CAM\Fileshare\Logs |
Stage | <add key=”Stage” value=”” /> Important: The value should be either “dev”, 'qa”, “stg”, or “prod”, depending on the environment where the application is running.
|
Note: Users can manually change the settings in the AppSettings.config file.
ConnectionString.config: Contains the connection string that is created when the application is installed.
Contains the CAM Login and Database information.
Column | Description |
Domain | Enter the domain name that contains the data to be synced to cloud. E.g. sitename.tenantname.io. Leave off the https:// and the ending / |
Enter your domain email ID. E.g. myemail@company.com | |
Password | Enter password for the email specified above that is used to log into CAM. |
SQL Server Name | The name of the SQL server hosting the billing database. |
Database | The name of the database that you created on the SQL server to be used by FileShare to upload the data from the fileshare to the staging DB to CAM. Warning: The blank database should be already created before you configure this. |
Authentication | Choose the type of authentication to be used to connect to the data source database. Options include Windows authentication using the Windows credentials and SQL authentication using specific database-only credentials. |
Username | Enter the username of the database. (SQL authentication only) |
Password | Enter the password for the username of the database. (SQL authentication only) |
Self-Healing
Fileshare now checks if any security changes to the share violate controls and overwrites them accordingly.
This is called self-healing in CAM.
Non-Inherited Folders
FileShare now supports importing non-inherited folders and files from the FileShare. A flag is inherited and displayed when non-inherited folders are imported.
Process
if someone removes (excludes) or adds/edits (includes) a user/group or access in the Folder Security that violates the policy setup in the Control Center.
That is then synced using the linkfileshare job by the Fileshare app.
After the job is completed, it gets pushed to the control center to re-apply the security control.
CSVs
CSVs are stored in three locations:
CSVs waiting to be uploaded are stored in c:/temp/CAMCSVFolder
Successfully uploaded CSV’s reside in c:/temp/CAMFSArchivedCSVUploader
Backups of csvs that had been processed for upload to CAM are also in C:\ProgramFiles (x86)\Fileshare\bin\Debug\archivecsv.