GSoC 2021 - Export and Import feature for the OMRS reporting module: Updates

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

Today I tried to find out why the imported objects don’t work the way they are supposed to, turns out when the serializedData string in serializedObjects is deserialized back into original objects it automatically sets attributes like Creator, DataSetDefinitions, CohortDefinitons, etc… to null.

I’m using XStreamShortSerializer to deserialize the XML string. I wonder how it’s done in the metadata sharing module. I had a look but I couldn’t find exactly how it’s working there.

@k.joseph @raff @dkayiwa would you be able to give me some pointers on this, please?

Do you have a unit test to reproduce this?

1 Like

@dkayiwa thanks for replying.

No, but I could write a unit test for this. But the thing is the function does run properly, it’s the persisted metadata that doesn’t work.

I wanted to know if getting a serialize object from metadata sharing module and converting the seriazlied data string into an object should work or not?

How is it handled on metadata sharing module when serialized objects are imported?

5th weekly meeting 2021-07-07T18:30:00Z

Attendees: @k.joseph @heshan

  • Heshan had the basic requirement completed with two functions to export multiple mapping files and import them back again
  • Heshan demoed the function
  • Had written his own dao hibernate function to persist the serialized objects
  • Now the module does not depend on the metadata sharing module
  • Suggestions:
    • Change the created date and creator on the import
    • Move the other supporting utility functions into a different util package folder
    • Create a Jira ticket and Send the PR
    • Selection UI is pretty old, change the UI using simple checkboxes as the next step
    • Merge import mapping(s) and export mapping(s) tabs into a single tab
    • No need to merge the export/import of the DHIS api into this as suggested before
    • Have a chat with @piumal1999 to avoid work duplications, invite him to join the next weeks call to discuss
1 Like

Jira ticket,

https://issues.openmrs.org/projects/DCM/issues/DCM-51?filter=allopenissues

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

@k.joseph please review :slightly_smiling_face:

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

As was suggested in the last meeting I started on planning how to simplify the UI while maintaining the minimum number of tabs in the DHIS Connector module and came up with an idea. I thought of merging export mappings, import mappings and manage mappings UI into one manage dhis mappings dashboard. Here’s a basic wireframe I created to illustrate it.

Any thoughts?? @k.joseph @jayasanka

i think this look ok, we will need to rename mappings to imply that more than mappings is getting imported/exported which includes OpenMRS reports etc. Alternatively add a checkbox in the dialog that is by default selected saying include reports etc which may be unchecked and if would only export mappings or build a skip mechanism

1 Like

Sure @k.joseph Noted!!

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

Today, I worked on integrating the export mappings function to the manage mappings UI. I made a controller in the dhiscontroller and got it to work by writing a js function to keep the selected mappings in check.

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

Today I worked on and finished the manage mappings dashboard by including the export and upload mapping bundle function into it. Here’s a demo of how it works for now.

1 Like

6th weekly meeting 2021-07-28T18:30:00Z

Attendees: @heshan @dkayiwa

  • Daniel had reviewed the previous PR
  • Should bring all the functionalities into a single UI
  • Daniel suggested
    • Break down the current PR into a few smallest possible PRs
    • Create separate tickets in the Jira as well
    • Try to do only one thing in a single PR
    • Refactors should be done as separate tickets
    • Use provided as the scope in dependencies

Next steps:

  • Split the current PR into few smaller ones
  • Send the PR to improve the manage mappings UI

2021-07-29T18:30:00Z update

As suggested I broke the previous PR into two smaller PRs and sent the first one for export mappings today.

Ticket,

https://issues.openmrs.org/browse/DCM-59

Pull Request,

cc: @dkayiwa

7th weekly meeting 2021-08-04T18:30:00Z

Attendees: @heshan @dkayiwa

Update:

  • 3 Pull Requests were made and got them merged,

    • Export mappings PR
    • Import mappings PR
    • Improve manage mappings UI to handle export and import functions
  • The core requirement of the project is finished

  • @heshan suggested some additional ways to improve these functions

    • Let the users choose if they want to export metadata too or just the mapping files
    • Let the users choose if they need to replace the metadata files on the import or ignore the file if an object with the same uuid is present in the system
  • Plan for the next two weeks

    • Next week: Send PRs for those two additional improvements
    • 10th week: Documentation

Jira Issue: https://issues.openmrs.org/projects/DCM/issues/DCM-63?filter=allopenissues

cc: @dkayiwa

Progress demo:

2021-08-18T18:30:00Z Update

The final report draft link:

Final submission video:

cc: @dkayiwa

1 Like

Final Presentation Talk Post: