DM2003 software may be seamlessly integrated with custom metadata providers.
For example, you can consider storing file descriptions in the Microsoft Access database.
To interact with DM2003, metadata provider must:
Notice: to display correct property pages in the file managers you should also recreate file types associated with DM2003 since appropriate registry record includes property page handler CLSID as well. Also keep in mind that DM2003 scripting layer also is aware of custom MetaBase ProgIDs and can obtain column captions of data files and get file descriptions (databrowser and web index applications) using your provider. In order to support this functionality, you should implement IDispatch interface (TLB support not needed).
For your convenience, this manual includes
TestPropertyPage Delphi
example that illustrates basic implementation of this technology. See included readme.txt
for additional information and instructions.
| Kind | Name | Description |
| Initialize | Initialize provider with DMApplication reference | |
| InitializeFileName | Initialize provider with DMApplication and file name |
| function Initialize(const DM: IDispatch): HResult; stdcall; |
DM2003 invokes this method after creating property page handler object to pass the DMApplication object reference. Provider must use DM2003 object model to obtain file name of active document. On the other hand, Windows Shell (file managers) uses IShellExtInit.Initialize() member instead.
| function InitializeFileName(const DM: IDispatch; const FileName: WideString): HResult; stdcall; |
DM2003 invokes this method after creating property page handler object to pass the DMApplication object reference and file name. This member allows to display property pages for ANY files, even ones not loaded into DM2003!