GSOC 2022 : Improving the OpenMRS Developer Experience: Updating the SDK

Hi @all following up on Wed 2022-04-06 Platform call .

Could this be the right time to discuss the scope / Ideas of how to include O3 Dev Support / functionality into the SDK. ?

Notes

Thoughts @dkayiwa / @ibacher / @burke /@raff

1 Like

Some Questions / observations to guide answer the problem

  1. What really is included in “Support for Building 3.x Refapp Distro”, does it also include implemenation ? Iam also wondering how to avoid introducing ambiguity following what is already available at the O3 implementation page

  2. Which workflows are we supporting ?

  3. A.O.B

We will need to adapt this project to be something more like “Improving the OpenMRS Developer experience: Updating the SDK”.

@ibacher & @dkayiwa, could you please update the project page toward this end? Focusing on pulling out 1.x functionality into a legacy version of the SDK and cleaning up the existing SDK code.

I’ve added some updates and details. I’d appreciate any questions from anyone looking at taking this project to see what we can clarify.

New page (because I renamed the project) is: https://wiki.openmrs.org/display/projects/GSoC+2022%3A+Improving+the+OpenMRS+Developer+Experience%3A+Updating+the+SDK

3 Likes

Thanks @ibacher noted.

Hello @ibacher , I hope this message finds you well. My name is Mostafa Magdy, a 4th year senior computer engineer at Cairo University faculty of engineering from Egypt. I worked before as a java developer in 2 different companies when i was at the third year in college and really i love to code with java.

I have recently seen OpenMRS’s GSoC project list for 2023 and I found Improving the OpenMRS Developer Experience: Updating the SDK especially very interesting to me, hence I decided to apply for it and it would be very helpful if you give me some tips about what I can do next.

I setup the sdk and tried it also made a pull request on the repo of sdk and saw newcomers session, What can I do more, and what are the resources that you recommend for me to see to be familiar with the project

1 Like

That seems like a good place to start. The SDK is basically a Maven plugin, so some understanding of Maven plugin development would be good to have. This issue might be worth looking at if you have the time…

1 Like

Ok I will do. @ibacher

i took off some time and looked into [SDK-295] Multiple invocations of watch for the same project and server add multiple records - OpenMRS Issues which seamed solved because i was not able to reproduce the bug. Actually, i test on both the snapshot and the version 4.3.0

I watched the project twice and checked if watched.projects had a duplication of the same variable. I took a step further to even remove a condition to set watched project regardless whether it is already watched or not.
I think the java.util.Collection.add functionality maintanins only a single occurance of a project in the watched list

It is so unfortunate that this is the only open issue at the regarding the SDK.

As the rest of the projects requirement are very clear, is Reworking the SDK only going to involve setting up commands so that SDK defaults to java 8 on OpenMRS versions from 2.0 - 2.3, and Java 11 for 2.4+ or other reworks will be created during the internship.

I am just curios knowing the scope to make it simple for the contributor that will be selected on this. the above rework can easily be achieved by pulling creating maven profiles that are activated basing on the OpenMRS version.
While running the SDK, it will automatically check the OpenMRS version and build accordingly

cc @dkayiwa @ibacher