Q: Is it possible to log changes of metadata?
A: Yes. There is a special history function which can be enabled individually for any SQL or Access database.
Enabling the History function:
- In Admin you need to select a database below ODBC. Select from the menu: Database > Create table for change history. (German: Tabelle der Änderungshistory anlegen). (There is no option in context menu for enabling this feature!)
This action will create an SQL table called HISTORY - The History feature can be enabled
- for all tables: Global/Local Settings | Digas | Settings > WriteChangeHistory = TRUE
- for individual tables: Global/Local Settings | Digas | Database | … | … > WriteChangeHistory = TRUE
All actions after the initial creation of a database element are now logged in the HISTORY table. If a DBM entry is changed, a corresponding change is logged in HISTORY.
Displaying the logged History entries
A special user mask is available called DigaHistory.
- Copy DigaContentTabHost.dll to your DigaSystem folder.
- Create a new folder below your folder for user masks, e.g. C:\Program Files (x86)\DigaSystem\UserMasks\DigaHistory and place the file DigaHistory.dll inside this folder
- Go to the globa/locall parameter file and create a sub key below DBM | UserMasks. Name it e.g. DigaHistory. The name will be used as name for the tab in DBM.
Add the following parameters inside this section:
Assembly = <Path>\DigaHistory.dll (For example, Assembly = C:\Program Files (x86)\DigaSystem\UserMasks\DigaHistory\DigaHistory.dll)
Set the parameters depending on the type of database (replace all <String values> with the parameters of your configuration)
For SQL databases: DSN_<DSN-Name> = Provider=SQLOLEDB;Server=<Name of SQL Server>;Database=<Name of SQL database on SQL server>;uid=david; pwd=<Password for user david>;Trusted_Connection = FALSE | For Microsoft Access databases: DSN_<DSN-Name> = Provider=Microsoft.Jet.OLEDB.4.0;DataSource=<Path to DigaSystem>\Database\digasloc.mdb |
Name = HistoryTab(do not change this name!)
Number = <an integer for the new user mask that will define the order of tab appearance in the DBM Entry mask>
You will now be able to see the new user mask in the table(s) when using STRG+SHIFT+A in a DBM entry mask. You can also adjust the visibility of the History Tab as with other tabs in the ODBC | Database | Tablename | Classes section.