Skip to content

Conversation

@wikumChamith
Copy link
Member

@wikumChamith wikumChamith commented Feb 6, 2025

This updates the OpenMRS version to 2.7.2-SNAPSHOT and the Initilizer version to 2.9.0-SNAPSHOT.

@wikumChamith wikumChamith changed the title Update OpenMRS version to 2.7.2-SNAPSHOT Update OpenMRS version and Initializer Feb 6, 2025
@wikumChamith wikumChamith changed the title Update OpenMRS version and Initializer Update OpenMRS version and Initializer version Feb 6, 2025
@vasharma05
Copy link
Member

CC: @Ruhanga, the E2E tests are failing when updating the Openmrs core and initializer versions.

@wikumChamith wikumChamith requested a review from ibacher February 6, 2025 10:10
@NethmiRodrigo NethmiRodrigo changed the title Update OpenMRS version and Initializer version (chore) O3-4426: Update OpenMRS version and Initializer version Feb 6, 2025
@dkayiwa
Copy link
Member

dkayiwa commented Feb 6, 2025

@jayasanka-sack how do i access the server logs for this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dkayiwa I've updated this file to capture the server logs when e2e test fails. These changes should get reverted before this PR gets merged

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it because you hate server logs? 😊

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

XD haha purely because there'll be a large number of logs

Copy link
Member

@denniskigen denniskigen Feb 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NethmiRodrigo if we do decide to keep the Upload Logs as Artifact steps, can we add a repo-specific prefix to the artifact names for easier disambiguation?

name: ${{ github.repository | replace('/', '-') }}-server-logs # or similar

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@denniskigen yeah that makes sense!

@wikumChamith
Copy link
Member Author

wikumChamith commented Feb 6, 2025

I noticed these errors in backend logs when it is loading the location demo data: https://pastebin.com/34TSwAcK

@samuelmale
Copy link
Member

I believe this PR mekomsolutions/openmrs-module-initializer#293 from Mike that fixed "locations support on platform 2.7" introduced a minor bug in the way the attributes are processed. The issue is that a filter that was meant to filter out empty column values was removed here.

@mseaton
Copy link
Member

mseaton commented Feb 6, 2025

I believe this PR mekomsolutions/openmrs-module-initializer#293 from Mike that fixed "locations support on platform 2.7" introduced a minor bug in the way the attributes are processed. The issue is that a filter that was meant to filter out empty column values was removed here.

Looks like you might be right @samuelmale . I'll have a look.

@mseaton
Copy link
Member

mseaton commented Feb 6, 2025

Looks like you might be right @samuelmale . I'll have a look.

Actually, the code looks right, and I can't reproduce this in a unit test. What exactly is the problem that you are seeing? @samuelmale

This issue with the error that is linked to above by @wikumChamith is the same error @Ruhanga pinged me about yesterday and I already discussed with him. That is - the error isn't due to the empty value, it's due to the uuid that points to a location attribute type that is not in the system. If you want to add an attribute of a given type, then you need to add initializer code to add that attribute type in the appropriate domain.

@wikumChamith
Copy link
Member Author

Looks like you might be right @samuelmale . I'll have a look.

Actually, the code looks right, and I can't reproduce this in a unit test. What exactly is the problem that you are seeing? @samuelmale

This issue with the error that is linked to above by @wikumChamith is the same error he pinged me about yesterday and I already discussed with him. That is - the error isn't due to the empty value, it's due to the uuid that points to a location attribute type that is not in the system. If you want to add an attribute of a given type, then you need to add initializer code to add that attribute type in the appropriate domain.

@mseaton

Looks like you might be right @samuelmale . I'll have a look.

Actually, the code looks right, and I can't reproduce this in a unit test. What exactly is the problem that you are seeing? @samuelmale

This issue with the error that is linked to above by @wikumChamith is the same error he pinged me about yesterday and I already discussed with him. That is - the error isn't due to the empty value, it's due to the uuid that points to a location attribute type that is not in the system. If you want to add an attribute of a given type, then you need to add initializer code to add that attribute type in the appropriate domain.

Thanks for the clarification! However, I believe there might be a misunderstanding—I don’t recall discussing this issue with you yesterday. It’s possible you had that conversation with someone else.

@mseaton
Copy link
Member

mseaton commented Feb 6, 2025

Thanks for the clarification! However, I believe there might be a misunderstanding—I don’t recall discussing this issue with you yesterday. It’s possible you had that conversation with someone else

Right, sorry. I updated my comment above, it was @Ruhanga who originally raised this with me yesterday.

@samuelmale
Copy link
Member

