Deep understanding of O3 development

Let’s make O3 development clear i have been struggling to start development in O3.trying different documentation but does not lead me any ware i would like to get deep understanding on how i can start development mainly in openmrs distro with docker

1 Like

Greetings @idriscreator - yes let’s make this better :slight_smile:

First: have you gone through the O3 for Developers onboarding course?

1 Like

Thanks for your concern i have passed through the course you shared but i am still in some confusion because it’s a lot to digest the courses have good arrangement but in dev parts are just pieces. I would like to have good understanding on how to develop on top of openmrs, and the appropriate steps to take for example i tried to run template-app so i can try and see but just bringing errors on launching page.

I would like to test creating a very simple module for wound assessment and add it as a package in distro so as the link in sidenav can appear to when we select a patient from patient list. The module just compromise with wound assessment form and table to display the added assessment

1 Like

Can you share the errors you’re seeing here so we can have a look?

Nice one! So you would want that table to have a link to the wound assessment form, right?

p.s. just to double check, you have seen the O3 Dev documentation, right? E.g. this page: Creating a frontend module – O3 Docs

I have come across care program what i want to do just like this module where i can see the link in a sidenav when is clicked to open slot where can view the assiements and a add button when clicked to open form to fill the assessments

Yes of course and i have tried to run template-app but i had errors in landing page

Here is the error i had while running template-app

Perfect thanks, @dennis is looking into this now and will post shortly that this is fixed and how. The issue is specifically related to this one: Developing frontend modules – O3 Docs In your case, the version of the core tooling needs to be bumped similar to a pr like this one: (chore) Bump dependencies by denniskigen · Pull Request #29 · openmrs/openmrs-esm-template-app · GitHub This is because of the dependencies that simply periodically need updates.

Yes, that’s correct. I have created a PR to address this issue: PR #32.

To get the latest changes in the Core framework, we need to periodically update two dependencies: the openmrs tooling and the Core framework. Other repositories like the Patient Chart and Patient Management are updated more frequently, so they tend to synchronize changes to these dependencies more often.

Thanks for bringing this to our attention. It should be resolved soon.

1 Like

If you’re looking for more guidance on setting up an instance of O3 using Docker, check this guide out Setting up an instance of O3 – O3 Docs.

1 Like

Can i use extension and slots configuration method to add a complete module and it’s functionalites for example can i create a form where user can add and submit data and a widget table to render the inputs

Yes, that’s basically the point of them.

And how about the database can i add another new column and and access it via rest or Fhir endpoints so as i can create new modules

Also can you share with me good docs on how i can add a whole functional module using extension and slots configuration

Any additional fields you add, you need to provide the REST API to access. There are tutorials on various aspects of that on our Wiki. E.g., https://openmrs.atlassian.net/wiki/spaces/docs/pages/25477395/Create+and+Deploy+Your+First+OpenMRS+Module and https://openmrs.atlassian.net/wiki/spaces/docs/pages/25470374/Adding+a+Web+Service+Step+by+Step+Guide+for+Module+Developers. The template app has a quick walkthrough of the various parts of a frontend module.