BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

Bahmni에서 OWA 만들기

설명

OWA(Open Web App)는 JS, HTML, CSS 같은 웹 기술로 개발하는 간단한 웹 앱입니다. 서버 측 호출에는 OpenMRS REST API를 사용할 수 있습니다. OWA 작업을 시작하기 전에 OpenMRS Wiki 페이지를 참고하세요.관련 문서: this

새 OWA 앱 만들기

1. OWA 앱 Scaffold 복제

git clone git@github.com:sanishmaharjan/boilerplate-react-owa.git

프런트엔드 React 기반 OpenMRS Admin OWA 앱 개발용 Boilerplate입니다.

boilerplate-react-owa의 기능

  • React OpenMRS Admin OWA 앱 Scaffold. OpenMRS Admin OWA UI 레이아웃 스타일. Jest 프레임워크를 이용한 React 컴포넌트 테스트. I18N 지원. Prettier 코드 포매터로 JS 코드 형식 지정.

Scaffold OWA 앱 미리보기

2. 폴더 구조

3. 웹 앱 정보 입력

/app/manifest.webapp을 열어 편집합니다.

주로 version, name, description, developer 값을 편집해야 합니다.

4. Yarn 의존성 설치

이 OWA는 패키지 관리자와 빌드 작업에 Yarn을 사용합니다.관련 문서: yarn

5. 코드 컴파일 및 아티팩트 빌드

개발용 Watch 모드

이 명령은 디버깅용 Watch 모드도 시작합니다. 변경이 발생할 때마다 기본 app.js를 업데이트하여 개발 중 변경 사항을 Hot Deploy합니다.

운영용

이 명령은 운영용으로 축소된 번들을 생성합니다.

빌드 결과 위치

6. 런타임 디버깅용 배포

실행 중인 OpenMRS 인스턴스의 /openmrs/module/owa/settings.form에서 OWA 설정 관리 페이지를 확인합니다.

Screenshot.png

핵심 설정은 OWA 앱을 포함하는 ‘App Folder Path’입니다. 일반적으로 OpenMRS 인스턴스의 모든 OWA 위치는 /opt/openmrs/owa여야 합니다. OWA 내용을 코드 저장소에 심볼릭 링크하는 방식입니다.

Tomcat에서 심볼릭 링크된 콘텐츠를 제공할 수 있다고 가정합니다. 불가능하다면 변경 내용을 확인할 때마다 로컬 저장소의 app 폴더 내용을 /opt/openmrs/owa/boilerplate로 복사해야 합니다.

또는 /app 폴더의 ZIP 파일을 만들고 아래 화면처럼 OpenMRS UI에서 찾아 업로드합니다.

OpenMRS UI에서 업로드하려면 /opt/openmrs/etc/openmrs-runtime.properties 파일의 module.allow_web_admin 값을 true로 설정해야 합니다. 기본값은 false입니다.

Screenshot2.png

7. 테스트 실행

이 OWA는 Jest를 테스트 프레임워크로 사용하며 UI와 동작 테스트에 Snapshot Testing을 사용합니다.관련 문서: snapshot testing

$ yarn test

특정 테스트만 실행하려는 경우

$ yarn test <regex>

‘regex’를 사용해 특정 대상 테스트 파일을 지정할 수 있습니다.

UI 변경이 의도한 대로임을 확인했다면 다음 커밋에 포함하도록 Jest Snapshot을 다시 생성해야 합니다.

$ yarn test --u

8. 코드 포매터 실행

Prettier 코드 포매터를 사용합니다. 코드를 푸시하기 전에 포매터를 실행해야 합니다.

$ yarn code:format

OpenMRS 모듈에 OWA를 설정하고 OMOD 설치 시 자동 배포

1. OpenMRS 모듈에 /owa 폴더를 만들고 모든 파일 복사

OpenMRS 모듈 폴더 구조는 다음과 같습니다.

참고 자료로 openmrs-module-bedmanagement를 확인하세요.

2. /owa/pom.xml 만들기

  • 해당 pom.xml의 내용을 복사합니다. 안내된 코드 줄을 편집합니다.
관련 문서: these

3. /owa/assembly.xml 만들기

4. /pom.xml 업데이트

  • 안내된 방식으로 OWA 모듈을 포함합니다. 안내된 방식으로 openmrsOwaVersion 속성을 추가합니다.관련 문서: this
관련 문서: this

5. /omod/pom.xml 업데이트

  • 안내된 방식으로 execution을 추가합니다. 안내된 코드 줄을 편집합니다.관련 문서: this
관련 문서: these

6. config.xml 업데이트

  • 안내된 방식으로 OpenMRS OWA 모듈 요구사항을 추가합니다.관련 문서: this

7. 기존 Admin UI에서 OWA 앱 UI 링크 추가

  • /pom.xml/omod/pom.xml에 안내된 legacyui 의존성을 추가합니다. config.xml에 Admin 페이지 링크를 추가합니다. AdminList.java를 만듭니다. 안내된 예시를 참고하세요.
관련 문서: config.xmlthis

8. OMOD 빌드

이제 OWA가 OMOD에 자동으로 패키징되고 OMOD 설치 시 OWA 앱이 배포됩니다.

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