logo

ELMA Plugin for Visual Studio

В ELMA3 и ELMA4 добавлена возможность самостоятельной доработки системы. Эта возможность делает систему ещё более гибкой. Теперь каждая компания сможет добавить те свойства и объекты, которые необходимы именно ей. Таким образом можно создать свою систему, отвечающую всем требованиям и задачам вашей организации. Для разработки расширений используется среда разработки Visual Studio и ELMA Plugin.

ELMA Plugin — это расширение для среды разработки Visual Studio. Оно позволяет облегчить разработку расширений для системы ELMA, а также работать с объектной моделью системы с помощью редактора сущностей. Также плагин содержит готовые шаблоны веб-модуля для системы, шаблон серверной части и шаблон портлета. Подробнее обо всех этих компонентах, читайте далее.

Перед началом работы с ELMA Plugin обязательно прочитайте следующие статьи:

Также рекомендуем пройти курс обучения «Разработка расширений ELMA». Указанные статьи и курс обучения доступны для клиентов и партнёров компании ELMA.

Плагин представляет собой установочный пакет, который содержит в себе Elma VS2017/2019 Plugin (для ELMA4), Elma VS2010/2012/2013/2015/2017/2019 Plugin (для ELMA3), а также компонент ASP.NET MVC 5 (для ELMA4) и ASP.NET MVC 4 (ля ELMA3), необходимый для работы.

Установка плагина

Перед тем, как установить плагин на компьютер, требуется:

  • установленная система ELMA, версия которой совпадает с версией плагина (включая версию сборки). Следует отметить, что система ELMA редакции Community Edition не поддерживает работу с данным плагином;
  • установленная среда разработки Visual Studio версии от 2010 Professional (подойдет также SP1) до 2019 включительно или Visual Studio Community версии от 2013 до 2019 включительно.

Если Ваша система удовлетворяет всем данным требованиям, запускайте установку плагина и следуйте инструкциям установщика. По умолчанию плагин будет установлен по пути: *Путь до системы ELMA*/Dev. Рекомендуется не менять данные настройки.

Создание проекта. Шаблоны проектов

Плагин содержит готовые шаблоны проектов модулей ELMA:

  • веб-модуль ELMA;
  • модуль для системы ELMA.

После создания проекта по шаблону Модуль для системы ELMA обозреватель решения должен выглядеть следующим образом:

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

Второй проект MyElmaModule1.Web — это веб-часть модуля, в ней вы описываете веб-интерфейс, с которым работает пользователь.

После этого вы можете наполнять свой модуль логикой.

Инструмент сборки пакетов

С версии 3.2 система ELMA поддерживает пакетную систему для установки и обновления. Подробнее см. в соответствующей статье.

Плагин ELMA для Visual Studio 2010/2012/2013/2015/2017/2019 содержит инструмент, позволяющий собирать пакеты для проектов, открытых в данный момент в среде Visual Studio.

Для этого необходимо выбрать пункт меню ELMA — Менеджер сборки NuGet пакетов.

Сборка разбита на несколько шагов:

Шаг 1. Отметить проекты, для которых нужно собрать пакеты.

Шаг 2. Указать:

  • папку, в которую будут записаны созданные пакеты;
  • глобальный номер версии. Он используется в том случае, если в файле спецификации пакета в тэге version задано значение $version$;
  • настройку Автоматически добавлять зависимости от проектов в текущем решении. В случае, если настройка включена, в список зависимостей пакета будут записаны все проекты из решения Visual Studio, на которые есть ссылка в данном проекте. Диапазон версий: от текущей глобальной версии до следующей мажорной, например "[3.2, 3.3)";
  • настройку Автоматически добавлять зависимости из файла packages.config. В случае, если настройка включена, то в список зависимостей пакета будут записаны все пакеты, на которые есть ссылка в текущем проекте (данный список хранится в файле packages.config). Диапазон версий: от версии текущего используемого пакета до следующей минорной, например "[1.2.500, 1.2.501)".
  • флажок Добавить исходный код проекта: добавлять ли в пакет исходный код проектов.

Шаг 3. Запуск процесса сборки пакетов. Текущий статус отображается в диалоговом окне.

Добавление ссылок на сборки и конфигурации ELMA

Плагин содержит инструмент для добавления ссылок как на локальные сборки, так и на сборки конфигурации. Рассмотрим каждый случай подробнее.

Добавление ссылки на Конфигурацию ELMA

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

В контекстном меню Обозревателя решений выберите References(ссылки на сборки) — Добавить пакеты ELMA.

