Hi all,
I want to provide an update on what’s been happening over the past few weeks. During this time, my focus has primarily been on two tickets. Let’s take a closer look at each ticket and the progress made on them.
TRUNK-6203: Global property access should be privileged
This ticket has been a significant priority for OpenMRS, with plans to incorporate it into the platform version 2.7. Adding authorization for accessing global properties enhances system security. Once this authorization is implemented we have to ensure core functions and modules can access global properties during startup for smooth user login.
There are two methods to resolve this:
- We could utilize the addProxyPrivilege(String privilege) method to grant the privilege to the user when necessary.
- Alternatively, we could introduce a new method that grants access to essential privileges to anonymous users.
After discussing with @dkayiwa, we have decided to proceed with the first method
I’ve created the following PRs for this ticket:
In addition, we might have to add support to a few other modules to ensure compatibility with both O2 and O3 distributions.
OMRS-131: Detailed Audit Logging
We decided to use Hibernate Envers to audit changes in the OpenMRS database. This choice aligns well with our current use of Hibernate throughout OpenMRS. To fully enable audit logging, we need to complete the following steps:
- Enable Hibernate Envers in the OpenMRS core.
- Develop a separate module that allows users to view the logs.
I thought enabling Envers going to be a straightforward task because according to the Hibernate Envers documentation, you just need to add the Hibernate Envers dependency to the project and use the @Auditied annotation to the entity you need to audit. However, I faced several issues, particularly with auto-generating audit tables for some entities. I won’t delve into the technical details here, but if you’re interested, please take a moment to read the comments in the following PRs.
- OMRS-131: Detailed Audit Logging
- TRUNK-6240: Field Answer - Switching from Hibernate Mapping to JPA annotations
- TRUNK-6239: AlertRecipient - Switching from Hibernate Mapping to JPA annotations
- TRUNK-6238: Drug Ingredients - Switching from Hibernate Mapping to JPA annotations
After several fixes, I have enabled auditing for all core tables except the user_properties
table. I am currently investigating this issue and hope to resolve it without making significant code changes to the core.
GSOC-2024: Validating and re-working (updating) the OpenMRS PatientFlags module
We chose @manojll for this GSOC project due to his excellent proposal and significant prior contributions to OpenMRS. He is now hard at work on this project and has already made a few pull requests. You can find more details about the project’s progress by visiting the wiki project page and reading his blog posts. Both @dkayiwa and I are excited to mentor him on this project.
Thank you for taking the time to read this update. Your valuable feedback is always appreciated
cc: @grace