Плагин для создания и хранения связей внешних систем с документами системы Кодекс
Общение внешних систем с плагином осуществляется по протоколу HTTP. Детальное описание в файле swagger.yaml.
Хранилище организовано в базе sqlite. При первом запуске внешняя система должна "представиться" хранилищу, сообщив свой тип и набор полей, которые будут храниться с информацией о связи.
Для этого отсылается POST запрос register
, который в случае успеха возвращает идентификатор системы. Идентификатор является необходимым параметром в каждом запросе хранилищу.
После того, как хранилище подготовлено для работы с внешней системой, оно позволяет
- создавать связи объектов внешних систем с документами в системе Кодекс
- удалять связи внешних систем с документами в системе Кодекс
- получать выборку из связей, или все имеющиеся связи между документами в системе Кодекс и внешней системой
Создание связи происходит в 2 этапа. На первом внешняя система извещает плагин о необходимости создать связь, отправляя параметры, по которым будет осуществлён поиск документа в системе Кодекс, и набор атрибутов документа внешней системы, который надо будет сохранить при связывании. Плагин создаёт временную запись в базе, и вызывает поиск документа в системе Кодекс (в зависимости от настроек - в браузере или в клиенте Кодекс). После того, как документ для связывания будет выбран через специальный пункт в контекстном меню в системе Кодекс, плагин зафиксирует связь между выбранным и внешним документами.