Предварительная подготовка плагина перед размещением в Cerebro заключается в настройке входящего в его состав конфигурационного файла path_config.json. Это необходимо для корректной загрузки файлов вместе со всеми зависимостями в используемых вами графических программных продуктах, а также чтобы задать соответствие между структурой задач в проектах Cerebro и структурой директорий на файловом сервере.

Конфигурационный файл в формате JSON расположен в корневой папке плагина и состоит из следующих разделов:

  • список project_path – перечень путей до проектов;
  • список file_path – описание структур директорий внутри проектов.
  • переменная soft_folder – директория для хранения версий файлов, значение подменяется в зависимости от графического приложения, в котором запускается плагин.
  • список processors – описание набора дополнительных Python-скриптов, выполняемых плагином при определенных событиях.
  • переменная net_mode – определяет режим работы с файлами для каждого приложения.
  • переменная trans_mode – включает режим транслитерации файловых путей.
  • переменная mirada_path – содержит путь до приложения Mirada, которое может быть использовано для генерации эскизов медиафайлов.
  • переменная status_filter – содержит перечень статусов для фильтрации списка задач.

Разделы project_path и file_path должны обязательно присутствовать в конфигурационном файле, а остальные добавляются по мере необходимости. Отсутствие того или иного поля в любом из разделов означает, что соответствующий ключ принимает значение по умолчанию (для строковых полей – пустая строка).

Раздел project_path

Список project_path должен содержать хотя бы один элемент (по умолчанию) и состоит из структур вида:

{
  "project_name": "",
  "task_activity": "",
  "paths": [
      "/your_server_name/front/connector.files",
      "/Volumes/front/connector.files",
      "//your_server_name/front/connector.files"
  ]
}

Примечание

Здесь и далее вместо «your_server_name» нужно подставлять сетевое имя вашего файлового сервера.

Каждая из структур описывает возможные файловые пути до корневой директории проекта и содержит следующие поля:

  • project_name – имя проекта в Cerebro; если в качестве значения задана пустая строка, то данная структура содержит значения по умолчанию для проектов, не описанных в остальных структурах списка;
  • task_activity – название вида деятельности, если от него зависит путь до корневой директории; пустое значение также означает, что описанные пути применимы по умолчанию к задачам с любым видом деятельности.
  • paths (обязательное поле) – набор возможных путей до корневой директории, например, для различных операционных систем.

Раздел file_path

Второй раздел конфигурационного файла file_path должен содержать хотя бы один элемент (по умолчанию) и состоит из структур вида:

{
  "folder_path": "",
  "task_activity": "",
  "name": "$(task_name)",
  "name_editable": "False",
  "publish": "$(task_parent_path)",
  "version": "$(task_parent_path)/versions",
  "ver_prefix": "_v",
  "ver_padding": "3",
  "local": "$(task_parent_path)",
  "publish_status": ""
}

Каждая из структур описывает набор вложенных папок и шаблон имени файла, применяемые для хранения версий файлов, и содержит следующие поля:

  • folder_path – путь в Cerebro до начала ветки проекта (обычно название проекта или раздела в проекте) или пустая строка, которая означает структуру со значениями по умолчанию для любой задачи/файла;
  • task_activity – название вида деятельности, если от него зависит именование файлов; пустое значение также означает, что описанные параметры применимы по умолчанию к задачам с любым видом деятельности.
  • name (обязательное поле) – форматированное имя файла;
  • name_editable (по умолчанию «False») – признак возможности задать вручную имя файла при его добавлении к задаче.
  • publish (обязательное поле) – форматированный путь до директории, содержащей основную опубликованную версию медиафайла;
  • version (обязательное поле)– форматированный путь до директории с версиями файла;
  • ver_prefix – добавочный элемент в имени файла нумерованной версии;
  • ver_padding (по умолчанию «3») – количество знаков в номере версии;
  • local (по умолчанию совпадает с publish) – форматированный путь до директории, содержащей рабочую версию (local version) медиафайла;
  • publish_status – имя статуса задачи, который будет предлагаться по умолчанию в окне публикации отчета.

Если не задано значение поля publish или version, то плагин не будет создавать, соответственно, основную или нумерованную версию файла.

Примечание

Поле name в разделе file_path может содержать массив из нескольких значений (например, «name»: [«$(url[2])», «$(url[3])», «$(task_name)»]). В таком случае при публикации файла в Cerebro пользователь сможет выбрать один из вариантов имени для него из выпадающего списка.

Форматированные пути и имена могут содержать следующие подставляемые переменные:

  • $(url[0]), $(url[1]) … $(url[i]) – имя отдельного элемента из пути до выбранной задачи в Cerebro, где i – уровень вложенности элемента, начиная от корня проекта. Например, $(url[0]) – имя проекта, $(url[1]) – имя подзадачи первого уровня и т.д.
  • $(soft_folder) – директория для хранения файлов, задается переменной в разделе soft_folder (см. ниже) и зависит от графического хост-приложения;
  • $(task_name) – название выбранной задачи в Cerebro, т.е. последний элемент из перечня $(url[i]);
  • $(task_path) – путь до выбранной задачи в Cerebro, состоит из всех элементов $(url[i]), включая последний;
  • $(task_parent_name) – название родительской задачи по отношению к выбранной;
  • $(task_parent_path) – путь до родительской задачи в Cerebro.

В форматированных строках можно также использовать переменные окружения операционной системы, если их названия не совпадают с перечисленными выше переменными. Формат их использования такой же: $(VARIABLE_NAME).

Раздел soft_folder

Переменная soft_folder позволяет задать директорию для хранения версий, причем возможны различные значения в зависимости от графического приложения, в котором запускается плагин. Данную переменную можно использовать в форматированных путях в других разделах конфигурационного файла.

Структура элемента soft_folder:

{
  "maya": "",
  "nuke": "",
  "houdini": "",
  "blender": "",
  "cinema4d": "",
  "3dsmax": "",
  "katana": "",
  "revit": "",
  "autocad": "",
  "tbharmony": "",
  "photoshop": "",
  "aftereffects": "",
  "indesign": "",
  "illustrator": "",
  "animate": "",
  "premiere": ""
}

В качестве ключа в наборе путей выступает внутреннее название одного из поддерживаемых графических приложений («maya», «nuke», «houdini» и т.д.), а значением является строка с именем директории.

Раздел processors

В разделе processors вы можете задать набор дополнительных Python-скриптов, которые будут исполняться при определенных событиях, возникающих в процессе работы плагина.

Перечень обрабатываемых событий:

  • открытие файла – имя начинается с «open»;
  • создание нового файла в задаче – имя начинается с «new»;
  • сохранение версии – имя начинается с «version»;
  • публикация отчёта – имя начинается с «publish»;
  • вставка объектов по ссылке – имя начинается с «link»;
  • встраивание объектов – имя начинается с «embed».

Для каждого типа операций предусмотрено 3 точки вызова функции обработчика относительно основной функции:

  • до выполнения основной функции – имя оканчивается на «_pre»;
  • замена основной функции – имя оканчивается на «_replace»;
  • после выполнения основной функции – имя оканчивается на «_post».

Структура элемента processors (показаны только обработчики для открытия файла):

{
  "maya": "",
  "nuke": "",
  "houdini": "",
  "blender": "",
  "cinema4d": "",
  "3dsmax": "",
  "katana": "",
  "revit": "",
  "autocad": "",
  "tbharmony": "",
  "photoshop": "",
  "aftereffects": "",
  "indesign": "",
  "illustrator": "",
  "animate": "",
  "premiere": ""
}

Данная структура описывает набор дополнительных скриптов для одного из поддерживаемых графических приложений и содержит следующие поля:

  • переменная soft_name – внутреннее название одного из поддерживаемых графических приложений, для которого указан набор дополнительных скриптов.
  • массив элементов, описывающих обработчики, каждый из которых содержит два поля:
     - script_path – полный путь до Python-скрипта с функцией обработки;
     - function – имя функции внутри скрипта.

Параметры функции-обработчика

Функции-обработчики из дополнительных скриптов должны соответствовать определенным соглашениям вызова, а именно:

  • принимать в качестве аргументов два параметра - Python-словаря (подробнее см. ниже);
  • возвращать второй из словарей, возможно модифицированный.

Первый аргумент функции одинаков для всех обработчиков и содержит следующие элементы:

  • task_id – ID задачи в Cerebro;
  • task_name – имя задачи;
  • task_parent_id – ID родительской задачи;
  • task_parent_path – путь родительской задачи в Cerebro;
  • task_status_id – ID текущего статуса задачи;
  • task_status_name – название текущего статуса задачи;
  • task_activity_id – ID вида деятельности задачи;
  • task_activity_name – название вида деятельности задачи;
  • current_user_id – ID текущего пользователя;
  • current_user_name – отображаемое имя текущего пользователя.

Второй аргумент функции бывает разным в зависимости от типа обрабатываемого события:

  • для всех событий создания и открытия файла – словарь со следующими элементами:
     - original_file_path – полный путь до исходного файла;
     - local_file_path – полный путь до рабочего файла.
  • для всех событий сохранения версии и публикации отчёта – словарь со следующей структурой:
{
  "local_file_path": "",
  "version_file_path": "",
  "publish_file_path": "",
  "report":
  {
    "plain_text": "",
    "work_time": ""
  },
  "attachments":
  {
    "file_path": [ paths to file thumbnails ],
    ...
  },
  "links":
  {
    "file_path": [ paths to file thumbnails ],
    ...
  }
}

, где
 - local_file_path
– полный путь до рабочего файла;
 - version_file_path – полный путь до публикуемого файла версии;
 - publish_file_path – полный путь до публикуемого основного файла (используется только для событий публикации отчета);
 - report – данные для отчета в Cerebro, состоит из двух полей: текста отчета и времени работы в минутах;
 - attachments – набор файлов, прикрепляемых к отчету, содержит список путей до файлов;
 - links – набор файлов, прикрепляемых к отчету по ссылке, содержит список путей до файлов.

  • для всех событий вставки по ссылке и встраивания объектов – словарь со следующими элементами:
     - file_path – полный путь до импортируемого файла.

Раздел net_mode

Переменная net_mode позволяет задать режим работы с файлами, причем возможны различные значения в зависимости от графического приложения, в котором запускается плагин.

Структура элемента net_mode:

{
  "maya": "",
  "nuke": "",
  "houdini": "",
  "blender": "",
  "cinema4d": "",
  "3dsmax": "",
  ...
}

Возможные значения переменной для того или иного приложения:

  • local – для работы во внутренней сети компании, перед обращением к файлам происходит их копирование в локальную директорию на рабочей станции;
  • network (значение по умолчанию) – для работы во внутренней сети компании, происходит доступ к файлам непосредственно в сетевом каталоге без копирования в локальную директорию;
  • remote – для удаленной работы, доступ к файлам происходит через HTTP, а отправка в хранилище через службу Cargador.

Раздел trans_mode

Переменная trans_mode позволяет включить транслитерацию файловых путей, соответствующих задачам в Cerebro, причем возможны различные значения в зависимости от графического приложения, в котором запускается плагин.

Структура элемента trans_mode:

{
  "maya": "",
  "nuke": "",
  "houdini": "",
  "blender": "",
  "cinema4d": "",
  "3dsmax": "",
  ...
}

Возможные значения: False (по умолчанию), True.

При включенном режиме транслитерации все буквы кириллицы, содержащиеся в файловом пути, автоматически преобразуются в латиницу, а также пробелы преобразуются в знаки подчеркивания («_»). Например, вместо пути /Project 01/Моделирование будет использован путь /Project_01/Modelirovanie.

Раздел mirada_path

Переменная mirada_path позволяет задать полный путь до приложения Mirada (см. раздел «Утилита Mirada»), после чего данная утилита будет использована при генерации эскизов для публикуемых медиафайлов.

Тип переменной – строка. Пример:

"mirada_path": "C:/Program Files/Cerebro/mirada.exe"

Раздел status_filter

Переменная status_filter позволяет задать список статусов для фильтрации списка задач (см. раздел «Работа со списком задач»). По умолчанию фильтрация предполагает отображение задач во всех статусах, кроме остановленных («task stopped», подробнее см. раздел «Статусы задач»).

Тип переменной – массив строк. Пример:

"status_filter": ["in progress", "pending review"]

<< Назад     Вперед >>

Вы нашли ответ?