Micro Frontends Architecture for OpenMRS

@joeldenning 2019-06-06: last week and this week’s meeting recordings look the same. Was it a typo? :slight_smile:

@dkayiwa you’re talking about my post from a week ago? Not the one from today? Regarding the two links in last week’s post - yes they look like the same link, although that’s the link that @jdick posted two weeks in a row. Perhaps the old one was replaced? @jdick can you comment?

Sorry about that, here is the correct link: https://iu.zoom.us/recording/share/FhQcA1_I1fbwA0tln233xbQ0k8QdzHeEHY3KlNvzKR2wIumekTziMw

New article on micro frontends https://martinfowler.com/articles/micro-frontends.html

1 Like

Thanks for the pointer! :slight_smile:

Dear All,

Joel has added three new proposals to the RFC regarding style guide, custom components, and design libraries.

There are lively discussions going on in each proposal and we encourage everyone in the community to take some time to review and contribute.

Proposal: OpenMRS Styleguide #8 https://github.com/openmrs/openmrs-rfc-frontend/pull/8

Proposal: Styleguide Javascript Components #9 https://github.com/openmrs/openmrs-rfc-frontend/pull/9

Proposal: OpenMRS Styleguide and Design Libraries #10 https://github.com/openmrs/openmrs-rfc-frontend/pull/10

Please don’t hesitate to ask if you have questions on the RFC process. For comments on specific proposals, we encourage you to post your comments directly into the RFC Proposal on github.

Thanks,

JJ

3 Likes

Thanks @jdick for this information. :slight_smile:

Since there is a lot going on there, which some people may not have time to follow, can we bring out a few things here to get their input? An example is the exchange that i have seen for creating and maintaining our custom style guide that new developers have to learn vs one that is maintained by someone else like Bootstrap which new developers already are familiar with from other non openmrs projects.

Daniel, given that the current conversations represent ongoing discussions it may be pre-mature to post a summary of what’s been said. In the current process, once three members of the squad approve, the proposal will be merged. Perhaps, once we have approval from the squad, a summary could be posted of the decision made for that particular proposal so that the community is aware. We could then wait an additional 24 hours following the post to ensure there are no final contributions to the discussion. I would still encourage followup discussion to take place on github.

I just posted this on the Slack Channel:

Dear Team Members: I am here to support project management related activities in the group (where applicable) especially communications between the group and the broader OMRS community. I thought I should take this opportunity to put my hand up . @jdick @joeldenning @Gregory. I can work the the team to do the following:

a) Channel important conversation points to be shared with the community

b) support documentation of ongoing activities

c) provide guidance on some of the standards and norms that we have adopted for the creation of pages, content etc., facilitate/coordinate meetings, calls etc with the broader community.

I have noted that there are weekly calls internally, and there has been a suggestion to do one community call once a month. Are there any other project governance structure you have agreed on so far?

As a start, I would like to collate some minutes of the meetings that have been conducted thus far as part of the wiki pages for this project, where would I find that information?

If the team has other activities they would need support, please do let me know.

Hi @c.antwi,

We’d love you to help us out.

I have noted that there are weekly calls internally, and there has been a suggestion to do one community call once a month. Are there any other project governance structure you have agreed on so far?

Yes, our project governance structure is described in https://github.com/openmrs/openmrs-rfc-frontend.

I would like to collate some minutes of the meetings that have been conducted thus far as part of the wiki pages for this project, where would I find that information?

This Talk thread has all the links in previous posts, but here’s a compiled list:

Here’s our wiki link – it’s just a placeholder right now and we’ve got a lot of work to go in making it valuable and good: https://wiki.openmrs.org/display/projects/Frontend+-+SPA+and+Microfrontends?searchId=XKYGPSEJ4. It is listed in the “Active Projects” wiki

And here’s our JIRA project, also new: https://wiki.openmrs.org/display/projects/Frontend+-+SPA+and+Microfrontends

If the team has other activities they would need support, please do let me know.

