2017-05-17 Design Forum
How to Join
Agenda
Attendees
Wyclif
Darius
Daniel
Burke
Topics
Creating/defining a backlog of "needs design" issues
Notes
Creating/defining a backlog of "needs design" issues
We have a JIRA filter, but aren't using it
Would like to be considering most relevant issues (not tickets that are 4 years old)
TRUNK-2284 - Common tagging mechanism for openmrs objects (GSoC 2017)
Project page: https://openmrs.atlassian.net/wiki/x/dbZTAQ
Proposal: tags shared across all domain objects
tag:
id
name
object_tag_map:
object_class
object_uuid
tag_id
(or, skip the mapping table, and just have object_tag have object_class, object_uuid, and tag_name)
Darius: my initial reaction is to skip the tag table and just have a map table.
Burke:
when you request a REST object (from any resource) it has "tags" on it (a list of strings) as a top-level property
consumer API is just "add tag 'foobar' to object xyz" (you shouldn't need to create a tag first)
would like to be able to do getHavingTag(Class<? extends OpenmrsObject>, String tag)
REST API?
GET .../tag?q=need => returns [{tag:"needs-review",count:25}]
(a) GET .../patient?tag=needs-review
=> returns a list of patients
(b) GET .../taggedobject/needs-review?t=patient
=> returns a bunch of links to object
TRUNK-3158 - Explicit Control over Flush Mode
https://github.com/openmrs/openmrs-core/search?utf8=%E2%9C%93&q=setFlushMode&type=
This method seems like a bug (changes to manual but never resets it): https://github.com/openmrs/openmrs-core/blob/571f3080b3d870dd7c1d3a00a01aab1fd3fe2295/api/src/main/java/org/openmrs/api/db/hibernate/HibernateOrderDAO.java#L203
Darius: I don't like get/setFlushMode in the service. That doesn't improve things. Having a @ManualFlush method-level annotation would allow us to clean up the 7 instances of setFlushMode(MANUAL); try { ... } finally { reset } that are in openmrs-core (which is ugly code).
Notes
Transcripts
Audio recording of the call: Listen online or download (available after the meeting)