O3: Announcing 3.0.0-beta.2

,

Yesterday @ibacher shared this important announcement on #openmrs3; sharing here for those who may have missed it, as it’s a key milestone for O3.

Note that this comes from pipeline-process improvements we’ve been envisioning for months now: That there would be identifiable release version numbers, with specific esm-app version numbers contained within each of those versions.

O3 Beta now available!

We now have a version of 3.0 available as 3.0.0-beta.2. This version is the version of the Docker images. It’s should be roughly equivalent to where dev3 was on the last release cycle. You can preview this version on test3.openmrs.org. If you would like to run it locally, please use the attached docker-compose configuration (this is the same as the one on the Wiki with the appropriate version number). The sources for this distribution are in the 3.0.0-beta.2 tag of the RefApp distro project. There are still probably some rough-edges to be sanded down, but at least we have the start of a process.

3.0.0-beta.2 Version Contents

Frontend Apps app version #
@openmrs/esm-openconceptlab-app unknown (@ibacher why are some of these showing unknown?)
@openmrs/esm-dispensing-app unknown
@openmrs/esm-form-builder-app unknown
@openmrs/esm-fast-data-entry-app 1.0.1-pre.51
@openmrs/esm-home-app 4.0.0
@openmrs/esm-active-visits-app 4.0.1
@openmrs/esm-patient-chart-app 4.1.0
@openmrs/esm-cohort-builder-app unknown
@openmrs/esm-patient-conditions-app 4.1.0
@openmrs/esm-patient-biometrics-app 4.1.0
@openmrs/esm-appointments-app 4.0.1
@openmrs/esm-patient-forms-app 4.1.0
@openmrs/esm-patient-programs-app 4.1.0
@openmrs/esm-patient-vitals-app 4.1.0
@openmrs/esm-outpatient-app 4.0.1
@openmrs/esm-offline-tools-app 4.1.0
@openmrs/esm-implementer-tools-app 4.1.0
@openmrs/esm-patient-medications-app 4.1.0
@openmrs/esm-login-app 4.1.0
@openmrs/esm-patient-notes-app 4.1.0
@openmrs/esm-patient-search-app 4.0.1
@openmrs/esm-patient-list-app 4.0.1
@openmrs/esm-generic-patient-widgets-app 4.1.0
@openmrs/esm-devtools-app 4.1.0
@openmrs/esm-patient-test-results-app 4.1.0
@openmrs/esm-primary-navigation-app 4.1.0
@openmrs/esm-patient-registration-app 4.0.1
@openmrs/esm-patient-banner-app 4.1.0
@openmrs/esm-patient-attachments-app 4.1.0
@openmrs/esm-patient-appointments-app 4.1.0
@openmrs/esm-patient-allergies-app 4.1.0
@openmrs/esm-form-entry-app 4.1.0
Backend Dependencies by App depends on installed version # required version #
@openmrs/esm-openconceptlab-app openconceptlab 2.0.0 >=1.2.0
@openmrs/esm-openconceptlab-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-dispensing-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-dispensing-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-fast-data-entry-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-fast-data-entry-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-home-app webservices.rest 2.38.0.4bc9b8 ^2.24.0
@openmrs/esm-active-visits-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-cohort-builder-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-cohort-builder-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-cohort-builder-app reportingrest 1.14.0 ^1.0.0
@openmrs/esm-cohort-builder-app reporting 1.25.0-SNAPSHOT ^1.0.0
@openmrs/esm-patient-conditions-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-conditions-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-patient-biometrics-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-biometrics-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-appointments-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-forms-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-programs-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-vitals-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-vitals-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-outpatient-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-offline-tools-app webservices.rest 2.38.0.4bc9b8 ^2.24.0
@openmrs/esm-patient-medications-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-login-app webservices.rest 2.38.0.4bc9b8 ^2.24.0
@openmrs/esm-patient-notes-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-notes-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-patient-search-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-list-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-generic-patient-widgets-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-patient-test-results-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-test-results-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-primary-navigation-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-registration-app webservices.rest 2.38.0.4bc9b8 ^2.24.0
@openmrs/esm-patient-banner-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-attachments-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-appointments-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-allergies-app webservices.rest 2.38.0.4bc9b8 ^2.2.0
@openmrs/esm-patient-allergies-app fhir2 1.8.0 ^1.2.0
@openmrs/esm-form-entry-app webservices.rest 2.38.0.4bc9b8 ^2.24.0

