Лёгкое программирование под Autodesk Vault Часть 41
На высоком уровне:
Свойства представляют собой тип поведения, который в основном означает, что это функция, которая работает над сущностями, а не с конкретными типами объектов. Есть 2 вещи, которые мы делаем с этой концепцией: 1) мы консолидируем функции и 2) мы позволяем данным быть общими для всех типов сущностей.
Эти концепции можно увидеть на диалоге свойств (Инструменты меню -> Администрирование ->Настройки хранилища -> Вкладка "Поведение" -> Кнопка "Свойства"). Все находится в одном диалоговом окне, вместо раздельных окон для файла, элементов и запросов на изменение. (Рисунок, поз. 1).
Этот диалог дает вам хороший список определений свойств. Обратите внимание, как каждое определение связано с 1 или более классами сущностей. Это хорошо, так как вы можете описать определение свойства один раз и использовать его в нескольких местах. Определение свойства могут работать только с теми классами сущностей, с которыми они связаны.
Также вы можете связать определения свойств с категориями. Это позволяет изменить поведение свойства в зависимости от категории, которой является сущность. Эта функция предоставляет бОльшую специализацию во время повторного использования. (Рисунок, поз. 2)
Системные и определяемые пользователем свойства:
Свойства, поддерживаемые Vault являются системными, либо определяемыми пользователем (UDP). Главное отличие в том, что UDP значения можно редактировать непосредственно, а значения системных устанавливается системой. На уровне определения свойства, системные свойства имеют только несколько вариантов редактирования. Точно так же, системные свойства не могут быть добавлены или удалены.
Источник содержимого свойств:
Свойства способны на многое. Они заполняют таблицы данных, позволяют искать, определяют ограничения жизненного цикла и т.д. Все это возможно потому, что Vault "обладает" этими данными. Vault хранит данные в своих таблицах и индексах, и все организовано для поддержки функций Vault.
Но как насчет свойств, которые не принадлежит Vault? Эти свойства не организованы Vault и они не в том формате, который распознает Vault. Мы называем это свойствами содержимого источника, потому что они из источника, отличного от Vault. Так как же Vault работает с этими данными?
Решение состоит в отображении содержимого исходного свойства в UDP. Таким образом Vault может производить операции над UDP, не имея представления и не заботясь о механике свойства источника контента.
"Клеем" между имущества содержимым источника и UDP является модуль, который называется Провайдер Содержимого Источника (Content Source Provider). Он содержит логику для чтения и/или записи свойства источника содержимого и взаимодействия с фреймворком Vault. Эти поставщики разбиты по типу файла. Так, есть поставщик для AutoCAD, для Inventor и так далее. Существует также поставщик "Все файлы", который обрабатывает все файлы, не заявленные другим поставщиком.
Источник: справка Autodesk Vault API.
Обсуждение: http://adn-cis.org/forum/index.php?topic=1023
Опубликовано 15.10.2014Отредактировано 15.10.2014 в 17:04:23