Planning Soldevelo work while Rafał's on holiday

@adamg, @micherman, @gutkowski, and @tmarzeion,

Let’s come up with some work you all can sprint on while @raff is on a well-deserved holiday. Please reply on this thread with thoughts & ideas of things you’d like to work on or any questions you have. If we can organize a sprint, then it’s possible other devs in the community might want to join you.

I’ll make this a wiki post, so we can iterate on ideas – i.e., if you want to add an idea to this list, please feel free to edit this post to add it.

Ideas for 1- to 2-week sprints:

  • Admin Functions. There remain admin functions in the Legacy UI that have not yet been ported to the Reference Application. We’d like to recreate these admin functions using Angular+REST in the Reference Application and migrate these functions into OWA apps (like the Concept Management OWA app) so they can be migrated into the Platform (becoming useful to all OpenMRS implementation, even those that are not using the 2.x UI)

  • Android Client. Soldevelo has pioneered much of the work on the Android Client. You could create a list of fixes/features and make a sprint out of these.

/cc @darius, @dkayiwa, @wyclif, @raff

1 Like

One exciting idea that leverages work the team has already done, would be to spike/explore how to make an OWA that can be included as a first-class citizen in multiple distributions (e.g. as discussed by @mksd in this thread). This would involve exploring how the OWA screens could inherit their global navigation, some styling, auth, etc, from the distro that includes it.

What specific app to do this with?

  • Wearing my Bahmni hat, it would be great if the Manage Accounts admin feature were reimplemented in such a way that we could just plug into Bahmni.
  • Looking at the thread I referenced above, I bet @ssmusoke would love it if we could write an OWA that provides a refapp (and Bahmni) Data Quality Dashboard UI for the back-end functionality already developed by the Bahmni team.
  • Any of the not-yet-implemented-in-the-refapp admin features are fair game too.

If we were to sprint on this, we’d need to ensure that we have enough engagement from @mksd, some Bahmni dev, etc, to critique and advise on the approach we come up with.

2 Likes

And if all the above does not look interesting to the Soldevelo team, having a sprint around the existing community priority reference application tickets, would be another piece of cake to consider!

@adamg’s and mine thoughts:

Working on Android Client seems great, @tmarzeion and @adamg already are helping out @avijitghosh82 as part of their ‘One day a week project’, which @raff introduced for our team last month. Although, @raff mentioned that right now this app is not really used in implementations, and we think that before creating sprint we should evaluate which features/what problems are cause of this state. Do you have any ideas/data about that?

This one looks interesting too. What Bahmni team thinks about it?

2 Likes

Android sounds nice to me since mobile development is my favourite branch of coding :wink: PS. I totally agree with @gutkowski’s and @adamg’s opinion. PS2. Android is love, Android is life

1 Like

@gutkowski do you want to start a new email thread to the implementer community and ask what they would love to see in the android app if they are to start using it?

@dkayiwa Do you mean topic on Talk’s Implementing category? Because if I understand this this post correctly, Implementers mailing list has been replaced with it.

@tmarzeion and @adamg, there’s one thing I’d really like to be done. One important task of GSoC was to move away from XForms and ODKCollect and use dynamically generated forms from the rest api. While the second part is done, there are still some remaining dependencies on the ODKCollect module which prevented me from completely deleting it. Could you guys just pick up the necessary parts, integrate it into the main app module and delete odkcollect altogether? That would clean up the code and reduce app size nicely :slight_smile:

Also there is a force close in the app when the app is started and logged into for the very first time. I asked rafal about this, and I suspect from the logs that this is related to xforms as well.

I’ll think of other things and put them in JIRA as I can. I’m slightly busy with midsems till the 20th, I’ll begin helping out with actual code after this! :smiley:

1 Like

@gutkowski you got it right! :slight_smile:

@dkayiwa Done, see : Planning Android Client development

Hi @darius,

I guess I should start with your openmrs-owa-tutorialexample and probably leverage on what you have already done with openmrs-owa-uicommons? Looks like this thread is a great resource too: Concept Dictionary OWA 1.0.0-beta released! Actually the discussed OWA presumably shows how to handle styling and auth no?

As you guessed, we would be keen to start with developing a cross-distribution UI for the Data Quality Dashboard.

2 Likes

@mksd, actually, you should ignore my older example, and instead look at OWA Yeoman Generator v0.3.0 Release and the Concept Dictionary OWA. These are newer and show a better style and approach.

Soldevelo team, I would strongly recommend against focusing whole sprints on the Android Client in the near term. Answering the questions of “what do real implementations need from a mobile client?” and “is there a specific gap in the Android Client that will make it valuable for real implementations?” will not happen quickly. (The other thread you started about planning AC work is a good start at a conversation, and I’ll follow up there.)

@dkayiwa’s suggestion to focus on the community-priority tickets is actually very important. I’d go further and say that the default answer to “what OpenMRS thing should we be working on?” should always be that!

1 Like

@darius, considering what you say, the fact that QA sprint is almost finished and we are eager to work, I guess you are right.

@darius Having apps for multiple distributions is a good idea. As you said, we will need to explore ways in which we can make it generic at the same time leverage styles, navigation from the distribution. From Bahmni side, we are interested in the idea. Some thoughts on top of my mind.

  • Can the apps developed be javascript components/packages (React/Angular 2) instead of full blown apps. The advantage of having them as components is that we can do a little plumbing on the distribution side to incorporate them.
  • If the apps are completely independent (or on administration side) and have their own navigation, it can be OWA apps and the distributions can provide a way to link to the apps. But not sure it is a seamless integration from user experience perspective.

@gutkowski, when does the current sprint finish, and when would the next one start?

I suggest that the next sprint should focus on community-priority tickets (@dkayiwa and @wyclif, you two should review those and make sure everything there is actually a good one).

During this sprint, someone could also spike on what might be a possible way for the Data Quality Dashboard UI to look native in both Bahmni and the Reference Application.

@darius QA spring finished yesterday, we can start the next one as soon as it is created on JIRA.

Maybe dynamic importing with SystemJS would do the job?

@gutkowski, we already have an existing Kanban board for the community-priority issues: https://issues.openmrs.org/secure/RapidBoard.jspa?rapidView=79

I suggest we just use this, rather than specifically creating a Scrum board.

(Meta: the idea is that you’re putting one iteration worth of effort into an ongoing “continuous flow” of effort.)

Does this work?

(@wyclif, @dkayiwa, can you please review community-priority tickets and ensure they all are still priorities?)

@gutkowski the feature that @darius is talking about for the Data Integrity module is here https://issues.openmrs.org/browse/DINT-68 and the relevant Talk conversation starts from Data Quality Dashboard

I am available to offer you any testing/QA support that you need

@darius, are you suggesting that @gutkowski should look into UICM-71 then:

I mean before specifically working on a cross-distribution UI for the Data Quality Dashboard (which is what DINT-68 is about I believe)?

@mksd, no, UICM-71 was a ticket I created at the beginning of the year, and that it has more or less been addressed by work done on the Yeoman generator and the Concept Dictionary OWA since then.

We need a new ticket that phrases the DINT-68 work in terms of a cross-distro-suitable UI. (Someone, maybe me, should create this and report the number back here.)