Actually, the code looks right, and I can't reproduce this in a unit test. What exactly is the problem that you are seeing?

@mseaton I think your changes just unmasked a vulnerability/bug in Iniz. The filter I previously mentioned made it possible to bypass ad-hoc style headers ("Attribute|9eca4f4e-707f-4bb8-8289-2f9b6e93803c") referencing non-existing metadata ("9eca4f4e-707f-4bb8-8289-2f9b6e93803c") for as long as its underlying column is empty.

What's happening with the distro?
Here is the failing CSV file: https://github.com/openmrs/openmrs-content-referenceapplication-demo/blob/ba5061d1b3fc7c5cbd7227c8793d312652d951ee/configuration/backend_configuration/locations/locations-core_demo.csv#L3

The problem seems to come from this column "Attribute|9eca4f4e-707f-4bb8-8289-2f9b6e93803c"; if you notice, the entire column is empty. Prior to your commit, the processor wouldn't complain about the fact that the referenced attribute ("9eca4f4e-707f-4bb8-8289-2f9b6e93803c") doesn't exist because of the filter!

To fix this error we should either create an attribute with UUID "9eca4f4e-707f-4bb8-8289-2f9b6e93803c" or remove such column(s).

@NethmiRodrigo
Copy link
Contributor

NethmiRodrigo commented Feb 7, 2025

Okay so I went back to a commit from 2021 and browsed the files and looks like even back then this attribute existed in the locations file but I can't find anything else with that attribute UUID, which means that the attribute type never existed for it in our attributetypes file. It does exist in the initializer example and is apparently the "Location ISO Code".
I can either remove this attribute from the locations file or add the attribute to the attributetypes file in the demo content package. What do you guys suggest, as I don't know if we would need it? @mseaton @samuelmale @dkayiwa @ibacher @jayasanka-sack @denniskigen @wikumChamith
@jayasanka-sack whatever decision we decide to do, after changing the content package, do I need to upgrade the version of it from 1.0.0-SNAPSHOT to something like 1.0.1-SNAPSHOT?

@wikumChamith
Copy link
Member Author

Okay so I went back to a commit from 2021 and browsed the files and looks like even back then this attribute existed in the locations file but I can't find anything else with that attribute UUID, which means that the attribute type never existed for it in our attributetypes file. It does exist in the initializer example and is apparently the "Location ISO Code". I can either remove this attribute from the locations file or add the attribute to the attributetypes file in the demo content package. What do you guys suggest, as I don't know if we would need it? @mseaton @samuelmale @dkayiwa @ibacher @jayasanka-sack @denniskigen @wikumChamith @jayasanka-sack whatever decision we decide to do, after changing the content package, do I need to upgrade the version of it from 1.0.0-SNAPSHOT to something like 1.0.1-SNAPSHOT?

I think we should add that attribute to the content package. If we plan to use the snapshot we don't need to update the version.

@NethmiRodrigo
Copy link
Contributor

NethmiRodrigo commented Feb 7, 2025

@dkayiwa @wikumChamith I've triggered the workflows to re-run since the location attribute update PR got merged - openmrs/openmrs-content-referenceapplication-demo#2. Hopefully, that's one issue resolved

@wikumChamith
Copy link
Member Author

We need to handle the Attribute|Last Audit Date too. What do you guys recommend?

An attribute value is specified ('') for an attribute type that cannot be resolved by the following identifier: 'Last Audit Date'

@NethmiRodrigo
Copy link
Contributor

@dkayiwa @wikumChamith the changes I made to the workflow to save the server logs had gotten undone, so I committed it again

@NethmiRodrigo
Copy link
Contributor

We need to handle the Attribute|Last Audit Date too. What do you guys recommend?
An attribute value is specified ('') for an attribute type that cannot be resolved by the following identifier: 'Last Audit Date'

@dkayiwa @wikumChamith I've opted to just remove this attribute altogether, because I don't know if I'm supposed to assign a random UUID to the attribute. If it fails, I'll just undo it

@NethmiRodrigo
Copy link
Contributor

NethmiRodrigo commented Feb 7, 2025

Adding the context here too, adding the attribute "9eca4f4e-707f-4bb8-8289-2f9b6e93803c" to the attribute type basically gave us a different error:
org.openmrs.api.ValidationException: 'Ubuntu Hospital' failed to validate with reason: activeAttributes: Location ISO Code is required.
And also an error that another attribute (Last Audit Date) didn't have the attribute definition, so we removed both from the locations file in the demo content package in this PR - openmrs/openmrs-content-referenceapplication-demo#3

