Should we consider forking OpenMRS SDK? This would help to onboard new developers easier.
I think it a good idea to have an SDK, but I think OpenMRS SDK has taken a monolithic approach, where it installs OpenMRS locally. This is a heavy way to build apps for a platform. Modern PaaS platforms, allow building against a hosted platform. I think we should allow working against a demo or spawning a hosted image of the platform…
The OpenMRS SDK allows people to work on both Platform and Modules, so I think the need is there. So it’s still needed for development purposes. What is your vision? We need to be able to spin up local development instances of LH Toolkit, so something has to exist.
I think we should encourage moving away from local development. From experience of all the popular and good PaaS platforms out there, less local is better to get more developers. Even for core platform development, we should avoid as much local installation as possible.
How do you propose we handle doing changes to Toolkit itself, I’m talking backend code logic?
We don’t have the tooling, nor the capacity to support this at the time. So we need a solution for now. Even if we deprecate it down the road.
Forking OpenMRS SDK for use with LibreHealth projects doesn’t make much sense.
If your module is a Java module, then the SDK does not aid your development in anyway but spawn a server so you developer against and once your server is up and running you have no interaction with the sdk again as it will not offer live reload. The sdk only offers live reload for reference application modules(modules that use the ui-framework which are mostly groovy modules). Since we won’t be moving in that direction as we are turning to owa and web components that use case is not helpful. Forking the sdk just be able to spin servers doesn’t make much sense.
I used the SDK during gsoc but that was only to easily setup a running server. To setup live reload you need to use an external tool.
As regards using it for open web apps development. There is a feature with the scaffolder that I don’t like. The project generated has local development information necessary to deploy your app locally hence making collaboration hard as anyone working on the same app will have to modify the configuration settings and always remember not to commit them.
I’m not sure the sdk can be used for core development. Just modules and owas. It provides a server(core) for these apps to be deployed to while development but if you are developing core itself then there is no need for it.
Well, assuming we’re working an OWA module – I guess we don’t need this – was worth bringing up.
Let’s make a new one. I’m not sure what this would look like…