Разработка карточек и библиотек карточек

Модификация карточек и решений, входящих в стандартную поставку системы Docsvision ("Базовые объекты" и "Управление процессами"), не допускается ни при каких условиях. Их исходный код не подлежит распространению.

Система может быть расширена путем добавления новых пользовательских модулей — карточек. Система изначально содержит ряд карточек, необходимых для её работы. Такие карточки называются системными объектами.

В логическом смысле карточка представляет собой описание пользовательского бизнес-объекта, содержащее в себе все необходимые данные и возможности для выполнения операций над ними. Физически карточка — это совокупность программных объектов (компонент), объектов в базе данных системы (таблиц и хранимых процедур), а также мета-описание структур данных в XML формате.

Каждая карточка относится к одному из типов. Тип карточки — логическое понятие, введённое с целью отличать разнородные карточки друг от друга. Каждый тип имеет уникальное имя и идентификатор, например, идентификатор типа карточки "Документ" имеет значение B9F7BFD7-7429-455E-A3F1-94FFB569C794 (идентификаторы стандартных карточек приведены в разделе "Описание полей стандартной карточки"). При необходимости не только различать отдельные карточки, но и группировать сходные карточки, типы карточек объединяются в библиотеки по их схожести для пользователя. Принадлежность типа карточки к какой-либо библиотеке определяется автором карточки.

Следует различать тип карточки и экземпляр карточки. Регистрация новой карточки в системе добавляет один новый тип, для которого впоследствии может быть создано неограниченное количество экземпляров карточек. Все созданные экземпляры будут принадлежать одному типу, то есть использовать для работы одни и те же программные компоненты и структуры данных.

Все экземпляры карточек обладают уникальными идентификаторами. Идентификаторы используются для получения данных от сервера, для ссылок на другие карточки и на данные карточек. Идентификатор — это обязательный атрибут объектов системы, поддерживаемый самой платформой (то есть разработчик карточки не должен явно резервировать место для хранения идентификаторов).

Программные компоненты карточки реализуют ряд предопределённых интерфейсов, предназначенных для их интеграции в среду Docsvision. Карточка может также реализовывать собственные интерфейсы (например, для связи с другими карточками). Как правило, модуль карточки также реализует пользовательский интерфейс, позволяющий пользователю просматривать и редактировать содержимое карточки.

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

Иерархия

Помимо карточек в системе определяется иерархия для их организации. Каждый узел иерархии — это контейнер-папка, содержащая ссылки на карточки. Папка также может содержать в себе подпапки. С точки зрения пользователя — это иерархия "папок, содержащих карточки и другие папки", что схоже с представлением размещения файлов в файловой системе. Администратор может задавать категории или типы карточек, которые могут храниться в конкретной папке. Вся информация о папках и их иерархии хранится в области данных одной из системных карточек — карточке папок.

Атрибуты

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

Подробнее папки и ярлыки рассмотрены в разделе Работа с папками и ярлыками

Представление

Содержимое папки может быть представлено пользователю несколькими способами, которые определяет администратор системы или сам пользователь. Отображение содержимого папки одним из способов называется представлением. Представление строится из отдельных элементов представления каждой карточки. Элемент представления — это набор данных карточки, который может отображаться в папке одновременно.

При помощи представлений и связанного с ними интерфейса пользователь может просматривать список карточек, осуществлять поиск, выбирать отдельные карточки и исполнять над ними определённые действия, в том числе, "открывать" карточки — запускать их пользовательский интерфейс. Карточка может поддерживать несколько вариантов пользовательского интерфейса или способов взаимодействия с пользователем — режимов. Информация о возможных режимах хранится в ярлыке карточки. В разных режимах над карточками могут выполняться различные операции, определённые разработчиком карточки.

Пользователь системы может создавать новые карточки известных системе типов или удалять существующие карточки. Для добавления новых типов карточек необходимо пройти несколько этапов и начать нужно с Разработки схемы данных.

Обратите внимание на то, что для работы с новой библиотекой карточек через Консоль настройки Docsvision, например, для обновления базы данных, необходимо реализовать модуль расширения Консоли настройки, передав в нем схему новой библиотеки.