О Энкето
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Диспетчер версий узлов, который помогает вам легко управлять различными версиями узлов и переключаться между ними.
Теперь, когда мы разобрались с этим, давайте начнем…
- Обновите списки пакетов 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
$хлопает