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¶
- Скачайте последнюю NORMAL версию node-webkit c сайта https://nwjs.io/.
- Распакуйте содержимое архива в любую удобную папку.
- Воспользуйтесь одним из имеющихся способов для того, чтобы соеденить приложение и 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 файла (название может отличаться).
Формирование одного единственного исполняемого файла¶
- Скачайте Enigma virtual box с сайта https://enigmaprotector.com/en/downloads.html, установите и запустите
- Занесите в первое поле путь к исполняемому файлу вашего приложения. (Можно выбрать)
- Занесите во второе поле путь сохранения исполняемого файла.
- Занесите в поле Files ВСЕ файлы и папки из директории вашего приложения кроме исполняемого файла .exe.
- В меню Files options, поставьте галочку на путкте Compress.
- Нажмите 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