@NethmiRodrigo
Copy link
Contributor

Thanks @wikumChamith and @dkayiwa!

@NethmiRodrigo NethmiRodrigo merged commit 0b11ad6 into openmrs:main Feb 10, 2025
13 checks passed
WamathagaUCSF pushed a commit to Rwanda-EMR/openmrs-distro-referenceapplication that referenced this pull request Mar 26, 2025
pgorrindo added a commit to Salcedo-HDF/openmrs-distro-referenceapplication that referenced this pull request Oct 1, 2025
* Switch to openmrs core version 2.7.2-SNAPSHOT

* Bump initializer to version 2.9.0-SNAPSHOT

* (feat) O3-2353: Use demo data content package (openmrs#885)

* Revert "(feat) O3-2353: Use demo data content package" (openmrs#886)

* Revert initializer and core version bump (openmrs#887)

* (feat) O3-2353: Use demo data content package (openmrs#889)

* (chore) O3-4426: Update OpenMRS version and Initializer version (openmrs#888)

Co-authored-by: Nethmi Rodrigo <[email protected]>

* Create surgery nav group (#68)

Create surgery nav group that contains the condition and last hemoglobin of the patient

* Update reporting modules versions

* Delete distro/README.md

* Modify start visit panel (#69)

Remove the Punctuality and Insurance Policy Number attribute

* Remove patient list app (openmrs#892)

* (chore) O3-4460: Prevent over-dispensing medications (openmrs#893)

* Revert "(chore) O3-4460: Prevent over-dispensing medications (openmrs#893)"

This reverts commit 4b2ebf3.

* Update backend versions

* (chore): Bump initializer (openmrs#895)

* (chore): Bump backend dependencies (openmrs#896)

* (release) Release v3.3.0-rc.1

* (release-revert) Reset to dev versions

* Set time to philippines (#71)

Set of each container time to Philippines

* Add more contact details in show more panel (#70)

* Add more contact details

Add facebook id, email address and philhealth id in the contact section

* Add more contact details

Add facebook id, email address and philhealth id in contact details section

* Consistent username and password for database connections

* Set OMRS SMS timezone to philippines (#72)

* Set time to philippines

Set of each container time to Philippines

* Set sms TZ to Philippines

Set sms TZ to Philippines

* Change sms time zone to PHT

* (chore): Update content packages

* (chore): Update content package (openmrs#906)

* (release) Release v3.3.1

* (chore): Remove unreleased modules (openmrs#907)

* (release) Release v3.3.1-rc.1

* (release) Release 3.3.1

* merge Stock/3.5.0 into Dev (#75)

* (release-revert) Reset to dev versions

* O3-4492: Update the Queue module to 2.5.0 (openmrs#903)

* (chore) O3-4332 : Update appointments version to 2.1.0-SNAPSHOT (openmrs#898)

* (chore) update the Queue module to 2.6.0-SNAPSHOT (openmrs#908)

* (chore) Bump EMR API from 2.2.0 to 2.3.0-SNAPSHOT (openmrs#910)

* (chore) O3-4504: Optimize Distro E2E Test Workflow Using Matrix Strategy (openmrs#911)

* (chore): Bump version of content packages (openmrs#912)

* (chore) Upgrade to Java 17 from Java 11 (openmrs#913)

* Bump the webservicesrest module version to 2.49.0-SNAPSHOT

* Update FHIR2 version

* Update openmrs core version to 2.7.3

* Restore patient list related frontend modules

* Bump openmrs core to 2.7.4-SNAPSHOT

* Bump legacyui module to 1.23.0-SNAPSHOT

* Update module versions to latest (openmrs#920)

* (release) Release v3.4.0-rc.1

* (release-revert) Reset to dev versions

* Move dev3 to latest SNAPSHOT of demo content package

* Update demo content version

* Switch to SNAPSHOT content packages

* Bump webservicesrest to 2.50.0-SNAPSHOT

* (chore) Upgrade Node.js to 22 in frontend Dockerfile (openmrs#924)

* Implement the same caching scheme adopted for module-spa

See openmrs/openmrs-module-spa#63 and https://openmrs.atlassian.net/browse/O3-4395. In essence, almost everything is served with Cache-Control set
to no-cache, must-revalidate. This means that any static content that is
not either the openmrs.css file or a Javascript file will make a HTTP
request with If-Modified-Since and If-None-Match headers. The server should
respond to these with a 304 unless they've been changed, which is a fairly
minimal response. Javascript files and openmrs.css are cached for one year.

The idea here is to balance aggressive caching with the need for
implementations to serve custom content from the same webroot.

For implementations not using this image, module-spa implements very similar
caching logic.

* Update to core 2.7.5-SNAPSHOT with a fix for the conceptreferenceranges endpoint

* Update backend modules to newly updated versions

* Bump bedmanagement to 6.2.0-SNAPSHOT

* (test)03-4887: Add support the dispensing app in the reff app e2e distro

* add dispensing e2e

* add dispensing to readme

* README tweaks

* Bump authentication module to 2.0.0-SNAPSHOT (openmrs#930)

* Add CACHE_BUST work-around for backend

* Bump FHIR2 to 2.6.0-SNAPSHOT

* Give the backend a little longer to respond

* (fix) Update frontend service queue config

* (release) Release v3.5.0

* Update backend module versions

* Update core version

* Update bed management version

* Fix REST version

* Update rest version

* Run E2E on every branch

* Run build on push

* Fix bedmanagement version

* Fix bedmanagement version

* (release) Release v3.5.0-rc.1

* Bump FHIR2 to 2.7.0

* (release) Release v3.5.0-rc.2

* (release) Release v3.5.0-rc.3

* Bump Queue module version

* Remove stock management and billing frontends

* Remove stock management and billing backend modules

* Bump backend versions

* Remove stock management and billing from distro.properties

* Re-add stock and billing backend modules

* Update distro.properties

* (release) Release v3.5.0-rc.4

* Update App shell version to 8.0.0

* (release) Release v3.5.0-rc.5

* Bump queue module to version 2.9.0

* Bump Demo content package to 1.6.0

* Bump content ref app version to 1.4.0

* (release) Release v3.5.0-rc.6

* (release) Release 3.5.0

---------

Co-authored-by: openmrs-bot <[email protected]>
Co-authored-by: Wikum Weerakutti <[email protected]>
Co-authored-by: praneeth <[email protected]>
Co-authored-by: chibongho <[email protected]>
Co-authored-by: Jayasanka Weerasinghe <[email protected]>
Co-authored-by: Bawantha Thilan <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: dkayiwa <[email protected]>
Co-authored-by: Dennis Kigen <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: gitcliff <[email protected]>

* fixes (#77)

---------

Co-authored-by: dkayiwa <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: Wikum Weerakutti <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: R-jhel B. Tandugon <[email protected]>
Co-authored-by: druchniewicz <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: Dennis Kigen <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: openmrs-bot <[email protected]>
Co-authored-by: praneeth <[email protected]>
Co-authored-by: chibongho <[email protected]>
Co-authored-by: Jayasanka Weerasinghe <[email protected]>
Co-authored-by: Bawantha Thilan <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: gitcliff <[email protected]>
pgorrindo added a commit to Salcedo-HDF/openmrs-distro-referenceapplication that referenced this pull request Oct 1, 2025
* Switch to openmrs core version 2.7.2-SNAPSHOT

* Bump initializer to version 2.9.0-SNAPSHOT

* (feat) O3-2353: Use demo data content package (openmrs#885)

* Revert "(feat) O3-2353: Use demo data content package" (openmrs#886)

* Revert initializer and core version bump (openmrs#887)

* (feat) O3-2353: Use demo data content package (openmrs#889)

* (chore) O3-4426: Update OpenMRS version and Initializer version (openmrs#888)



* Create surgery nav group (#68)

Create surgery nav group that contains the condition and last hemoglobin of the patient

* Update reporting modules versions

* Delete distro/README.md

* Modify start visit panel (#69)

Remove the Punctuality and Insurance Policy Number attribute

* Remove patient list app (openmrs#892)

* (chore) O3-4460: Prevent over-dispensing medications (openmrs#893)

* Revert "(chore) O3-4460: Prevent over-dispensing medications (openmrs#893)"

This reverts commit 4b2ebf3.

* Update backend versions

* (chore): Bump initializer (openmrs#895)

* (chore): Bump backend dependencies (openmrs#896)

* (release) Release v3.3.0-rc.1

* (release-revert) Reset to dev versions

* Set time to philippines (#71)

Set of each container time to Philippines

* Add more contact details in show more panel (#70)

* Add more contact details

Add facebook id, email address and philhealth id in the contact section

* Add more contact details

Add facebook id, email address and philhealth id in contact details section

* Consistent username and password for database connections

* Set OMRS SMS timezone to philippines (#72)

* Set time to philippines

Set of each container time to Philippines

* Set sms TZ to Philippines

Set sms TZ to Philippines

* Change sms time zone to PHT

* (chore): Update content packages

* (chore): Update content package (openmrs#906)

* (release) Release v3.3.1

* (chore): Remove unreleased modules (openmrs#907)

* (release) Release v3.3.1-rc.1

* (release) Release 3.3.1

* merge Stock/3.5.0 into Dev (#75)

* (release-revert) Reset to dev versions

* O3-4492: Update the Queue module to 2.5.0 (openmrs#903)

* (chore) O3-4332 : Update appointments version to 2.1.0-SNAPSHOT (openmrs#898)

* (chore) update the Queue module to 2.6.0-SNAPSHOT (openmrs#908)

* (chore) Bump EMR API from 2.2.0 to 2.3.0-SNAPSHOT (openmrs#910)

* (chore) O3-4504: Optimize Distro E2E Test Workflow Using Matrix Strategy (openmrs#911)

* (chore): Bump version of content packages (openmrs#912)

* (chore) Upgrade to Java 17 from Java 11 (openmrs#913)

* Bump the webservicesrest module version to 2.49.0-SNAPSHOT

* Update FHIR2 version

* Update openmrs core version to 2.7.3

* Restore patient list related frontend modules

* Bump openmrs core to 2.7.4-SNAPSHOT

* Bump legacyui module to 1.23.0-SNAPSHOT

* Update module versions to latest (openmrs#920)

* (release) Release v3.4.0-rc.1

* (release-revert) Reset to dev versions

* Move dev3 to latest SNAPSHOT of demo content package

* Update demo content version

* Switch to SNAPSHOT content packages

* Bump webservicesrest to 2.50.0-SNAPSHOT

* (chore) Upgrade Node.js to 22 in frontend Dockerfile (openmrs#924)

* Implement the same caching scheme adopted for module-spa

See openmrs/openmrs-module-spa#63 and https://openmrs.atlassian.net/browse/O3-4395. In essence, almost everything is served with Cache-Control set
to no-cache, must-revalidate. This means that any static content that is
not either the openmrs.css file or a Javascript file will make a HTTP
request with If-Modified-Since and If-None-Match headers. The server should
respond to these with a 304 unless they've been changed, which is a fairly
minimal response. Javascript files and openmrs.css are cached for one year.

The idea here is to balance aggressive caching with the need for
implementations to serve custom content from the same webroot.

For implementations not using this image, module-spa implements very similar
caching logic.

* Update to core 2.7.5-SNAPSHOT with a fix for the conceptreferenceranges endpoint

* Update backend modules to newly updated versions

* Bump bedmanagement to 6.2.0-SNAPSHOT

* (test)03-4887: Add support the dispensing app in the reff app e2e distro

* add dispensing e2e

* add dispensing to readme

* README tweaks

* Bump authentication module to 2.0.0-SNAPSHOT (openmrs#930)

* Add CACHE_BUST work-around for backend

* Bump FHIR2 to 2.6.0-SNAPSHOT

* Give the backend a little longer to respond

* (fix) Update frontend service queue config

* (release) Release v3.5.0

* Update backend module versions

* Update core version

* Update bed management version

* Fix REST version

* Update rest version

* Run E2E on every branch

* Run build on push

* Fix bedmanagement version

* Fix bedmanagement version

* (release) Release v3.5.0-rc.1

* Bump FHIR2 to 2.7.0

* (release) Release v3.5.0-rc.2

* (release) Release v3.5.0-rc.3

* Bump Queue module version

* Remove stock management and billing frontends

* Remove stock management and billing backend modules

* Bump backend versions

* Remove stock management and billing from distro.properties

* Re-add stock and billing backend modules

* Update distro.properties

* (release) Release v3.5.0-rc.4

* Update App shell version to 8.0.0

* (release) Release v3.5.0-rc.5

* Bump queue module to version 2.9.0

* Bump Demo content package to 1.6.0

* Bump content ref app version to 1.4.0

* (release) Release v3.5.0-rc.6

* (release) Release 3.5.0

---------














* fixes (#77)

---------

Co-authored-by: dkayiwa <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: Wikum Weerakutti <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: R-jhel B. Tandugon <[email protected]>
Co-authored-by: druchniewicz <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: Dennis Kigen <[email protected]>
Co-authored-by: Ian <[email protected]>
Co-authored-by: openmrs-bot <[email protected]>
Co-authored-by: praneeth <[email protected]>
Co-authored-by: chibongho <[email protected]>
Co-authored-by: Jayasanka Weerasinghe <[email protected]>
Co-authored-by: Bawantha Thilan <[email protected]>
Co-authored-by: Nethmi Rodrigo <[email protected]>
Co-authored-by: gitcliff <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants