GSoC 2021: Improving Functionalities of DHIS Connector Module - Project Updates

2021-06-30T18:30:00Z Update

Weekly Update - Week 4

From 2021-06-26T18:30:00Z to 2021-07-02T18:30:00Z

Updates:

  • Fixed the error occurred in reporting rest module
    • Sent the Pull Request and it was merged
  • Sent the Pull Request for save/update location mappings
  • Created issue for Updating run reports UI to work with location mappings
  • Tested Upgraded Run Reports UI locally
    • Send data function is completed
    • Download DXF json functionality is also completed
    • Download ADX functionality is not completed yet.
      • It throws a Class Cast Exception
        Request processing failed; nested exception is java.lang.ClassCastException: javax.xml.namespace.QName cannot be cast to javax.xml.namespace.QName
      • Need to find the reason for the error
  • Tested the Upgraded Automation UI with location mappings locally

.

Next steps:

  • Create issues for remaining location mapping tasks
  • Upgrade the Run Reports UI and Automation UI to work with the location mapping feature
  • Recheck the scheduling functionality
  • Start working on Role Based Access Control System

cc: @akshika47 @k.joseph @jayasanka

1 Like

Here’s a small preview of upgraded run reports UI. ezgif.com-gif-maker (6)

2021-07-03T18:30:00Z Update

The Pull request for location mapping UI was merged yesterday. Thank you @jayasanka and @akshika47 for reviewing and merging.

I found that the ADX download option (in Run Reports UI) is not working in the current version of the DHIS Connector Module. It throws a 500 Internal server error.

I created 2 new pull requests for Upgrading run reports functionality and automation functionality. Still, the Pull requests are in draft mode. I need to do recheck it before making it ready for review.

And the JIRA issues are still under review and need to be marked as ‘Ready for Work’. https://issues.openmrs.org/projects/DCM/issues/DCM-49 https://issues.openmrs.org/projects/DCM/issues/DCM-50

@akshika47 @jayasanka Could you please check it and update the issue state.

1 Like

2021-07-04T18:30:00Z Update

Added unit tests to the previous Pull request. Now it is ready for review.

Also sent a Pull Request for Supporting Weekly Sunday Period Type

Please review and merge

Weekly Update - Week 4

From 2021-07-03T18:30:00Z to 2021-07-09T18:30:00Z

