Устройство современных файловых систем пошло от операционной системы Unix, где файл является именованной последовательностью байтов, размещенных на неком запоминающем устройстве. Запись о файле содержит его имя, размер в байтах, даты создания и модификация, различные флаги и прочую полезную информацию. Однако тип информации, которая содержится в файле, точно не известен. Причина столь странного ляпа в том, что в операционных системах произошедших от Unix нет определения типа файла как такового.
Единственное, что помогает определить принадлежность файла к типу, это часть имени файла, отделяемая от основного имени точкой, и называемая расширением файла. Основная проблема такого подхода в том, что одно и то же расширение может использоваться для различных типов файлов, в том числе несовместимых версий одного и того же программного продукта.
В Windows тип файла выделен в системное свойство. Но расширение файла жестко связано с его типом. Такое решение хорошо служит в рамках отдельно взятой операционной среды. Но такой подход неприменим в многоплатформенной системе, где файлы с одним и тем же расширением могут обрабатываться на разных рабочих местах не только разными версиями одной программы, но и программами, принципиально отличающимися по функционалу и формату сохраняемых файлов.
В отличие от подхода, принятого в Windows, в TDMS каждый тип файла обладает наименованием, уникальным системным идентификатором и набором расширений. Тип файла TDMS привязывается не к расширению, а к программе, ответственной за обработку данного типа файла. Такой подход позволяет использовать в одной среде различные версии программных продуктов, определяя для них разные типы файлов. Список типов файлов формируется в диалоге редактирования списка типов файлов.
В дополнение к описанным стандартным свойствам, типы файлов TDMS обладают рядом дополнительных возможностей:
- Тип файла определяет возможность создания по содержимому файла полнотекстового индекса.
- Для каждого типа объекта задается набор допустимых типов файлов, которые будут использоваться с данным типом объекта. Например, для документа допустимыми типами файлов могут стать Файл Word, Файл Excel и т.д. Файлы других типов не могут быть включены в состав объекта. Отсутствие разрешенных для типа объекта типов файлов равносильно запрету на любые операции с файлами.
- Набор команд для просмотра, редактирования или иного способа обработки файлов электронного документа, определяется типом содержащихся в нем файлов.
- Для типа файла можно определить набор шаблонов файлов, которые могут использоваться в качестве готовых примеров документов, чертежей, отчетов. Шаблон может быть как пустым файлом, так и содержать стандартные формы, рамки, логотипы, тексты и т.д. Средства автоматизации TDMS позволяют добавлять шаблонный файл во вновь созданный объект в соответствии с заданными параметрами объекта (например, классификатором типов документов).