Synchronization Service

Follow

Updated:

Table of Contents

General Overview

Synchronization service polls NetDocuments Data Centers and customer’s repository for changes to documents and interrelated metadata to retrieve updates and store the data at a local or remote file system. The regular Windows Service hosts the synchronization service using the background jobs processing library.

The application administrator will be able to configure synchronization service, monitor synchronization service status, and analyze synchronization service reports using Web Administrative Dashboard. The application gets the state of synchronization service with the help of the database.

Synchronization service and dashboard application are hosted inside of the same Windows Service of the ndMirror first version. ndMirror synchronization service runs under the provided NetDocuments credentials and uses OAuth protocol to authorize the access. Specific users can synchronize the data accessible only to them. SSL communication protocol protects all communication with NetDocuments Cloud DMS. ndMirror always initiates outbound connections to NetDocuments Cloud DMS, and it does not require you to open an inbound port.

SyncService is the main entry point to the application and it hosts:

  • LDService.SyncService – Windows Service project that hosts synchronization service.
  • LDService.Persistence – Persistence layer of the application that encapsulates all database interaction.
  • LDService.Dashboard – NancyFx-based web application that contains the Web Administrative Dashboard.

arch.jpg

The ndMirror architecture

SyncService is the main entry point to the application and it hosts:

  • Background jobs processing server.
  • Web Administrative Dashboard loaded from a separate assembly as OWIN middleware.
  • Windows Service boilerplate code for implementing Windows Service.

Back to Top

Synchronization Job Types

Synchronization Jobs

Synchronization jobs execute the deletion of cabinets, documents, and unofficial document versions. They also synchronize cabinets and cabinet profile attributes, specific document by its ID, and others. In the table below, you can find the list of synchronization jobs with their corresponding descriptions.

Synchronization job name

Description

DeleteCabinetJob

The job that deletes cabinet, its content, and metadata job.

DeleteDocumentJob

The job that deletes the document, its content, metadata job.

SynchronizeAttachmentsJob

The job that synchronizes document attachments.

DownloadVersionContentJob

The job that downloads the document version content from the server.

SynchronizeCabinetJob

The job that performs the synchronization of cabinets.

SynchronizeCabinetMembershipJob

The job that creates the cabinet membership list with default levels of access of members.

SynchronizeCabinetProfileAttributesJob

The job that synchronizes cabinet profile attributes.

SynchronizeChangesJob

The job that invokes tasks for synchronizing changes in all cabinets. This is a scheduled task.

SynchronizeDocumentJob

The job that synchronizes a specific document by ID.

SynchronizeRepositoryGroupJob

The job that gets a list of the group’s members belonging to the repository.

SynchronizeRepositoryGroupsJob

The job that invokes tasks for synchronizing repositories' groups.

SynchronizeRepositoryUsersJob

The job that gets a list of all users who are members of the repository.

SynchronizeUsersAndGroupsJob

The job that invokes tasks for synchronizing users, groups, and cabinet ACL. This is a scheduled task.

DeleteFlexstoreVersionsContentJob

The job that removes the content of versions excluded due to FlexStore according to cabinet's settings.

Back to Top

Lookup Jobs

Lookup table jobs synchronize lookup table values. Lookup tables do not support incremental changes, so ndMirror runs the scheduled job (SynchronizeLookupTablesJob) which downloads all lookup tables (using SynchronizeLinkedLookupJob and SynchronizeNotLinkedLookupJob).

After downloading the lookup table, CleanupLookupJob removes database values which have not been updated (received) from the NetDocuments cloud. In the table below, you can find the list of lookup jobs with their corresponding descriptions.

Lookup job name

Description

CleanupLookupJob

Jobs that removes database values which have not been updated (received) from the NetDocuments cloud.

SynchronizeLinkedLookupJob

The job that synchronizes the lookup table with a parent for a specified profile attribute.

SynchronizeLookupTablesJob

The job that invokes tasks to synchronize lookup tables. This is a scheduled task.

SynchronizeNotLinkedLookupJob

The job that synchronizes the lookup table which does not have any child attributes.

Back to Top

Maintenance Jobs

Maintenance jobs are run on schedule. In the table below, you can find the list of maintenance jobs with their corresponding descriptions.

Maintenance job name

Description

CheckCredentialExpirationJob

Service job that checks the expired user credentials and invokes SendExpiredEmailJob, if needed.

CleanupFailedJobs

Service job that removes the outdated (not relevant) failed jobs (duplicated, succeeded document, and other).

LogsRetentionJob

The job that applies the retention policy to the database logs.

SendDailyStatisticsJob

Service job that sends daily statistics email.

SendExpiredEmailJob

Service job that sends emails about the expired credentials.

StatisticsJob

The job that gathers cabinet statistics like errors, mirrored documents, storage size, and so on.

SyncSessionsRetentionJob

The job that applies the retention policy to the cabinet synchronization sessions.

Back to Top

Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk