Настройка системы с использованием командной строки осуществляется путем отправки соответствующего HTTP-запроса к REST-сервису системы.
Для отправки запросов можно использовать популярную кроссплатформенную программу Curl (доступна для Bash, Windows PowerShell и т.д.).
Для выполнения любых настроек системы необходима первичная авторизация в системе. Настройки должны выполняться от имени пользователя с правами администратора.
Авторизация в системе осуществляется путем указания токена авторизации в заголовке Authorization.
Для получения токена необходимо выполнить POST запрос к эндпоинту api/user/login в котором передать пару логин-пароль пользователя, от имени которого должна происходить авторизация.
Где: site_url – адрес сайта Vitro Username: {my_login} – логин пользователя Password: {my_password} – пароль пользователя В ответ будет получен JSON в котором содержится список атрибутов пользователя и их значение, а также атрибут “token” значение которого потребуется указывать в заголовке “Authorziation” при последующих обращениях к системе. Также в ответе содержится атрибут "expires", в котором указана дата действия полученного токена и после которой его необходимо будет получить заново.
|
Базовой сущностью в системе Vitro является элемент. Частными случаями элементов являются:
Создание или изменение любых элементов системы происходит путем отправки POST-запроса к эндпоинту api/item/update, в котором передается список создаваемых элементов, с указанием обязательных параметров:
Также могут быть указаны дополнительные параметры:
Для примера приведено создание элемента типа «Папка» с именем «Папка_1» в списке «Файлы» внутри другого элемента этого списка.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “966e62c5-a803-49a0-a1be-e680d130c481” - Guid списка «Файлы» parent_id: “5164dc08-adf0-e80d-89e8-3f0ca000ed98” - Guid элемента, внутри которого хотим создать наш элемент content_type_id: “ea164a18-7eb5-44f7-a638-5bb7c05221e6” – Guid типа “Папка” name: “Папка_1” – название типа элемента |
Для примера приведено изменение имени элемента созданного в предыдущем примере.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “966e62c5-a803-49a0-a1be-e680d130c481” - Guid списка «Файлы» parent_id: “5164dc08-adf0-e80d-89e8-3f0ca000ed98” - Guid элемента, внутри которого хотим создать наш элемент id: “4673dc08-3441-f03d-9e46-5866102fa3a2” - Guid элемента, который требуется изменить content_type_id: “ea164a18-7eb5-44f7-a638-5bb7c05221e6” – Guid типа “Папка” name: “Папка_2” – новое название типа элемента |
Создание атрибута происходит путем создания элемента требуемого типа в списке "Атрибуты" через отправку POST-запроса, в котором передается список создаваемых атрибутов, с указанием их родительского списка, типа элемента (атрибута) и набора свойств и их значений, соответствующих указанному типу атрибута.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “a01f8ee1-a912-41b9-b87b-312d6583e38a” - Guid списка "Атрибуты" content_type_id: {attribute_type_id} – Guid типа атрибута name: {attribute_name} – название атрибута internal_name: {attribute_internal_name} – системное имя атрибута в формате snake_case помимо указанных обязательных свойств (имя и системное имя) можно указать также остальные, специфичные для создаваемого типа атрибута свойства и их значения. |
При необходимости можно получить список доступных для создания типов атрибутов и их свойств через POST-запроса к эндпоинту api/contenttype/getByList
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации a01f8ee1-a912-41b9-b87b-312d6583e38a – Guid списка "Атрибуты" |
Создание типов элементов системы происходит путем создания элемента в списке "Тип контента" через отправку POST-запроса, в котором передается список создаваемых элементов, с указанием родительского списка, родительского типа элемента (элемента от которого создаваемый наследует атрибуты), типа создаваемого элемента и набора атрибутов и их значений, соответствующих указанному типу элемента.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “27155e95-1874-47f7-9ef7-042e3631159f” - Guid списка "Тип контента" content_type_id: “ea164a18-7eb5-44f7-a638-5bb7c05221e6” – Guid типа элемента “Тип контента” name: {element_name} – название создаваемого типа элемента folder: {true/false} – является ли создаваемый тип элемента папкой description: {element_description} - описание типа элемента |
Добавление атрибутов к типу элемента происходит путем создания элемента типа «Поля типов контента» (связь типа элемента и атрибута) в списке «Поля типов контента» через отправку POST-запроса, в котором передается список элементов, для которых требуется добавить атрибут, с указанием типа элемента и типа добавляемого атрибута.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “d702e382-b9a9-456b-b94f-66ad1df2eb0e” - Guid списка “Поля типов контента” content_type_id: “c0639c62-a384-4676-8002-5d9edcfdc473” – Guid типа элемента “Поля типов контента” content_type: {id_elem_to_be_updated} – Guid типа элемента к которому требуется добавить атрибут field: {id_attribute_to_be_added} - Guid типа добавляемого атрибута name: {element_name} – название создаваемого элемента required: {true/false} – является ли добавляемый атрибут обязательным read_only: {true/false} – является ли добавляемый атрибут редактируемым |
Создание списка происходит путем создания элемента типа «Список» (связь типа элемента и атрибута) в списке «Списки» через отправку POST-запроса, в котором передается список создаваемых элементов (списков), с указанием их названий и других паарметров.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “3c36345d-599b-4711-a290-66e48015ab32” - Guid списка “Списки” content_type_id: “cbdb9089-49c4-4742-8ce6-5f1f7a01e679” – Guid типа элемента “Список” name: {list_name} – название создаваемого списка table_name: {list_table_name} – системное имя таблицы, создаваемой в БД для данного списка. Имя таблицы должно указываться в формате snake_case. hidden: {true/false} – является ли создаваемый список скрытым document_archive: {true/false} – является ли создаваемый список хранилищем файлов |
Для того, чтобы список мог содержать элементы определенных типов их необходимо добавить к нужному списку. Добавление элементов к типу элемента происходит путем создания элемента типа «Типы контента списка» (связь списка и типа элемента) в списке «Типы контента списка» через отправку POST-запроса, в котором передается список со значениями Guid привязываемых элементов и Guid списков, к которым эти элементы привязываются.
Где: site_url – адрес сайта Vitro Authorization: {token} – токен, полученный на этапе авторизации list_id: “a15fc818-68bf-4593-ad80-e098bea64d6c” - Guid списка “Типы контента списка” content_type_id: “72a9a18a-c27a-448c-a88e-c7e5f83d287e ” – Guid типа элемента “Типы контента списка” content_type: {id_elem_to_be_linked} – Guid типа элемента который требуется привязать к списку list: {id_list_to_be_linked} - Guid списка, к которому привязывается элемент name: {element_name} – название создаваемого элемента (связи) |