Updates:

  • Upgraded the Run Reports UI and Sent the pull request. (A preview GSoC 2021: Improving Functionalities of DHIS Connector Module - Project Updates - #26 by piumal1999)
    • Added the unit tests and updated the pull request

  • Sent the draft pull request for Upgrading the Automation UI. But it can’t be merged due to the conflicts. Need to merge the previous pull request ( DCM-49: Add automated location mapping for Run Reports UI) before merging it.

  • The pull request for Supporting Weekly Sunday period type was merged
    • Also fixed a bug in Weekly period type with the same Pull request
    • So now the automation UI supports the Weekly Sunday period type
  • Also I sent 2 more Pull requests for more period types
    1. Weekly Wednesday DCM-44 - Merged
    2. Weekly Thursday DCM-45
    • I can send the pull request for Weekly Saturday period type as soon as the previous pull request is merged

  • Started working on the Role Based Access Control System
    • Found some resources for the task.
    • Tested the module pages by adding privileges
    • I’ll create another thread for the updates of this feature

Next week:

  • Finalizing the roles and privileges (A new thread will be used)
    • And Try to Send the pull request for creating privileges
  • Completing the Run Reports UI (Reviewing and merging)
  • Completing the Automation UI
  • Add the remaining period type supports for automation

cc: @akshika47 @k.joseph @jayasanka

2021-07-13T18:30:00Z Update

  • Sent a pull request for supporting Financial November period type in automation
  • Added the proposed module privileges to the thread

This is the automation UI that I have designed now. But I noticed that with this design, users can’t see which locations-orgunit mappings are available for the selected mapping. In the run reports UI, it automatically shows the available location-orgUnit sets but here it doesn’t.

So do we need to show the available location-orgUnit sets in here also? Or is that not needed

cc: @jayasanka

Weekly Meeting (Week 5) - 2021-07-16T18:30:00Z

Attendees: @akshika47 @piumal1999

Updates:

Next week:

  • Create the privileges for module
  • Continue working on the Access control system
  • Completing the Run Reports UI (Merging the Pull request)
  • Completing the Automation UI
1 Like

Hi @jayasanka @akshika47, I was able to upgrade the Automation(Scheduling) functionality of DHIS Connector module integrating it with Automated Location Mapping, so the users don’t have to choose the locations and org. units manually. Here’s a small preview.

JIRA Link: https://issues.openmrs.org/browse/DCM-50?filter=-1

PR Link:

Please review and merge.

Unable to update data model using liquibase.xml - Module DHIS Connector

With the automated location mapping feature, the database of module will be changed a bit. Unwanted columns of both tables used in DHIS Connector Module will be removed.

This may cause an error saying Unable to update data model using liquibase.xml after updating the module. I found the solution for this issue from here

This sometimes happens with OpenMRS modules. Ideally liquibase existing changesets should never be modified and if there is a modification required, it should be added as a new and subsequent changeset.

Liquibase makes entries in table liquibasechangelog to keep track of executed changesets with a checksum/hash. When changeset is modified the checksum is found different and this error is encountered.

In above script we removed all tables created by previous version of team module, and also deleted all liquibase entries made by this module to allow module installation start from point zero. Offcourse, if it were production server, we never had deleted the tables. Also we never delete liquibase entries to avoid already executed changesets run again (this sometimes can also cause failed installations)

Deleting every row related to DHIS Connector module in the liquibasechangelog fixed the issue. Sometimes you may need to delete the report_to_dataset and location_to_orgunit table too

1 Like

Weekly Update - Week 7

From 2021-07-17T18:30:00Z to 2021-07-24T18:30:00Z

Updates:

  • New run reports UI is completed (Merged)
  • Fixed the bugs in automation UI and updated the pull request
    • Ready to review now
  • Created JIRA epic and issue for user privileges
  • Sent the pull request for creating user privileges

cc: @akshika47 @jayasanka

1 Like

Weekly Meeting (Week 8) - 2021-07-30T18:30:00Z

Attendees: @akshika47 @piumal1999

Updates:

Next week:

  • Completing the user access control system
    • need to merge the remaining Pull requests
    • need to finalize the draft Pull requests and make them ready for review.
  • Updating the documentation by adding the location mapping feature details
    • updating the github repo readme
    • updating the wiki page
  • Start working on UX issues
    • Create the JIRA issues

Hi. The user access control system is almost completed now. I sent pull requests for adding privileges to all the pages except the import/export pages. All the details and screenshots are posted in this thread: DHIS Connector Module - User Access Controlling

These are the Pull requests for adding privileges:

@jayasanka @akshika47 Could you please review and merge these. Thank you

2 Likes

Hi @dkayiwa, Could you also please review and merge these pull requests. I have added the pull request links to jira as well. Thanks in advance

@piumal1999 did your primary mentor take a look at them?

@piumal1999 @dkayiwa I will review these and merge them before the end of the day.

1 Like

Weekly Update - Week 9

From 2021-07-31T18:30:00Z to 2021-08-07T18:30:00Z

Updates:



  • And I have started updating the documentation. I will be able to send the Pull request for updating the readme file by tomorrow.

cc: @akshika47 @jayasanka

1 Like

Weekly Meeting (Week 10) - 2021-08-13T18:30:00Z

Attendees: @akshika47 @piumal1999

Updates:

  • Previous Pull requests were merged
    • Updating the README file
  • Sent pull requests for few UI issues
    • Separating the toggle automation option from the main table of automation UI
    • Adding a button to test the DHIS2 Connection
    • Upgrading the automation UI
  • All were merged
  • Small preview of upgraded Automation UI


Next steps:

  • Updating the wiki page
  • Creating the demonstration and final talk thread

cc: @akshika47 @jayasanka

1 Like

I have updated the module wiki page. https://wiki.openmrs.org/display/docs/DHIS+Connector+Module

Created the final demonstration video for the project.

And also create the final document draft. Could you please review it. https://medium.com/@piumal1999/improving-functionalities-of-dhis-connector-module-4492fb674d94

cc: @akshika47