README.md

Средство работы с конфигурацией на DCL5.

Эта утилита создана с целью, организовать работу с конфигурацией через средство контроля версий (git, svn). И поэтому конфигурация представляется структурой человеко-читаемых и редактируемых текстовых файлов.

Так же утилита позволяет создавать пакеты, которые потом могут быть загружены и\или запущены в платформе. При пересечении имён скриптов со скриптами конфигурации, главнее считаются скрипты из пакета. Это позволяет модифицировать сузествуюзие конфигурации.

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

Подробно

Конфигурация представляется набором файлов со скриптами и папкой metadata, с дополнительной информацией, такой как идентификаторы меню, идентификаторы записей (скриптов), поля с командами, меню и т.д. Удаление какого либо объекта из папки не означает что утилита работы с конфигурацией удали его из базы. Как раз особенностью является, работа с неполной конфигурацией. Для удаляемых объектов существует специальная папка. Такая как, папка Delete для скриптов, в корне конфигурации. Исключение составляют элементы меню в ролях, там актуальным считается состояние всей папки.

Описание типов файлов, представляющих объекты и их данные, конфигурации.

.id - Файлы содержащие сведения о первичных ключах объектов. Необязательны. При создании новых объектов могут остутствовать. Изменять запрещено.

.md - Файлы с информацией об идентификаторах объектов конфигурации. Обязательны. При создании новых объектов должны указываться в соответствии с правилами создаваемых объектов. Разрешено ограниченно менять. Допустима произвольное именование только в ограниченом наборе объектов.

.show - Файл показывающий что объект разрешено показывать. Необязателен. Пустой, не содержит никакой информации. Работают только у ограниченного типа объеков. Допустима произвольное именование только в ограниченом наборе объектов.

.text - Содержит текст объекта. Необязателен. Разрешено менять для достижения необъодимых целей. Работают только у ограниченного типа объеков.

.title - Содержит текст в одну строку

.command - Содержит имя вызывающего скрипта. Фиксированное наименование. Необязателен. Доступен только у элементов меню.

.width - Содержит число с шириной элемента в пикселях экрана.

.user - Содержит идентификатор пользователя. Не обязателен.

.splt - Файл объекта разделителя меню (визуальный компонент). Может присутствовать только в меню со второго и выше уровней. Содержит параметризированные параметры размещения. Необязателен. Допустимо изменение.

.compress - Признак того, что данные хранящиеся в конфигурации хранятся сжатыми. Присутствует в разделе Templates (Шаблоны). Удаление этого файла и пересохранение данных приведёт к записи не сжатых данных и наоборот. Необязателен. Пустой, не содержит никакой информации. Работают только у ограниченного типа объеков. Допустимо произвольное именование.

Configuration.options - Файл с настройками конфигурации. Не обязательный. Фиксированное имя.

.dsp - Подписаные пакеты.

Во всех случаях, “переименование”, это только изменение имени файла, без расширения.


Структура конфигурации (дерево фалов):

  • [Корневой каталог]
    • [metadata]
      • [Menu]
        • [Элемент меню 1]
          • [Подменю 1]
            • [Меню третьего уровня 1]
              • Metadata.id
              • Metadata.md
              • Command.command
            • [Меню третьего уровня 2]
            • 14.splt
          • Metadata.id
          • Metadata.md
        • [Элемент меню 2]
        • [Элемент меню 3]
      • [Roles]
        • [Роль 1]
          • [MenuItems]
            • 44.md
            • 45.md
          • Role.id
          • Role.md
          • Role.show
        • [Роль N]
      • [Users]
        • [Пользователь 1]
          • [Roles]
            • 1.id
            • 99.id
          • User.id
          • User.md
          • User.show
        • [Пользователь N]
      • [ApplicationTitle]
        • Metadata.id
        • App.title
      • [Inits]
        • InitScript.id
        • InitScript.md
      • [Ends]
        • ByeScript.id
        • ByeScript.md
      • [Panels]
        • 23.id
        • 23.title
        • 23.text
        • 23.width
      • [Captions]
        • 1.id
        • 1.title
      • [GlobalParams]
        • [BaseUID]
          • BaseUID.id
          • BaseUID.title
          • BaseUID.user
          • BaseUID.text
        • [Param_N]
          • Param_N.id
          • Param_N.title
          • Param_N.text
          • Param_N.show
      • [Scripts]
        • Script_1.id
        • Script_2.id
        • Script_N.id
      • [Templates]
        • [TemplateN]
          • TemplateN.id
          • TemplateN.md
          • BinFile.bin
          • TemplateN.compress
    • [Delete]
      • [Id]
        • DeleteScrId.id
      • DeletedScriptN.text
    • [Packages]
      • [PackageName]
        • Script_1.text
        • Script_N.text
      • [MyPackage]
        • [Menu]
          • [Элемент меню N]
            • [Подменю N]
              • Metadata.md
              • Command.command
          • Metadata.md
        • Script_1.text
        • Script_N.text
        • SQLScript_1.sql
      • Configuration.options
    • Script_1.text
    • Script_2.text
    • Script_N.text
    • InitScript.text
    • ByeScript.text

Сводная таблица по типам файлов и их свойствам.

.id .md .show .text .title .command .width .user .splt
Обязателен нет да нет да да да (в конечных пунктах) нет если нужен если нужен
Можно редактировать нет да пуст да да пуст да да да
Пустой нет нет да нет нет да нет нет нет
Параметрический нет да - нет нет - нет нет да
Сырые данные да - - да да - да да да
Произвольное именование п.1 п.1 да п.1 п.1 команда нет да нет

п.1 - Если в дереве файлов выше, файл назван только цифрами, то его переименование запрещено.


Настройка параметров в DCL.ini

Параметры указываемые в файле конфигурации DCL.ini.

DisableLoad= - При значении 1 запрещает сохранение конфигурации в базу.

DisableUnLoad= - При значении 1 запрещает сохранение конфигурации на диск.

ScriptDir= - Папка с конфигурацией.

EasyIdentMode= - Простой режим работы с полем ‘Ident’ в файлах конфигурации, когда в поле ‘Ident’ пишется относительный номер начиная с 1, вместо абсолютного из диапазона для этого типа элемента.

Применять изменения конфигурации может только пользователь с правам Администратор.

Окно инструмента управления пакетами, с загруженным пакетом. И зависимым пакетом для обновления.

Сборка

Сборка осуществляется в среде Lazarus последних версий. Под ту\той ОС в которой нужно. Никаких зависимостей. Возможно придётся настроить параметры в проектном файле.

Зависимости только базовые из Lazarus.

Примечание

Этот проект является частью большой системы проектов о CRM DCL5.

Описание

Утилита работы с конфигурацией

Конвейеры
0 успешных
0 с ошибкой