IONDV. Studio

IONDV. Studio является приложением IONDV. Framework. Может использоваться как отдельное приложение node.js или как десктоп-приложение. Развернуть приложение можно с помощью демо-версии студии. Регистрация и учетная запись не требуются.

Описание

IONDV. Studio - приложение для визуального создания и редактирования метаданных (таких как классы, навигация, представления, бизнес-процессы, портальные формы), которые разворачиваются как веб-приложение IONDV. Framework.

Как запустить приложение в Студии

Смотрите видео, о том, как развернуть в IONDV. Studio уже готовое приложение из репозитория.

  • Выберите пример готового приложения с github. Например, Nutrition-Tickets.
  • Скачайте архивный файл приложения и откройте его в приложении.
  • Нажмите кнопку воспроизведения в правом верхнем углу экрана, чтобы запустить приложение.
  • Приложение начнет развертывание. Это занимает примерно 80 секунд.
  • Получите ссылку на приложение и нажмите на нее.
  • Войдите в приложение, используя логин demo и пароль ion-demo.

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

Как создать приложение в студии

В Студии также можно создавать приложения. Смотрите видео о создании простого приложения IONDV. Nutrition-tickets в IONDV. Studio. Инструкция доступна в репозитории IONDV. Nutrition-Tickets.

  • Нажмите на + чтобы приступить к созданию приложения. В всплывающем окне заполняем обязательные поля. Вкладка приложения, которое вы создали, появляется в левом верхнем углу и управляется по типу браузера.
  • Появляется боковое меню - это рабочая панель приложения. Раздел Классы нужен для создания Классов и Атрибутов.
  • Создание приложения начинается с Класса. Нажимаем на Класс и в рабочем пространстве нажимаем +Класс. В всплывающем окне заполняем обязательные поля. Описание полей тут.
  • У нас появился Класс и автоматически создался Атрибут ID.
  • Когда Класс выделен, можно добавить к нему Атрибуты, нажав на +Атрибут. Описание свойств и типов Атрибута тут.
  • Когда у вас есть минимум 2 Класса, можно настроить между ними связи. Это выполняется через настройку типа данных при создании атрибута Класса. Основные типы - Коллекция и Ссылка. Заданный тип данных у Атрибута отразится в рабочей области в виде связующей линии.

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

Приложение в IONDV. Studio

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

  • Используйте демо-версию студии.
  • Запустите локально как приложение IONDV. Framework, получив исходные коды на github. После чего соберите и разверните его согласно инструкции приложений Framework.
  • Откройте в браузере по ссылке http://localhost:8888.
  • Запустите локального как отдельное приложение node.js согласно инструкции ниже.
  • Запустите как десктоп приложение, согласно инструкции ниже.
  • Запустите в docker-конейтнере выполнив docker run -d -p 8888:8888 –name studio iondv/studio.

Откройте в браузере по ссылке http://localhost:8888.

Затем:

  • В Студии разработайте Ваше приложение, путем создания классов, навигации.
  • Обратите внимание, что данные хранятся в локальном репозитории браузера. Экспортируйте приложение как zip-архив.
  • Скачайте последнюю версию IONDV. Framework и модуля IONDV. Registry module - получить их можно c репозиториев GitHub Framework и Registry.
  • Следуйте типовой инструкции развертывания приложения из git, за исключением приложения - вместо приложения разверните в папку applictions ваш архив с приложением.
  • Далее необходимо собрать и развернуть приложение, согласно инструкции IONDV. Framework.

Варианты использования Студии

Отдельное приложение node.js

Преимуществами использования отдельного приложения является отсутствие необходимости в базе данных и в IONDV. Framework.

  • Выполните команду git clone https://github.com/iondv/studio.git. Имените локальную дирректорию на studio.
  • Выполните команду npm install для установки всех необходимых зависимостей, включая локальное приложение сборки gulp.
  • Пожалуйста проверьте, что глобально установлен Gulp версии 4.0.
  • Выполните команду gulp build для сборки приложения.
  • Запустите приложение командой npm start или node www (node standalone для запуска приложения как [standalone](/readme-standalone_ru.md).)
  • Перейдите в браузере по адресу http://localhost:8888.

Десктоп приложение Студии (node-webkit)

Перед формированием десктоп приложения Студии, соберите Отдельное приложение node.js

Запуск новой студии на локальном сервере node-webkit

  1. Скачайте последнюю NORMAL версию node-webkit c сайта https://nwjs.io/.
  2. Распакуйте содержимое архива в любую удобную папку.
  3. Воспользуйтесь одним из имеющихся способов для того, чтобы соеденить приложение и node-webkit.

Примеры описаны в статье https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps в пунктах 2a и 2b.

Более удобным является вариант воспользоваться пакетом nw-builder:https://github.com/nwjs-community/nw-builder. Пример команды: nwbuild ./studio -p win64 -v 0.34.0 -o ./destination. Стоит отметить, nw-builder сам скачает необходимую версию node-webkit.

В результате вы получите ваше приложение в папке с dll, которые использует nwjs. Запустить приложение можно с помощью nw.exe файла (название может отличаться).

Формирование одного единственного исполняемого файла

  1. Скачайте Enigma virtual box с сайта https://enigmaprotector.com/en/downloads.html, установите и запустите
  2. Занесите в первое поле путь к исполняемому файлу вашего приложения. (Можно выбрать)
  3. Занесите во второе поле путь сохранения исполняемого файла.
  4. Занесите в поле Files ВСЕ файлы и папки из директории вашего приложения кроме исполняемого файла .exe.
  5. В меню Files options, поставьте галочку на путкте Compress.
  6. Нажмите Process и дождитесь результата.

External App Tracker

Вся настройка в deploy.json -> globals -> externalAppTracker

{
  "items": [{
    "name": "dnt",
    "title": "Develop and test",
    "url": "https://github.com/iondv/develop-and-test/archive/master.zip"
  }, {
    "name": "crm-en",
    "title": "CRM EN",
    "url": "https://github.com/iondv/crm-en/archive/master.zip",
    "language": "en"
  }, {
    "name": "crm-ru",
    "title": "CRM RU",
    "url": "https://github.com/iondv/crm-ru/archive/master.zip",
    "language": "ru"
  }],
  "front": "/themes/portal/static/archives/",
  "storage": "applications/studio/themes/portal/static/archives/",
  "tempZip": "applications/studio/temp.zip",
  "enableUpdate": false,
  "updateInterval": 86400
}
  • item.name - задает имя файла при сохранении архива
  • item.title - отображается на клиенте при выборе приложения
  • item.url - удаленный адрес архива приложения
  • item.front - адрес архива для клиента, если не указан, создается по общей настройке и имени
  • item.language - если не указан, то приложение отобразится в любом языке
  • storage - место сохранения архивов приложений
  • front - ссылка до архивов с клиента
  • tempzip - временный файл при удаленной закачки с другого сервера
  • enableUpdate - вкл/выкл синхронизацию с удаленным сервером. При старте сервера проверяется наличие архивов, и если нет, то скачиваются с указанных URL. По истечению периода updateInterval архивы обновляются
  • updateInterval - период повторной загрузки архива на сервер (секунды)

На клиенте можно указать custom URL, но нужно иметь в виду, что браузер разрешает загрузки с чужих хостов только явно разрешенные через Access-Control-Allow-Origin

Оригинальная инструкция на английском представлена на сайте https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps в пункте An alternative way to make an executable file in Windows