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

31/01/2015

Две недокументированные функции в Vault 2015 R2

В Vault 2015 R2 есть несколько недокументированных функций. Конечно, процесс рассказа по существу делает их документированными.   Так что, к тому времени как вы дочитаете статью до конца, её название станет недействительным.  

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

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

CopyFile

Эта функция копирует двоичное содержимого файла в файловом хранилище. Такие мета-данные хранилища, как имя и номер версии, не копируются.

Код - C#: [Выделить]
  1. byte[] FilestoreService.CopyFile (
  2.     byte[] downloadTicket,
  3.     bool allowSync,
  4.     PropWriteReq[] writeReqs,  
  5.     out PropWriteResults writeResults)

downloadTicket - идентификатор файла, который вы хотите скопировать.FilestoreService не заботится о значениях File.ID.Здесь идентификаторами являются тикеты загрузки/выгрузки.   Вызовите DocumentService.GetDownloadTicketsByFileIds, для того, чтобы получить тикет загрузки.

allowSync - Если это ИСТИНА, и файл не в локальном файловом хранилище, файл копируется в рамках операции.Если ЛОЖЬ, операция терпит неудачу, если файл находится не в локальном файловом хранилище.

writeReqs - совокупность свойств, для обновления в файле.Например, вы можете обновить iProperties из Inventor в скопированном файле.

writeResults - результат обновлений свойства. Только то что вы просили об изменении свойства, не значит, что на самом деле изменение произошло.

Return value - тикет загрузки для нового файла.

GetContentSourcePropertyDefinitions

Эта функция получает для вас список имен свойств, содержащихся в файле. CAD файл является источником контента. Этот тип свойств отличается от свойств Vault, которые хранятся в базе данных Vault.  

Код - C#: [Выделить]
  1. CtntSrcPropDef[] FilestoreService.GetContentSourcePropertyDefinitions (
  2.     byte[] downloadTicket,
  3.     bool allowSync)

downloadTicket - идентификатор файла из которого читаются имена свойств.Вызовите DocumentService.GetDownloadTicketsByFileIds, для получения тикета загрузки.

allowSync - Если ИСТИНА, и файл не в локальном файловом хранилище, файл копируется в рамках операции.Если ЛОЖЬ, операция терпит неудачу, если файл находится не в локальном файловом хранилище.

Return value - свойства, которые могут быть прочитаны или записаны в файл.

 

Источник: http://justonesandzeros.typepad.com/blog/2015/01/2-undocumented-functions.html

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

Опубликовано 31.01.2015
Отредактировано 31.01.2015 в 09:13:57