Настройка конфигурации для Tentaculo заключается в создании конфигурационного файла формата json и последующей загрузки его в Cerebro.
Загрузка конфигурации
Для того чтобы загрузить конфигурационный файл в Cerebro:
откройте окно Администратор (Главное меню — Инструменты — Администратор...);
перейдите на вкладку Вселенная;
перейдите в раздел Tentaculo;
в данном разделе нажмите кнопку Загрузить конфигурацию из файла.
После загрузки конфигурация Tentaculo будет доступна всем пользователям вашей вселенной.
Примечание:
Для того чтобы убедиться в правильности конфигурации рекомендуется предварительно воспользоваться отладочным режимом.
Настройка конфигурации
Настройка конфигурации Tentaculo состоит из следующих частей:
настройка протокола доступа к файловому хранилищу. Для этого необходимо в конфигурационном файле заполнить два раздела:
- protocol – перечень протоколов доступа к хранилищу;
- project_path (обязательный параметр) – перечень корневых путей до проектов.
настройка соглашения по именованию. Для настройки соглашения об именовании в конфигурационном файле заполнить следующие разделы:
file_path (обязательный параметр) — перечень описаний соответствия задач в Cerebro с вашей файловой структурой;
soft_folder — дополнительная переменная, для возможности структурирования файлов и директорий в зависимости от рабочего приложения, в которой создаются файлы. Применяется в file_path в описании файловых путей;
variables — перечень дополнительных переменных, для описания файловых путей, которые можно использовать в file_path;
version_save — переменная определяет, что происходит с рабочим файлом при сохранении версии;
trans_mode — переменная позволяет включить транслитерацию файловых путей, соответствующих задачам в Cerebro для каждого приложения;
case_mode — переменная позволяет определить регистр символов в путях к файлам;
filters — переменная позволяет задать параметры фильтрации задач в интерфейсе Tentaculo;
mirada_path — переменная позволяет задать полный путь до приложения Mirada.
расширение возможностей Tentaculo:
processors — определяет набор Python-скриптов, дополнительно выполняемых при совершении действий в плагине (см. раздел Процессоры);
Настройка протокола доступа
Раздел protocol
Переменная protocol позволяет задать протоколы доступа к файлам, причем возможны различные значения в зависимости от приложения, в котором запускается плагин.
Структура элемента:
"protocol":
{
"all": [],
"cerebro": [],
"maya": [],
"nuke": [],
"houdini": [],
"blender": [],
"cinema4d": [],
"3dsmax": [],
"katana": [],
"revit": [],
"autocad": [],
"tbharmony": [],
"tbstoryboard": [],
"photoshop": [],
"aftereffects": [],
"indesign": [],
"illustrator": [],
"animate": [],
"premiere": [],
"flame": [],
"fusion": [],
"clarisseifx": [],
"unreal": [],
"substance": [],
"vegas": [],
"tdequalizer4": []
}
В качестве ключа выступает внутреннее название одного из поддерживаемых приложений (cerebro, maya, nuke houdini и т.д.), а значением является строка с названием или список названий протоколов. Использование ключа all позволяет задать протоколы сразу для всех возможных программ, включая Cerebro. В случае, если для какого-либо из используемых приложений требуется указать индивидуальный способ доступа к файлам, то необходимо задать свой протокол, отличный от all.
Примечание:
Обязательно должно быть указано значение для переменной "cerebro", чтобы приложение Cerebro самостоятельно определяло по какому протоколу оно будет получать доступ к файлам. В противном случае доступ к файловому хранилищу из приложения Cerebro будет запрещен. Сделано это в целях контроля доступа к вашей основной файловой структуре.
Возможные значения переменной protocol для того или иного приложения:
network (значение по умолчанию) — для работы во внутренней сети компании, происходит доступ к файлам непосредственно в сетевом каталоге без копирования в локальную директорию;
local — для работы во внутренней сети компании, перед обращением к файлам происходит их копирование в локальную директорию на рабочей станции;
cargador — для удаленной работы, доступ к файлам происходит через нашу службу Cargador;
ftp — для удаленной работы, доступ к файлам происходит через протокол FTP. Параметры для соединения задаются через двоеточие после имени протокола, например,
"ftp:ftp://mycompany.com"
;sftp — для удаленной работы, доступ к файлам происходит через протокол SFTP. Параметры для соединения задаются через двоеточие после имени протокола, например,
"sftp:sftp://mycompany.com"
;s3 — для удаленной работы, доступ к файлам происходит посредством S3 API, с облачным хранилищем (Amazon S3, Google Cloud Storage, Яндекс.Облако Объектное Хранилище и другими). Параметры для соединения задаются через двоеточие после имени протокола, например,
"s3:https://storage.yandexcloud.net/mycompany"
.yadisk — для удаленной работы c Яндекс Диск, доступ к файлам происходит через протокол HTTPS.
gdrive — для удаленной работы c Google Drive, доступ к файлам происходит через протокол HTTPS.
dropbox — для удаленной работы c Google Drive, доступ к файлам происходит через протокол HTTPS.
git — работа с файлами производится в системе управления версиями Git. Параметры для подключения к репозиториям через двоеточие после имени протокола, например,
"git:https://github.com/cerebro"
.!Важно: для работы с протоколом Git на компьютере пользователя должен быть установлен Git клиент (https://git-scm.com/downloads)
На данный момент поддерживается доступ к удаленному хранилищу по протоколу http/https.
Строка описания имеет следующую схему
"git:https://{адрес удаленного хранилища git}/{имя группы}/{имя репозитория}:{имя рабочей ветки}:{режим работы с файлами}"
{адрес удаленного хранилища git}
— адрес хранилища git, где расположены удаленные репозитории.{имя группы}
— имя группы к которой принадлежат репозитории. Группа может отсутствовать. Также группа может содержать подгруппы, в таком случае их имена разделяются обратным слешем.{имя репозитория}
— имя репозитория Git. Может быть задан в протоколе или в разделе project_path для каждого проекта, если вы используете несколько репозиториев для разных проектов.{имя рабочей ветки}
— имя ветки (бранча), в которой ведется работа. также может быть задана как в описании протокола, так и в project_path для для каждого проекта{режим работы с файлами}
— режим работы Tentaculo с файлами в репозитории.Поддерживается три режима работы:
version (по умолчанию) — версионность происходит на уровне файлов, то есть при публикации новой версии, создается новый файл, с номером версии в имени (настраивается в разделе file_path). Например, для файла photo_v01.jpg, новой версией будет новый файл photo_v02.jpg. В этом режиме в локальный репозиторий забирается весь проект, а при публикации отправляется только новые файлы версий.
revision — версия файла определяется ревизией в Git, то есть работа ведется с одним и тем же файлом, который обновляется командой git commit. В этом режиме в локальный репозиторий забирается весь проект, а при публикации отправляется только один файл, с которым велась работа.
project_revision — версии файлов так же, как и в режиме revision определяются ревизией в Git. Отличие состоит в том, что при публикации отправляются все изменения внутри проекта. Данный режим нужен для работы с проектами, которые подразумевают изменение сразу многих файлов, при работе с ними.
Для каждого приложения, включая Cerebro, можно задать один или несколько протоколов. Например, у вас может быть сетевой диск, который доступен и в локально сети и по FTP. В таком случае вы можете задать два протокола:
"cerebro": ["network", "ftp:ftp://mycompany.com"]
При этом пользователь, при попытке доступа к файлам сможет выбрать, подходящий ему протокол, в зависимости от того, где он находится - в офисе или удаленно.
Раздел project_path
Обязательная переменная project_path содержит список из элементов, описывающих корневые пути до проектных файлов:
"project_path":
[
{
"project_name": "",
"task_activity": ""
"path": []
}
]
Каждый из элементов описывает возможные файловые пути до корневой директории проекта и содержит следующие поля:
project_name — имя проекта в Cerebro. Если в качестве значения задана пустая строка, то данная структура содержит значения по умолчанию для всех проектов, не описанных в остальных структурах списка;
task_activity — название вида деятельности, от которого зависит путь до корневой директории. Например, файлы для разных видов деятельности могут храниться на разных серверах.
Пустое значение также означает, что описанные пути применимы по умолчанию к задачам с любым видом деятельности;path — список возможных путей до корневой директории. Формат пути зависит от протокола. Путей может быть задано несколько в зависимости от доступа к хранилищу проектов из разных мест удаленной работы.
Переменные project_name и task_activity, по сути, являются ключом для сопоставления задачи в Cerebro, в которой выкладываются или скачиваются файлы. А переменная paths определяет, где должны находится файлы для этой задачи.
Формат пути в paths
Протокол network
Для данного протокола пути задаются в стандартных форматах операционных систем, но можно использовать и префикс network://
. Например, если вам нужно задать корневой путь для нескольких операционных систем, используйте несколько записей
"paths":
[
"//server/projects", // for Windows
"/Volumes/projects", // for MacOs
"/server/projects" // for Linux
]
Протокол ftp
Для данного протокола используется префикс ftp://
. Путь указывается от адреса, указанного в протоколе, например,
"paths":
[
"ftp://projects" // for FTP
]
Поскольку пользователи на одним проектом могут пользоваться разным доступом (в локальной сети или удалённо), в paths могут быть указаны пути для нескольких протоколов, ссылающихся на одно место. Например, если проекты в локальной сети доступны по сетевому пути, а для удаленно по ftp, пути могут быть записаны следующим образом.
"paths":
[
"ftp://projects", // for FTP
"//server/projects", // for Windows
"/Volumes/projects", // for MacOs
"/server/projects" // for Linux
]
Протокол sftp
Для данного протокола используется префикс sftp://
. Путь указывается от адреса, указанного в протоколе, например,
"paths":
[
"sftp://projects" // for SFTP
]
Протокол S3
Для данного протокола используется префикс s3://
. Путь указывается от адреса, указанного в протоколе, например,
"paths":
[
"s3://projects" // for S3
]
Примечание:
Для облачных хранилищ, подключаемых по S3 API, project_path обычно не требуется, поскольку в данных хранилищах папок как таковых нет, есть только теги имитирующие их.
Протокол yadisk
Для данного протокола используется префикс yadisk://
, например,
"paths":
[
"yadisk://projects" // for Yandex Disk
]
Протокол gdrive
Для данного протокола используется префикс gdrive://
, например,
"paths":
[
"gdrive://projects" // for Google Drive
]
Протокол dropbox
Для данного протокола используется префикс dropbox://
, например,
"paths":
[
"dropbox://projects" // for Dropbox
]
Протокол git
Для данного протокола используется префикс git://
.
Формат записи пути:
"git://{имя репозитория}:{имя рабочей ветки}:{режим работы с файлами}”
Это те же параметры, которые могут быть заданы в протоколе git, раздел protocol. Если для разных проектов используются разные репозитории, необходимо их определять в paths.
Например, для проекта myproject используется репозиторий myproject.git, рабочая ветка trunk, режим работы project_revision, то есть обновляем весь проект целиком.
"paths":
[
"git://myproject.git:trunk:project_revision" // for Git
]
Протокол cargador
Для хранилища Cargador project_path не требуется, поскольку корневой доступ определяется самим хранилищем.
Настройки соглашения об именовании
Раздел file_path
Переменная file_path содержит список из элементов, описывающих соответствия задач в разных ветках и проектах с вашей файловой структурой:
"file_path":
[
{
"folder_path": [],
"task_activity": "",
"name": "",
"name_editable": false,
"publish": "",
"version": "",
"ver_prefix": "",
"ver_padding": "",
"use_local": true,
"local": "",
"local_postfix": "local",
"use_review": true,
"review": "",
"review_postfix": "review",
"publish_status": "",
"lock_in_progress": true
}
]
Каждая из структур описывает набор вложенных папок и шаблон имени файла, применяемые для хранения версий файлов, и содержит следующие поля:
folder_path — форматированный путь в Cerebro до начала ветки проекта (обычно название проекта или раздела в проекте), в которой будут применяться правила, описанные в данной структуре. Значением является строка с путём или список путей. Если в качестве значения задана пустая строка, то данная структура содержит значения по умолчанию для всех проектов и веток, не описанных в остальных структурах списка;
task_activity — название вида деятельности, если от него зависит именование файлов. Пустое значение также означает, что описанные параметры применимы по умолчанию к задачам с любым видом деятельности.
name (обязательное поле) — форматированное имя файла. Определяет правило именования публикуемых файлов. Может быть списком, например ["$(task_name)_foo", "$(task_name)_bar"], в данном случае пользователю будет дана возможность выбрать одно из имен;
name_editable (по умолчанию false) — признак возможности задать вручную имя файла при его добавлении к задаче. Возможные значения: true, false.
publish — форматированный путь до директории, содержащей основную опубликованную версию файла. Не требуется для хранилища Cargador, т.к. оно имеет собственную структуру директорий для хранения файлов.
version — форматированный путь до директории с версиями файла. Не требуется для хранилища Cargador.
ver_prefix — добавочный элемент в имени файла нумерованной версии, который задает дополнительный префикс для версионных файлов и указывается между базовым названием файла и номером версии (напр. file_ver001).
ver_padding (по умолчанию 3) — количество знаков в номере версии;
use_local (по умолчанию true) — значение true/false. Определяет, будет создаваться локальная версия или будет происходить работа непосредственно в версионных файлах. По умолчанию создается локальная версия;
local (по умолчанию совпадает с publish) — форматированный путь до директории, содержащей рабочую версию (local version) файла;
local_postfix (по умолчанию "local") . Позволяет изменить стандартный постфикс "local" для локальных версий;
use_review (по умолчанию true) — значение true/false. Определяет, будет создаваться отдельная версия или будет происходить происходить просмотр (ревью) непосредственно версионных файлов. По умолчанию создается ревью версия;
review (по умолчанию совпадает с publish) — форматированный путь до директории, содержащей версию файла для просмотра (ревью);
review_postfix (по умолчанию "review") . Позволяет изменить стандартный постфикс "review" для ревью версий;
publish_status — имя статуса задачи, который будет предлагаться по умолчанию в окне публикации отчета.
lock_in_progress(по умолчанию true) — значение true/false. Определяет, нужно ли запрещать работу над задачей в том случае, когда другой пользователь уже переключил статус на “В работе”.
Переменные folder_path и task_activity, по сути, являются ключом для сопоставления задачи в Cerebro, в которой выкладываются или скачиваются файлы. А остальные переменные определяют, где должны находится файлы для этой задачи.
Если не задано значение поля publish или version, то при отправке файла в хранилище не будет создана, соответственно, основная или нумерованная версии файла.
Любые составляющие переменной file_path могут содержать следующие подставляемые переменные:
$(url[0]), $(url[1]) … $(url[i]) — имя отдельного элемента из пути до выбранной задачи в Cerebro, где i – уровень вложенности элемента, начиная от корня проекта. Например, $(url[0]) — имя проекта, $(url[1]) – имя подзадачи первого уровня и т.д. Для выделения части пути, используется синтаксис $(url[i:j]), где i и j — начальный и конечный индекс в пути.
$(soft_folder) — вспомогательная переменная, задается в разделе soft_folder и зависит от приложения, в котором создаются файлы. Используется для того, чтобы в путях и именах файлов можно было подставлять эту переменную.
$(task_name) — название выбранной задачи в Cerebro, т.е. последний элемент из перечня $(url[i]);
$(task_activity_name) — название вида деятельности выбранной задачи в Cerebro;
$(task_path) — путь до выбранной задачи в Cerebro, состоит из всех элементов $(url[i]), включая последний;
$(task_parent_name) — название родительской задачи по отношению к выбранной;
$(task_parent_path) — путь до родительской задачи в Cerebro.
Для подставляемых переменных существует возможность частичного определения и поддержка регулярных выражений.
Для выделения части переменной, используется синтаксис $(variable_name[i:j]), где i и j — начальный и конечный индекс в строке.
Например:
$(task_name[0:8]) — выделить часть с позиции 0 до 8.
При имени задачи "modeling_main[0:8]" получим "modeling".
Для выделения части переменной, также можно использовать регулярные выражения, при этом выделяется первая группа из регулярного выражения путём поиска первого совпадения по строке.
Синтаксис:
$(variable_name{/regexp/}), где regexp — регулярное выражение.
Например:
$(task_parent_name{/_(.*)/})-— выделить часть после символа ‘_’.
При имени родительской задачи "asset_main{/_(.*)/}" получим "main".
В форматированных строках можно также использовать переменные окружения операционной системы, если их названия не совпадают с перечисленными выше переменными. Формат их использования такой же: $(VARIABLE_NAME).
Раздел soft_folder
Опциональная переменная soft_folder определяет значение одноименного подменяемого параметра в зависимости от приложения, в котором используется плагин.
Структура элемента:
"soft_folder":
{
"maya": "",
"nuke": "",
...
}
В качестве ключа в наборе путей выступает внутреннее название одного из поддерживаемых приложений («maya», «nuke», «houdini» и т.д.), а значением является строка со значением переменной. Используется в разделе file_path для уточнения путей или имен файлов в зависимости от приложения, в котором создаются файлы.
Примечание:
Обратите внимание, что в ключах отсутствует cerebro, поскольку само приложение Cerebro не создает файлов. При выкладывании файлов из приложения Cerebro, значение soft_folder будет определяться по разрешению файла, соответствующего какому-либо из поддерживаемых приложений.
Раздел variables
Опциональная переменная variables содержит список из пользовательских переменных, которые могут использоваться в file_path в описании файловых путей.
Структура элемента:
"variables":
{
"my_assets_path": "/$(url[0])/assets",
...
}
Далее, описанные вами переменные можно использовать в file_path:
"file_path":
[
{
"publish": "$(my_assets_path)/$(task_parent_name)",
"version": "$(my_assets_path)/$(task_parent_name)/versions",
...
}
...
]
Можно также использовать переменные в списке variables внутри этого же раздела, например,
"variables":
{
"main_path": "/$(url[0])/$(task_parent_name)/$(task_name)"
"publish_path": "$(main_path)/publish"
"version_path": "$(main_path)/versions"
}
Раздел version_save
Переменная version_save позволяет определить , что делать с рабочим файлом при сохранении версии — сохранять, перемещать или всегда спрашивать пользователя. Параметр может быть определен для каждого приложения, в котором сохраняются версии.
Структура элемента:
"version_save":
{
"all": "",
"cerebro": "",
"maya": "",
"nuke": "",
...
}
Возможные значения:
"status_question" — при смене статуса спросить пользователя, сохранить ли рабочий файл;
"copy" — всегда сохранять рабочий файл и копировать его на место версии;
"move" — всегда перемещать рабочий файл на место версии;
"status_move" — при смене статуса перемещать рабочий файл на место версии;
"question" — всегда спрашивать пользователя.
Значение по умолчанию – "status_question".
Раздел trans_mode
Переменная trans_mode позволяет включить транслитерацию файловых путей, соответствующих задачам в Cerebro, причем в зависимости от приложения, в котором создаются или выкладываются файлы.
Структура элемента:
"trans_mode":
{
"all": "",
"cerebro": true,
"maya": true,
"nuke": true,
...
}
Возможные значения: true, false. По умолчанию транслитерация включена.
При включенном режиме транслитерации все буквы не латинского алфавита, содержащиеся в файловом пути, автоматически преобразуются в латиницу, а также пробелы преобразуются в знаки подчеркивания («_»). Например, вместо пути /Project 01/Моделирование будет использован путь /Project_01/Modelirovanie.
Раздел case_mode
Переменная case_mode позволяет определить регистр букв файловых путей, соответствующих задачам в Cerebro, причем в зависимости от приложения, в котором создаются или выкладываются файлы.
Структура элемента:
"case_mode":
{
"all": "",
"cerebro": ""
"maya": "",
"nuke": "",
...
}
Возможные значения: "", "lowercase", "uppercase", "capitalize". Если значение не указано это означает, что регистр букв в файловых путях будет повторять регистр соответствующих задач в Cerebro.
Раздел filters
Опциональная переменная позволяет задать параметры фильтрации задач для каждого приложения.
Для каждого приложения можно задать следующие фильтры:
"status_filter" — фильтры задач в Todo List по статусам;
"activity_filter" — фильтры задач в Todo List по видам деятельности;
"tree_hide_list" — список задач, которые должны быть перманентно скрыты в Todo List и Browser.
Структура элемента:
"filters":
{
"all":
{
"status_filter": []
"activity_filter": []
"tree_hide_list": []
},
"maya": {},
"nuke": {},
...
}
status_filter — переменная позволяет задать список статусов для фильтрации задач в Todo List. Стандартная фильтрация предполагает отображение задач во всех статусах, кроме остановленных (work stopped). Тип переменной - массив строк. В данном фильтре можно указать фильтрацию задач с отсутствием статуса — параметр No Status.
Пример:
"status_filter": ["No Status", "ready to start", "in progress"]
activity_filter — переменная позволяет задать список видов деятельности для фильтрации задач в Todo List. Тип переменной — массив строк. В данном фильтре можно указать фильтрацию по задачам без вида деятельности — параметр No Activity.
Пример:
"activity_filter": ["No Activity", "animation", "compose"]
tree_hide_list — переменная позволяет задать список задач, скрытых от пользователей плагина во вкладке Todo List и Browser. Тип переменной — массив строк. Поддерживаемые выражения:
{*} – любой элемент пути;
{?} – любой символ, кроме разделителя пути (/).
Пример:
"tree_hide_list" : ["/Project 1/{*}/Shot{?}{?}/animation", "/{*}/Task {?}/Work"]
Пример настройки фильтрации задач для приложения Maya:
"filters":
{
"maya":
{
"status_filter": ["No Status", "ready to start", "in progress"],
"activity_filter": ["No Activity", "animation", "compose"],
"tree_hide_list": ["/Project 1/{*}/Shot{?}{?}/animation", "/{*}/Task {?}/Work"]
}
}
Раздел mirada_path
Опциональная переменная позволяет задать полный путь до приложения Mirada для каждой операционной системы, предоставляя возможность добавлять миниатюры для прикладываемых файлов поддерживаемых форматов.
По умолчанию Tentaculo ищет Mirada в директории установленного приложения Cerebro.
Структура элемента:
"mirada_path":
{
"windows": "",
"linux": "",
"darwin": ""
}
Пример:
"mirada_path":
{
"windows": "C:/Program Files/Cerebro/mirada.exe"
}
Раздел processor
Опциональная переменная processors определяет набор python — скриптов, дополнительно выполняемых при совершении действий в плагине, таких как открытие файла, создание нового файла в задаче, сохранение версии, публикация отчёта (см. раздел Процессоры) и тп.