We are running a hackathon next week in Kenya with a few groups. If you’d like to get involved in that, definitely reach out. Beyond that, we’ve been doing some pair programming within the microfrontends squad and then posting our work to OpenMRS github repos as pull requests. Happy for you or anyone else to get involved however you’d like to.

1 Like

We are having a microfrontends squad meeting tomorrow at 3pm UTC. Anyone is welcome to join, here’s the zoom link: https://om.rs/zoommicrofrontend

1 Like

Hi, this was posted on Hacker News this week. Has good points re governance

https://doist.com/blog/decision-making-flat-organization/

Updates from Thursday’s meeting (the one linked to above):

  • I demoed the work we’ve done in preparation fro next week’s hackathon in Kenya. We have put together a proof of concept login page, patient search, patient dashboard, and navbar. They don’t look great and we don’t plan on using them for openmrs itself. Just for the hackathon. The patient dashboard is split up into widgets/microfrontends. Each widget can choose its own framework, and the hackathon participants will have that choice.
  • The code for the widgets is not in the openmrs Github repos, but rather on my github, @fali’s github, and other participant’s github. This is so there’s no misunderstanding that the code is “the new openmrs frontend code.” The openmrs code will be built more carefully and with deeper collaboration from the community.
  • We created a wiki page for the microfrontends project.
  • We created a JIRA project for the microfrontends project.
  • Cynthia is now on our calls and will be helping the microfrontends squad in a variety of ways.

Here’s a gif of what we’ll be working with for the hackathon:

4 Likes

Thanks @joeldenning for this update. The link to the microfrontends wiki project page does not look correct.

thanks – just updated it.

We would like to hold a Design Forum next Monday, June 24, to discuss the new OpenMRS styleguide. @c.antwi, @dkayiwa, @jennifer can you help us set that up, schedule it, and broadcast it?

Here are the RFC discussions about the styleguide:

Building micro frontends by Martin Fowler - https://martinfowler.com/articles/micro-frontends.html#TheExampleInDetail

Proposal for Naming modules https://github.com/openmrs/openmrs-rfc-frontend/pull/11

1 Like

Kenya hackathon

We had a very successful hackathon this week in Eldoret, Kenya. I will let someone else (@jdick?) post a more complete recap of it here. But here’s a gif that shows some of what was built by the participants. We had around 20-30 devs working on it! Very fun, we learned a lot, and everyone I think everyone was very excited about close collaboration between Ampath, Kenya EMR, Uganda EMR, Faces (Tanzania), Path, and Medic Mobile.

This gif is not a final anything, but the result of a hackathon. Notice that we changed the “Find Patient Record” link in the ref app to take you into the new SPA code. This is the proposed migration path for those using JSPs/GSPs. Read more at https://github.com/openmrs/openmrs-rfc-frontend/blob/master/text/0005-migrating-from-jsps-gsps.md

Other updates

  • We are having a design forum on Monday to discuss the creation of an “OpenMRS Styleguide”
  • We had our regularly scheduled call on Thursday. Waiting on getting the link to the meeting recording and then I’ll post it here.
  • @aojwang and @bistenes have been working on getting Tomcat to serve the SPA javascript assets and import map. Antony succeeded in getting the javascript assets served through a subdirectory of the Application Data directory. Import map is still remaining. See https://github.com/openmrs/openmrs-module-spa/pull/2 and https://github.com/openmrs/openmrs-module-spa/pull/3
  • Antony and I succeeded in getting his local development environment set up for the SPA. It now works in Tomcat 6 (as well as Tomcat 7).
  • @ssmusoke posted an RFC about naming frontend javascript modules. Angshu and I are starting work on an “implementation config” RFC. Fatma will soon start work on one related to “migrating from another SPA to the OpenMRS SPA.”
4 Likes

@joeldenning thanks for the great work ,is the work broken down into sprints , also has the team come up with a Backlog ,so interested parties may contribute or is the initial development tied to the "Kenya Hackathon Team " ?