First off, this was great! I love that I was able to spin up a server I had via the SDK, and add the OWA without needing to restart anything. I also love that this can add Index Terms to concepts. The API has supported this for 5+ years, but it has never been accessible through the UI!
Some random UI feedback as I clicked through it:
- It’s not intuitive (to me) that the home icon in the breadcrumbs is just going to take you to the home screen of the app. I would expect it to go to /index.html of the whole OpenMRS application, and for there to be an extra level of breadcrumb to represent the app’s homepage.
- “Delete forever” (i.e. purge) is supposed to be a rarely-done and destructive operation. I don’t think it should be available on the “list all xyz” pages. You should only be able to do it when viewing a single item, and the button should be somewhere that makes it a bit hard to accidentally click. And purge absolutely needs to have a modal confirmation, since this operation cannot be undone.
- Sorting isn’t done (at least on Concept Classes) is not done correctly. It should be (a) retired before non-retired, and (b) sort alphabetically (ignore case). It seems like it’s currently sorting by dateChanged.
- When creating a new Concept Class, the submit button is not tab-selectable.
- “ConceptSource.hl7code” is not translated on the listing page (though it is on the create/edit page)
- Change the wording from “Manage Concept Drugs” and “Concept Drug Management” to just “Manage Drugs” and “Drug Management”. (It was a mistake from the beginning of OpenMRS to call these “Concept Drugs” in the UI, because they are actually their own domain object.
- Further, we should make the translations happen via transifex, and see how to incorporate that into the build pipeline of a javascript app
- the “Combination” label when creating a new drug does not have < label for= >. (I haven’t looked at other, but try to get in the habit of always doing this for inputs.)
- since ConceptDatatype are not actually editable, call it “View Concept Datatypes” (instead of Manage).
- FYI, the UI that you copied for Concept Reference Terms is pretty terrible. (This is obviously not your fault!). We should completely redo, e.g. by having reference terms belong to a concept source, navigation-wise.
- Editing a Concept Class does not show its retire information. It should (like Manage Concept Sources does).
- For Concept Sources, I don’t like that you can retire something easily with a single click, but this doesn’t let you specify the reason, so this defaults to “web service call”, which a real user would find confusing if they ever looked. My recommendation is that clicking the retire button brings up a modal dialog with a retire reason field automatically focused, so the user can quickly type something, and press enter.
- When I save a concept source, the alert says “Made up has been saved…” I suggest putting quotes around the name so it’s obvious what was user-entered, and what was part of the message. (Also, there’s an extra period.)
PS- I’m happy that script injection doesn’t work: