CLConverter для AutoGRAPH.NET

Материал из TK
Версия от 17:13, 19 апреля 2016; Proffit Sascha (обсуждение | вклад) (Структура CarsList.ini файла)
Перейти к: навигация, поиск

Консольная утилита для автоматической конвертации карлистов от предыдущей версии AutoGRAPH (3.х или 4.х) в схему AutoGRAPH.NET. В числе возможностей:

  • поддержка различных режимов конвертации: один карлист в одну схему и множество карлистов в одну схему
  • автоматическая загрузка сконвертированной схемы в WebMap.NET
  • поддержка несколько шаблонов схем

Установка

CLConverter не требует установки, достаточно скачать последнюю версию отсюда и распаковать в локальный каталог.

Описание ключей командной строки

Ключ Описание
-tpl название шаблона. Все шаблоны хранятся в подкаталоге Templates
-source путь и маска файлов для конвертации. Пример: -source=C:\*.ini
-target-dir режим "конвертация в файлы схем" - путь к каталогу, в котором будут созданы файлы новой схемы может использоваться только один их этих ключей
-target-web режим "конвертация и загрузка в WebMap.NET"
-target-schema ключ указывается в виде -target-schema=ALL_IN_ONE - в этом случае будет создана одна схема с именем ALL_IN_ONE и в неё будут импортированы все найденные по маске source карлисты. Если данный ключ не указан - конвертация будет в виде "один карлист - одна схема"
-delete удалять исходные файлы после успешной конвертации может использоваться только один их этих ключей
-rename ключ указывается в виде -rename=.bak - в этом случае все успешно сконвертированные исходные файлы будут переменованы с расширением .bak

Файл CLConverter.exe.config

Данный файл используется для конфигурации CLConverter только в режиме -target-web

web-url
ссылка на WebMap.NET в виде http://demo.tk-nav.com
ini-section-custom название секции в ini-файле (карлисте), в которой будут располагаться все нижеследующие параметры
web-user
логин пользователя, под которым происходит выгрузка схему в веб (аккаунт должен иметь права "создавать/изменять организации")
web-pass
пароль пользователя
user-role-id ID роли, которая будет присвоена пользователю при создании (если указан логин и пароль)
ini-user-login если указан, то в данном параметра в карлисте хранится имя пользователя, который будет автоматически создан и дан ему доступ на эту организацию
ini-user-pass если указан, то в данном параметра в карлисте хранится пароль пользователя, который будет автоматически создан и дан ему доступ на эту организацию
ini-uid если указан, то этот параметр должен хранить GUID организации, с которой будет она будет создана в вебе. Для повторных выгрузок этот GUID однозначно идентифицирует организацию и повторно выгружает именно в неё. Если параметр отсутствует в карлисте - GUID автоматически формируется как хэш от имени карлиста (если имя карлиста не меняется - UID будет одинаковый при повторных выгрузках)

Структура CarsList.ini файла

[SETUP]
Name=Организация
[CustomData]       //Название CustomData в зависимости от настройки CLConverter.exe.config <add key="ini-section-custom" value="CustomData"/>
UserLogin=Логин    //Название UserLogin в зависимости от настройки CLConverter.exe.config <add key="ini-user-login" value="UserLogin"/>
UserPass=Пароль    //Название UserPass в зависимости от настройки CLConverter.exe.config <add key="ini-user-pass" value="UserPass"/>
UID=Guid           //Название UID в зависимости от настройки CLConverter.exe.config <add key="ini-uid" value="UID"/>

Guid (формат 00000000-0000-0000-0000-000000000000) нужно генерировать самостоятельно специальной программой или online генератором (к примеру https://www.guidgenerator.com)

Примеры использования

CLConverter -tpl=Template -source=C:\*.ini -target-dir=D:\AGSchema -delete

использовать шаблон Template и сконвертировать все .ini файлы из каталога C:\ в каталог D:\AGSchema, после чего удалить исходные файлы

CLConverter -tpl=Template -source=C:\*.ini -target-web -target-schema=NewSchema1 -rename=.bak

использовать шаблон Template и сконвертировать все .ini файлы из каталога C:\ в одну схему с именем NewSchema1, после чего загрузить её в WebMap.NET. У исходных файлов сменить расширение на .bak