Skip to main content
Skip table of contents

DigAlign + FilesDI.dll - How to setup database alignment

Q: How do I setup an alignment between a DigaSystem database table and a shared folder?

A: To setup such alignment you need to have to create a configuration using FilesDI.dll inside DigAlign.

You need to have the following files inside your DigaSystem folder:

- DigAlign.exe (at least Build 143)
- DigaSQL.dll
- MP2.sys
- DigaReportServerAPIU.dll
- FilesDI.dll (at least Bild 117)



You need to specify some folders:

1. Protocol folder, e.g. C:\DigaSystem\Logging
--> to be set under Settings\General. Please add an unique Program ID (3 letters) and a Logfile Prefix for this instance of DigAlign
2. Working directory, e.g. C:\DigaSystem\Cache
--> to be set under Settings\Table alignment, used for caching
3. Central folder for table B, e.g. D:\Projects\FilesDI
--> to be set under Table Alignment\Tables: Init Parameter for Table B
--> Please add subdirectories for each table. Each table folder needs to have a command folder



Structure:

D:\Projects\FilesDI - Main folder for FilesDI.dll workflow, contains configuration file FilesDI.ini
D:\Projects\FilesDI\Example - Folder used for the table alignment, may contain addition FilesDI.ini for special configuration of command directory
D:\Projects\FilesDI\Example\Command - Folder used for the command files

Setup:

To setup an alignment you have to create a new table alignment with alignment method "Master A --> Slave B".
The Interface DLL for table A is DigaSQL.dll. Press 'Scan' to select the table.
The Interface DLL for table B is FilesDI.dll. You have to enter the 'Init parameter' manually which is the main folder.
Press 'Scan' to get a list of all subfolders. Select the subfolder which will be used exclusively for this table alignment.
Under 'Options' you should switch off 'Copy media files (A->B). This will allow to just copy metadata.

Here is an example of FilesDI.ini:

 

Code:

[Options]
  AllowedUpdates=
  ; CapacityInfoDirectory=
  ; CommandDirectory= (disabled, not used in central FilesDI.ini)
  CommandFileExtension=DBE
  CommandFileFormat=0
  ; 0 = Default, 1 = DBE, 2 = DBX, 4 = Numisys
  DBEFileExtension=DBE
  DefaultUpdateCommand=INSERT
  FieldForDbeName=[b]MUSICID[/b]
  ; Unique identifier, NUMBER or MUSICID
  IdFieldForUpdates=MUSICID
  IndexedFields=[b]MUSICID[/b]
  LockingAppReporting=0
  LockingTimeout=100
  LowerCaseFilenames=0
  MatchAudioFilename=0
  NoDBEFiles=0
  OmitCommandFileOnUpdate=0
  ; SingleTableName=MusicMaster_virus
  ; SGICommandDirectory=
  TableLocking=1
  ; UpdateDirectory= (disabled, not used in central FilesDI.ini)
  UpdateFileFormat=1
  ; 0 = Native DBE, 1 = DBE, 2 = DBX, 3 = MusicMaster, 4 = Numisys
  UpdateFileMask=*.DAT
  UpdatedFields=
  UseCommandDirectory=1
  UseIndexFile=1
  UseUpdateDirectory=0
  WriteDBX=0
  WriteUnicode=1
 
  [Aveco]
  ; CapacityInfoDirectory=\\AUDIOSERVER\AUDIO
 
  [BEIWA]
  CreateMSGFiles=0

 




Now you can test the alignment. It will copy all the content of table A to the folder specified for table B.
Initial all entries of table A will have a command file with the command INSERT to allow importing the content into a 3rd party system.

It is also possible to use DigAlign + FilesDI.dll in a bi-directional workflow where the 3rd party system sends updates to a specified update folder.

In such workflow DigAlign must be configured to work in two directions A <-> B including deletion.

This requires that you either have a Update folder inside the folder of table B or define one inside FilesDI.ini

Here is an example of FilesDI.ini stored inside the folder of "table B" which is in our example pointing to D:\Projects\FilesDI

We recommend removing the FilesDI.ini from the application folder of DigAlign and just using the one installed in "table B".

This example will work with DBX files which are written in Unicode. It will not only update metadata to DigaSystem but even delete content from the database whenever it was deleted by the 3rd party product. To avoid this deletion process the parameter AllowedUpdates can be set to UPDATE,INSERT

 

Code:

[Options]
  AllowedUpdates=UPDATE,INSERT,DELETE
  CommandDirectory=D:\Projects\FilesDI\commandCommandFileFormat=0
  CommandFileExtension=DBX
  DBEFileExtension=DBX
  DefaultUpdateCommand=UPDATE
  FieldForDbeName=NUMBER
  IdFieldForUpdates=MUSICID
  IndexedFields=MUSICID
  IndexFileMustExist=0
  LockingAppReporting=1
  LockingTimeout=100
  LowerCaseFilenames=0
  MatchAudioFilename=0
  NoDBEFiles=0
  OmitCommandFileOnUpdate=1
  RetryFailedUpdates=1
  TableLocking=0
  UpdateDirectory=D:\Projects\FilesDI\updateUpdateFileFormat=0
  UpdateFileMask=*.DBX
  UpdatedFields=TITLE,COMPOSER
  UseCommandDirectory=1
  UseIndexFile=1
  UseUpdateDirectory=1
  WriteDBX=1
  WriteUnicode=1
 
  [Aveco]
  ; CapacityInfoDirectory=\\AUDIOSERVER\AUDIO
 
  [BEIWA]
  CreateMSGFiles=0

 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.