Documentation for the IONDV.Framework platform¶
JS framework for rapid business application development
Эта страница на Русском
IONDV. Framework¶
Description¶
IONDV. Framework - это опенсорный фреймворк на node.js для разработки учетных приложений на основе метаданных в формате JSON/YAML и отдельных функциональных модулей. Визуальный редактор Studio позволяет создавать приложения по технологии “no code” и собирать приложение с веб-сервисами REST-API (модуль rest). Ключевой модуль registry является универсальным средством представления и редактирования данных, обработки их по бизнес-процессам.
На видео технология разработки и сборки приложения.
Free Demos¶
For now, we have three demos to show you:
- Studio - специализированная IDE созданная как приложение iondv, для визуальной (no code) разработки приложений на IONDV. Framework. GitHub Репозиторий. Видео инструкция и текстовая по созданию приложения при помощи ION. Studio.
- Telecom - приложение по организации учета, хранения и отображения данных о наличии услуг связи (интернет, сотовая связь, телевидение, почта и др.) в населенных пукнтах региона. GitHub Repo
- DNT - приложение для разработки и тестирования функциональности фреймворка, в котором каждая учетная сущность отражает тим метаданных, например класс “строка”, или класс “коллекция”. Это позволяет изучать возможности фреймворка через приложение. GitHub Репозиторий.
- War Archive (in Russian) - is the IONDV. Framework web-application designed to store, group and demonstrate the data based on archival documents about Great Patriotic War (World War II). `GitHub Repo`_.
- Project Management - приложение по организации проектной деятельности региональных ОГВ , целью которой является контроль результатов, соблюдение и сокращение сроков их достижения, эффективное использование временных, человеческих и финансовых ресурсов, принятие своевременных и обоснованных управленческих решений. GitHub Repo
- CRM - coming soon on GitHub.
The login for access is - demo and the password is - ion-demo. No registration required.
Typical applications¶
Фреймворк - конструктор веб-приложений любой специфики, так как преметная область определяется структурой метаданных, описывающих поведение приложение. Например можно создать приложения
- CRM - управления отношения с клиентами;
- учет и управление ресурсов предприятия;
- автоматизация бизнес-процессов организации и документооборота;
- сбор и хранение любых данных, например метрик оборудования (IoT);
- представление данных в виде порталов;
- REST-API для SPA приложений;
- REST-API и бекграунд для мобильных приложений;
Top features¶
IONDV. Framework provides the following functionality:
- descriptive metadata into the data storage structure in the DBMS;
- functionality to work with various DBMS (ORM technology);
- authorization in a system with different policies, by default oath2, with an open, configurable API for connecting passport library authorization modules which provides up to 500 different authorization policies;
- securing access to data - static securing to data types, to navigation, to stages of business processes, to actions on a form; dynamic securing- through the conditions in the data that the profile of the current user must correspond to (belonging to the unit or organization specified in the object, group or other conditions); through url; providing exceptions in authorization and security by url or for a special user;
- connection of modules providing additional functionality and implemented through access to the kernel interfaces (APIs);
- providing import, export of data in the system, metadata, security from files;
- providing interaction with the file system for storing data, including external file storages, such as nextcloud;
- calculating values with formulas and caching this data;
- providing eager loading and data filtering in connected collections;
- caching requests and sessions in memcached, redis;
- scheduled tasks;
- notification of users by events.
Структура фреймворка: core + metadata + modules = application
На рискнуке:
- ioncore - ядро приложения в виде IONDV. фреймворка
- meta class, meta view, meta navigation, meta workflow, meta security - функциональные метаданные приложения - структуры, представления, навигации, бизнес-процессов и безопасности соответственно
- registry module - подлкючаемые функциональные модули, например модуль registry для просмотра и редактирования данных
Чуть ниже представлены дополнительные типы меты и модули. Они представляют собой дополнительную функциональность и применяются в соответствии с приложением. Зависимости приложения смотрим в файле package.json
.
Так как приложение - это метаописание его поведения в файлах формата JSON (YAML) и функциональный код и HTML шаблоны расширяющие типовую функциональность - то с ним удобно работать через репозиторий версий git. Посмотрите примеры на Github
Подробнее о функциональных возможностях фреймворка и его модулей можно узнать в документации.
Quick start¶
You can get access to the already built applications deployed on Cloud servers or explore the different ways on the IONDV.Framework site, for example:
- инсталятор для операционной системы Linux
- клонирование репозитория приложения и установка всех компонентов (инструкция ниже)
- docker-контейнеры с собранными приложениями
Software requirements¶
Install Node.js runtime and npm package manager to run the IONDV.Framework. Version 10.x.x.
Для хранения данных необходимо установить и запустить MongoDb версии старше 3.6.
Installer¶
Для ускорения Вы можете использовать установщик приложений IONDV. Framework iondv-app, требующий установленных node, mongodb и git. В ходе установки будет проверены и установлены все остальные зависимости, а также собрано и запущено само приложение.
Install in one command:
bash <(curl -sL https://raw.githubusercontent.com/iondv/iondv-app/master/iondv-app) -t git -q -i -m localhost:27017 develop-and-test
Где параметры для iondv-app localhost:27017
адрес MongoDB, а develop-and-test
название приложения. После запуска открыть ссылку ‘http://localhost:8888’, типовая учетная запись бек офиса demo, пароль ion-demo.
Дугой способ заключается в клонировании сборщика - (git clone https://github.com/iondv/iondv-app.git
) и установите приложение с помощью команды bash iondv-app -m localhost:27017 develop-and-test
.
You can also build the application in docker containers, then from the environment you only need docker and the mongodb DBMS in the docker container. More details on the IONDV. Framework application builder page iondv-app
Gitclone with repository¶
Global dependencies¶
To build all components and libraries, you need to install the following components globally:
- package node-gyp
npm install -g node-gyp
. For the Windows operating system, it is additionally necessary to install the windows-build-tools packagenpm install -g --production windows-build-tools
. - Gulp <http://gulpjs.com/>`_installation package ``npm install -g gulp@4.0`.
4.0
- supported version ofGulp
. - для версий IONDV. Framework 3.x.x и более ранних нужен менджер пакетов фронтенд библиотек Bower
npm install -g bower
. Для версия 4.х.х и старше не требуется.
Ручная установка ядра, модулей и приложения¶
Рассматриваем на примере приложения develop-and-test
. Находим приложение develop-and-test
в репозитории.
Смотрим зависимости указаные в файле package.json
.
"engines": {
"ion": "1.24.1"
},
"ionModulesDependencies": {
"registry": "1.27.1",
"geomap": "1.5.0",
"graph": "1.3.2",
"portal": "1.3.0",
"report": "1.9.2",
"ionadmin": "1.4.0",
"dashboard": "1.1.0",
"lk": "1.0.1",
"soap": "1.1.2",
"gantt-chart": "0.8.0"
},
"ionMetaDependencies": {
"viewlib": "0.9.1"
"viewlib-extra": "0.1.0"
- Начинаем установку с ядра, версия которого указана в парметре
"engines": {"ion": "1.24.1"}
. Скопируйте адрес репозитория ядра и в командной строке выполните коммандуgit clone https://github.com/iondv/framework
. Перейдите в папку ядра, переключитесь на tag номера версииgit checkout tags/v1.24.1
. Так как совместимость обеспечивается на уровне метаданных, а новые версии выпускались из-за изменения технологии сборки, то вы можете использовать последнии, например 4.0.0. - После этого устанавливаются необходимые для приложения модули, указанные в параметре
"ionModulesDependencies"
. Модули устанавливаются в папкуmodules
ядра, для этого перейдите в неё командойcd modules
. Клонируем модули из списка"ionModulesDependencies"
, для модуля registry это осуществляется коммандойgit clone https://github.com/iondv/registry
. Перейдите в папку установленного модуля, переключитесь на tag номера версииgit checkout tags/v1.27.1
. Повторите для каждого модуля. Для большинства приложений, можно использовать последние совместимые с ядром модули. - Установка самого приложения осуществляется в папку
applications
, для этого перейдите в неё командойcd ..\applications
, если вы находитесь в папке модулей. Установку выполните клонированием репозитория коммандойgit clone https://github.com/iondv/dnt_ru
. - Finally, install all necessary applications listed in the
"ionMetaDependencies"
parameter in theapplications
folder. Make sure that you’re inside this folder. Clone the dependencies inionMetaDependencies
, in particularlyviewlib
- a additional application - library of views templates. Execute thegit clone https://github.com/iondv/viewlib.git
to clone to the applications folder. Go to the folder of installed application and switch to the tag of the version numbergit checkout tags/0.9.1
. Repeat for each application.
Building, configuring and deploying the application¶
Building the application provides installation of all dependent libraries, importing data into the database and preparing the application for launch.
Создайте конфигурационный файл setup.ini
в папке config
куда вы клонировали фреймворк для задания основных параметров окружения приложения.
auth.denyTop=false
auth.registration=false
db.uri=mongodb://127.0.0.1:27017/db
server.ports[]=8888
module.default=registry
fs.storageRoot=./files
fs.urlBase=/files
Open the file and paste the text above. The main parameter is db.uri=mongodb://127.0.0.1:27017/iondv-dnt-db
. It shows the base name that we use for the application. The DB will be created automatically.
Задайте переменную окружения NODE_PATH равной пути к ядру приложения следующей командой set NODE_PATH=c:\workspace\dnt
для Windows и export NODE_PATH=/workspace/dnt
для Linux, где workspace\dnt
- папка куда склонирован фреймворк.
При первом запуске необходимо выполнить npm install
- она поставит ключевые зависимости, в том числе локально сборщик gulp
.
Further, execute the gulp assemble command to build and deploy the application.
Если вы хотите выполнить импорт данных в вашем проекте, проверьте папку data
в приложении и выполните команду:
node bin/import-data --src ./applications/develop-and-test/data --ns develop-and-test
Add the admin user with the 123 password executing the node bin/adduser.js --name admin --pwd 123
command.
Add admin rights to the user executing the node bin/acl.js --u admin@local --role admin --p full
command.
Running¶
Запустите приложение командой в папке ядра npm start
или node bin\www
.
Open this link http://localhost:8888
in a browser and log in. 8888 — is a port in the server.ports parameter.
Docker¶
Follow these steps to deploy docker container on the example of the develop-and-test application:
- Run mongodb DBMS:
docker run --name mongodb -v mongodb_data:/data/db -p 27017:27017 -d mongo
- Run IONDV. develop-and-test
docker run -d -p 80:8888 --link mongodb iondv/dnt
. - Откройте ссылку
http://localhost
в браузере через минуту (время требуется для инициализации данных). Для авторизации используйте типовой логин: demo, пароль: ion-demo
Documentation¶
The IONDV.Framework documentation is available in two languages — english and russian.
Reference¶
Some handy links to learn more information on developing applications using IONDV.Framework.
- `Documentations https://iondv.readthedocs.io/en/latest/index.html>`_
- Homepage
- Feedback on Facebook
- Обучающие видеоролики на youtube
License Contact us English¶
Copyright (c) 2016-2020 LLC “ION DV”.
All rights reserved.