docker-compose.yaml file

version: "3.7"
​
services:
  gateway:
    image: openmrs/openmrs-reference-application-3-gateway:3.0.0-beta.2
    depends_on:
      - frontend
      - backend
    ports:
      - "80:80"
​
  frontend:
    image: openmrs/openmrs-reference-application-3-frontend:3.0.0-beta.2
    environment:
      SPA_PATH: /openmrs/spa
      API_URL: /openmrs
      SPA_CONFIG_URLS:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/"]
      timeout: 5s
    depends_on:
      - backend
​
  backend:
    image: openmrs/openmrs-reference-application-3-backend:3.0.0-beta.2
    depends_on:
      - db
    environment:
      OMRS_CONFIG_MODULE_WEB_ADMIN: "true"
      OMRS_CONFIG_AUTO_UPDATE_DATABASE: "true"
      OMRS_CONFIG_CREATE_TABLES: "true"
      OMRS_CONFIG_CONNECTION_SERVER: db
      OMRS_CONFIG_CONNECTION_DATABASE: openmrs
      OMRS_CONFIG_CONNECTION_USERNAME: ${OPENMRS_DB_USER:-openmrs}
      OMRS_CONFIG_CONNECTION_PASSWORD: ${OPENMRS_DB_PASSWORD:-openmrs}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/openmrs"]
      timeout: 5s
    volumes:
      - openmrs-data:/openmrs/data
​
  # MariaDB
  db:
    image: mariadb:10.8.2
    command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci"
    healthcheck:
      test: "mysql --user=${OMRS_DB_USER:-openmrs} --password=${OMRS_DB_PASSWORD:-openmrs} --execute \"SHOW DATABASES;\""
      interval: 3s
      timeout: 1s
      retries: 5
    environment:
      MYSQL_DATABASE: openmrs
      MYSQL_USER: ${OMRS_DB_USER:-openmrs}
      MYSQL_PASSWORD: ${OMRS_DB_PASSWORD:-openmrs}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-openmrs}
    volumes:
      - db-data:/var/lib/mysql
​
volumes:
  openmrs-data: ~
  db-data: ~

CC: @eudson @frederic.deniger @aojwang @slubwama @corneliouzbett

1 Like

We rely on each MF exporting it’s own version number. Some of them have not been setup to do so. For most apps, it should be a matter of adding something like this to the index.ts file:

declare var __VERSION__: string;
const version = __VERSION__;

And then changing the export line to include version, e.g.,

export { backendDependencies, importTranslation, setupOpenMRS, version };
2 Likes

Thanks @grace and @ibacher.

@ibacher, were the back end artefacts(distro package) deployed to OpenMRS Jfrog? If not how is this planned to be done?

Right now, the only thing we’re publishing is Docker images. We’ll start publishing the configuration, but as a separate package with it’s own versioning, not as part of the RefApp.

Thanks @ibacher @grace ! I added the export version number to the dispensing module here and flagged you for a review Ian…

I’ve updated the PIH EMR to use these latest beta based on the version numbers specified above… is there a way to figure out the version numbers for the other modules that are still unknown, or is it better to keep these as “next” for now?

Thanks! Mark

There all here… For versioned releases we’re trying to use fixed versions of everything.

@ruhanga I guess as an addendum, you could just checkout that tag and build the distro to do what you need to do with the configuration.

1 Like

Thanks @ibacher. One minor inquiry, would it require some extra process to build fixed artefacts unlike what’s done for SNAPSHOTs, because Reference Application Distro 3.0.0-SNAPSHOT is available as a Maven Artefact?

Good point. I can do that for future releases, but not this one.