ADN Open CIS
Сообщество программистов Autodesk в СНГ

17/02/2015

Создайте свой собственный Design Copy для Autodesk Vault

Ранее я описал две новые функции, связанные с новым приложением Copy Design в Vault 2015 R2. Теперь я хотел бы сделать обзор некоторых видов использования этих функций. Наиболее очевидным использование является построение своего собственного алгоритм Copy Design, который отвечает вашим потребностям.

Технически, пользовательский Copy Design всегда возможен в Vault, но эти новые функции делают вещи проще. Самое главное, ваше приложение не должно участвовать в каких-либо САПР-специфических API. Конечно, при условии что файл САПР является одним из типов, которые распознаются Vault.

Я сказал, что новые функции делают Copy Design легче, но это все еще не то, что я описал бы как просто. Вы по-прежнему должны управлять такими вещами, как отношения файлов, и именование файлов.

Для каждого файла, который вы хотите скопировать, вы в основном должны сделать три шага:

Шаг 1: Получить тикет на загрузку.

Код - C#: [Выделить]
  1. DocumentService.GetDownloadTicketsByFileIds(...)

Вы на самом деле не загружаете что-нибудь, но давайте не будем беспокоиться об этом в на данный момент. Важно то, что мы получаем File Id для билета, а билет требуется в пункте 2.

Шаг 2: Скопируйте двоичное содержимое файла.

Код - C#: [Выделить]
  1. FilestoreService.CopyFile(...)

Этот шаг сделает на стороне сервера копию бит файла. Реально ничего не скачивается или загружается с вашего компьютера. Операция просто делает копию двоичных данных. Мета-данные до сих пор ещё не были скопированы, так что они на самом деле не существуют в хранилище. Нет никакого имени файла, нет расположения папки, не время создания, и так далее. Это в фактически набор данных, находящихся в подвешенном состоянии.

Шаг 3: Добавьте файл в хранилище

Код - C#: [Выделить]
  1. DocumentService.AddUploadedFile(...)

На этом шаге, где вы говорите базе данных хранилища о файле. Это здесь вы установили новое имя, расположение, и новые отношения для скопированного файла. Опять же, имя функции не является технически правильным. Мы не загружали файл, но функцию это не волнует. Ей просто необходим uploadTicket, так что он может укрепить двоичные данные в метаданных.

Другой ключевой аспект копии в том, что внутренние отношения файла еще не были изменены. На шаге 2 получается идеальным экземпляр, так что он по-прежнему имеет указатели на старые имена файлов. Vault спроектирован так, что отношения файла обновляются при загрузке файла. Это еще одна причина, по которой вы хотите использовать AcquireFiles при загрузке. Он исправляет ссылки для локальных файлов.

Новое приложение Copy Design работает точно так же. Он опирается на загрузку для того, чтобы исправить разорванные ссылки. Эти ссылки будут технически оставаться нарушенными до тех пор, пока инженер не получит файлы, внесет изменения и вернет файлы обратно в хранилище.

Источник: http://justonesandzeros.typepad.com/blog/2015/02/roll-your-own-copy-design.html

Автор: Doug Redmond
Автор перевода: Doug Redmond

Обсуждение: http://adn-cis.org/forum/index.php?topic=1874

Опубликовано 17.02.2015