О Энкето

Enketo — это название проекта с открытым исходным кодом, а также название веб-приложения с открытым исходным кодом, которое используется в основном для эффективного развертывания форм опроса.

Проект Enketo фокусируется на сборе данных.

Enketo Express Engine принимает шаблоны Xform и отображает формы, которые могут быть заполнены пользователями и отправлены для всех видов анализа.

Опросы, развернутые с помощью Enketo

  • Работайте в автономном режиме…
    Копия отправленных данных опроса хранится в вашем браузере (магия Redis), поэтому Enketo будет регулярно проверять, есть ли подключение к Интернету, когда оно есть, он загружает данные на ваш сервер и очищает кеш.
    Так что это довольно безопасно
  • Он также поставляется с красивыми темами и виджетами, которые можно изменить по своему желанию.
  • Формы имеют страницы для печати – удобные страницы, которые рассчитаны на размер листа 8,5 x 11 дюймов или формата A4.
  • Он может использовать очень мощную логику пропуска и проверки для обеспечения получения соответствующей информации.
  • Он работает на любом устройстве, мобильном или настольном, если у него достаточно современный браузер.

Enketo является гибким и может быть объединен с другим приложением (Datakojo, Onadata, KoboToolbox) для создания полной системы управления информацией и аналитики.

Необходимая установка программного обеспечения для Enketo

  • Git Чтобы сделать копию репозитория Enketo
  • Установлен интерпретатор Python
  • Основы сборки В Linux все пакеты, необходимые для компиляции программного обеспечения из исходного кода.
  • Redis хранилище структур данных в памяти, которое действует как база данных, кеш и брокер сообщений для Enketo.
  • checkinstallПростая программа, отслеживающая установку файлов.
  • УзелСреда выполнения JavaScript, которая выполняет код JavaScript вне браузера.
  • NPMДиспетчер пакетов Node для платформы Node JavaScript. Он аккуратно управляет новыми модулями и устанавливает их на место, чтобы Node мог их найти.
  • NVMДиспетчер версий узлов, который помогает вам легко управлять различными версиями узлов и переключаться между ними.

Теперь, когда мы разобрались с этим, давайте начнем…

  1. Обновите списки пакетов ubuntu из репозиториев, чтобы получить информацию о новейших версиях пакетов и их зависимостях и обновлениях.
$sudo apt-get update && sudo apt-get upgrade

2. Установите необходимое программное обеспечение

$sudo apt-get install -y git build-essential redis-server checkinstall python

Разрешить Ubuntu автоматически устанавливать обновления безопасности (оставьте значения по умолчанию и выберите «Да» при появлении запроса)

$sudo dpkg-reconfigure -plow unattended-upgrades

3. Установка NVM

$curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

Сценарий клонирует репозиторий nvm в путь к файлу ~/.nvm на компьютере с Ubuntu и добавляет исходную строку в ваш профиль ~/.bash_profile, ~/.zshrc, ~/.profile или ~/.bashrc.

Примечание. В Linux после запуска сценария установки, если вы получаете сообщение nvm: command not found или не видите ответа от вашего терминала после ввода:

$command -v nvm

просто закройте текущий терминал, откройте новый терминал и повторите попытку подтверждения. если nvm все еще не найден

вы могли бы бежать

$export NVM_DIR=”${XDG_CONFIG_HOME/:-$HOME/.}nvm” 
[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This loads nvm

Запуск $nvm --version должен вывести текущую версию nvm, установленную на вашем компьютере.

  • Запуск только $nvm должен вывести основную информацию и каталог справки.
  • запустите команду $nvm list, чтобы просмотреть все установленные пакеты узлов, установленные в менеджере пакетов узла.

  • Запустите команду $nvm ls-remote, чтобы просмотреть все доступные на данный момент выпуски узлов, начиная с самой ранней версии и заканчивая самой последней.

4. Установка Node и Npm

Теперь запустите $nvm install <node-version>, где <node-version> — это конкретная версия узла, которая требуется для вашего проекта (в нашем случае Enketo), т.е. $nvm install v8.16.0

Запустите $node --version, чтобы увидеть установленную версию Node.

Обновите npm, запустите $npm update –g npm

5. Экспресс-установка Энкето

Установите Enketo Express и его зависимости.

Предупреждения во время npm install --production

для производственных сред нельзя игнорировать ошибки.

Клонировать проект Enketo для его репозитория

$cd ~/folder_for_setup
$git clone https://github.com/enketo/enketo-express.git
$cd enketo-express

Конфигурация

Конфигурация базы данных

Во-первых, мы останавливаемся, отключаем конфигурацию Redis по умолчанию и перезагружаем сервис.

$sudo systemctl stop redis
$sudo systemctl disable redis
$sudo systemctl daemon-reload

Затем мы настраиваем два новых экземпляра Redis для Enketo, которые работают на разных портах:

$sudo mv /etc/redis/redis.conf /etc/redis/redis-origin.conf
$sudo cp ~/enketo-express/setup/redis/conf/redis-enketo-main.conf /etc/redis/
$sudo cp ~/enketo-express/setup/redis/conf/redis-enketo-cache.conf /etc/redis/

Теперь запустите два экземпляра Redis с файлами конфигурации Enketo Redis.

$sudo redis-server /etc/redis/redis-enketo-main.conf
$sudo redis-server /etc/redis/redis-enketo-cache.conf

Чтобы проверить, работают ли они

$sudo lsof -i -P -n | grep LISTEN

Вы должны увидеть, что ваши экземпляры Redis работают в port 6380 и 6379.

Тест: Кэш и основная база данных

$redis-cli -p 6380
>ping
exit

Ответ на 6380 и 6379 должен быть «PONG».

Конфигурация Enketo JSON

Создайте файл конфигурации, скопировав конфигурацию по умолчанию:

$cd enketo/
$cp config/default-config.json config/config.json
$vim config/config.json

для слабых и слабоумных используйте нано редактор

Сборка с обновленной конфигурацией

$cd ~/enketo-express
npm install –production

npm install -production можно заменить разработкой, а сборка модулей узлов занимает целую вечность, так что идите пообедайте, пока он занят

Запустить Enketo

$npm start

В вашем браузере посетите IP-адрес сервера, который является вашим localhost на порту 8005.

http://127.0.0.1:8005

Вы должны увидеть сообщение «ENKETO SMART PAPER FOR KOBOCAT РАБОТАЕТ! ПОЖАЛУЙСТА, ДОСТУПИТЕ К ФОРМАМ ENKETO ИЗ ВАШЕЙ УСТАНОВКИ KOBOCAT».

НЕМНОГИЕ МУЖЧИНЫ ДОБИЛИСЬ ТАК ДАЛЬШЕ — ты один из них

Связать сервер Enketo с приложением

Две ключевые ценности, необходимые для связи Enketo:

* Ключ API в config.json Enketo.

* URL-адрес API. Здесь Enketo доступен на http://<server url>/api/v2 e.g htttp://127.0.0.1/api/v2

$хлопает