На предпоследней неделе GSoC мы начинаем завершать работу над OWA! 😃

На этой неделе мы завершили работу над следующими задачами. Это оставляет нам 3 задачи, которые нужно выполнить на 12-й неделе, прежде чем GSoC подойдет к концу.

Задачи —

  1. Удалить жестко закодированные URL-адреса API
  2. Создайте файлы POM и сборки, чтобы включить OWA в процесс сборки.
  3. Создайте функцию фильтра

Удаление жестко закодированных ссылок на API

Раньше всякий раз, когда мы пытались сделать запрос REST API, мы жестко кодировали целевой URL-адрес и делали запрос по этому конкретному URL-адресу. Что-то вроде этого —

url: http://localhost:8081/openmrs/patientflags/rest/v1/flags 
GET Data from url

Это, очевидно, было причиной для беспокойства — поскольку источник (например, localhost: 8081 и т. д.) жестко запрограммирован, для любого другого базового URI этот запрос просто завершится ошибкой. Это означает, что OWA нельзя развернуть ни в какой системе, кроме системы разработчика, без изменения исходного кода вручную! Ой! 😝

Вот что мы сделали.

Мы создали глобальный файл js с именем «apiContext.js» и установили динамический API_CONTEXT_PATH, как показано ниже —

Это позволит получить текущий корневой URL-адрес веб-сайта и сгенерировать базовый URI для вызова REST, добавив к нему «/openmrs/ws/rest/v1/».

Коротко, Мило, Просто! 😄

Создание файлов POM и сборки

OpenMRS использует Maven в качестве инструмента автоматизации сборки для создания своих модулей. Поскольку наш OWA будет частью модуля 3.2.0 (наряду с некоторыми другими изменениями, которые мы внесли в REST API), мы должны сообщить Maven о наличии OWA, а затем сообщить ему, как запустить сборку для ОВА.

Для этого нам нужно —

  1. Измените родительский файл POM в корневом каталоге модуля, чтобы включить OWA и путь к его папке.
  2. Затем мы добавляем POM и файл сборки в папку OWA.

Я прикрепил родительский POM и OWA POM ниже для справки.

Функциональность фильтра

Эта функциональность ожидалась как часть компонента Flags.

Функциональность фильтра позволяет нам фильтровать данные таблицы на основе связанных тегов. Однако нам все еще нужно тщательно протестировать эту функциональность.

Что ожидается?

На самом деле довольно много — но ничего такого, что нельзя было бы сделать за неделю! 😉

  1. Компонент «Поиск пациентов»
  2. Стабилизирующее государственное управление
  3. Улучшения пользовательского интерфейса [учетные данные пользователя, информация о местоположении, информация о навигации и улучшенная структура макета для модальных форм]
  4. Документация

Ресурсы

  1. Пулл-реквест
  2. Последняя сборка
  3. POM-файлы