В данном окне нужно ввести параметры подключения к Вашему серверу ELMA:

  • адрес сервера (например localhost:7033, если путь до сервера с https, то https://localhost:7033);
  • логин;
  • пароль (не обязательный параметр).

Добавление ссылки на сборку ELMA

Помимо добавления ссылки на конфигурацию, вы можете добавить, ссылку на сборку ELMA.

В контекстном меню Обозревателя решений выберите References(ссылки на сборки) — Добавить пакеты ELMA — Пакеты ELMA.

В данном окне вы можете выбрать нужные сборки и добавить их в свой проект.

Установка/Обновление пакета в системе

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

Модули находятся в папке: ~\ELMA3-"Редакция системы"\Packages, именно в нее необходимо сохранить файлы модулей (файлы модулей имеют расширение .nupkg). Сохранение файлов модулей будет первым шагом на пути к успешной установке/обновлении.

Внимание!
После сохранения файлов в указанную выше папку сервер может перезапуститься! Если перезапуск не произошел автоматически, то перезапустите его вручную.

После перезапуска сервера добавленные модули можно найти в веб-приложении ELMA в разделе Администрирование — Компоненты на вкладке Доступные.

Установите флажок напротив нужного модуля и нажмите кнопку Выполнить действия в верхнем меню страницы.

После нажатия кнопки появится предупреждение:

Если вы готовы произвести обновление/установку модуля, нажмите кнопку ОК, в противном случае нажмите кнопку Отмена и вернитесь к этому шагу позднее.

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

В случае, если ваш модуль еще не установлен в системе, он будет иметь статус Не установлен. В этом случае нужно выбрать его и установить, перезапустив сервер, аналогично обновлению.

Распаковка пакета/Открытие проекта в Visual Studio 2010/2012/2013/2015/2017/2019

В том случае, если вам требуется доработать уже готовый модуль, скачайте его из папки ~\ELMA3-"Редакция системы"\Packages. Далее откройте его с помощью архиватора. Внутри архива вы найдете исходные файлы проектов. Для серверной части это папка src. Для веб-модуля это папка ELMA/WebModule. Откройте файлы в Visual Studio 2010/2012/2013/2015/2017/2019 и добавьте нужные вам проекты в решение. После того, как вы внесли изменения, можно вновь собрать модуль в пакет (см. инструкцию выше).

Ссылки на сборки ELMA!!!
Для того, чтобы исходные коды открылись корректно, требуется, чтобы версии плагина, системы, установленной на вашей машине, и рабочей системы были совместимы.

Процесс выгрузки компонента ELMA Store в MS Visual Studio состоит из нескольких шагов. Переход между шагами осуществляется с помощью кнопок и . Для отмены выгрузки необходимо нажать на кнопку .

Запуск процедуры выгрузки компонента осуществляется путем нажатия на кнопку ELMA — Менеджер сборки компонента ELMA Store, расположенную на верхней панели инструментов приложения MS Visual Studio.

Шаг 1. Формировать манифест

В открывшемся диалоговом окне необходимо ввести общую информацию и нажать на кнопку Далее. Поля отмеченные * являются обязательными для заполнения. Если введенное в поле Название значение содержит недопустимые в ОС Windows символы (" * : < > ? / \ |), то данные символы будут автоматически исключены из названия сгенерированного компонента.

Данное диалоговое окно практически полностью аналогично диалоговому окну создания компонента в Дизайнере ELMA на шаге 1. Различие заключается только в отсутствии в данном диалоговом окне поля Папка для выгрузки * и наличии кнопки Локальный / Удаленный, расположенной в блоке добавления зависимостей.

При нажатии на данную кнопку осуществляется открытие диалогового окна, в котором необходимо выбрать режим репозитория:

  • Локальный репозиторий — для выбора пути до папки с компонентами и пакетами необходимо нажать на кнопку Выбрать или вручную указать требуемый путь;
  • Удаленный репозиторий — выбор требуемого адреса сервера ELMA может быть осуществлен из выпадающего списка или введен вручную.

В зависимости от установленного переключателя изменяется название кнопки, расположенной в блоке добавления зависимостей.

Шаг 2. Выбор проектов и зависимостей

Данное диалоговое окно cхоже с окном создания компонента в Дизайнере ELMA на шаге 14. Различие заключается только в отсутствии в данном диалоговом окне флажка Выгрузить пакеты.

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

Шаг 3. Файлы

На этом шаге рекомендуется вложить файл с инструкцией по установке и настройке компонента, можно вложить и дополнительные файлы. Затем нажмите на кнопку Далее.

Шаг 4. Настройка параметров

В этом окне выберите папку, в которую будет сохранен компонент, нажав кнопку Выбрать…. В данной папке будет размещен файл компонента ELMA Store, имеющий расширение .elma3 или .elma4.

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

Для продолжения выгрузки нажмите кнопку Далее.

Шаг 5. Построение компонента ELMA Store

На данном шаге происходит выгрузка конфигурации — запись в файл экспорта данных, выбранных на предыдущих шагах. Данное диалоговое окно содержит информацию о ходе процесса экспорта данных.

Для завершения процесса экспорта нажмите кнопку Завершить. После этого файл компонента с расширением .elma3 или .elma4 появится в папке, указанной на Шаге 4.

Размещение компонента в ELMA Store доступно только партнерам компании ELMA. Подробнее о размещении компонента в ELMA Store можно прочитать в партнерском разделе.