IRC Chat : 2012-06-24 - OpenMRS

00:42:58 *** didymo has joined #openmrs
00:43:42 <didymo> Good Morning
00:43:58 <didymo> Anybody about?
00:57:44 *** anupre has joined #openmrs
00:59:04 *** anupre has quit IRC
02:03:45 *** rfriedman has joined #openmrs
02:04:08 <rfriedman> djazayeri, you really here?
02:04:16 <djazayeri> rfriedman: yes
02:04:26 <rfriedman> hey, can you spare a minute?
02:04:31 <djazayeri> sure
02:04:44 <djazayeri> rfriedman: is it really just a minute? :-)
02:04:55 <rfriedman> you know who you're talking to :)
02:05:12 <rfriedman> is there some place I can find a description of programs?
02:06:11 <rfriedman> djazayeri, the regular demo and the mdr-tb demo work differently
02:06:48 <djazayeri> rfriedman: what's the quick summary of how they're different?
02:07:19 <rfriedman> the mdr-tb lets you mark terminal and initial workflows, the regular does not
02:07:51 <djazayeri> rfriedman: I don't know if we have this documented well on the wiki
02:08:06 <rfriedman> i know we don't :)
02:08:13 <djazayeri> rfriedman: but the code around programs and states was in an unfinished state for quite a while.
02:08:27 <djazayeri> rfriedman: possible including now, but I think it got fixed a lot in 1.8.
02:09:09 <rfriedman> so what is its built in capability? define a program, define its states (workflows), allow you to assign a patient to a program state?
02:09:33 <djazayeri> rfriedman: can you do voice?
02:09:41 <djazayeri> this will take a lot of typing. :-)
02:09:49 <rfriedman> sure, hang on a minute while i plug in my headset and we can skype
02:56:01 *** hircus has joined #openmrs
03:03:19 <rfriedman> djazayeri, tried it, only 4 tickets, 2 of which are re-opens or equivalent
03:07:43 *** rfriedman has quit IRC
03:25:32 *** didymo has quit IRC
03:34:49 *** hircus has quit IRC
05:46:37 *** kavuri has joined #openmrs
05:47:31 *** mgielow has joined #openmrs
05:57:05 *** Jibesh has joined #openmrs
06:10:28 *** applecool has joined #openmrs
06:10:28 *** ChanServ sets mode: +v applecool
06:35:43 *** mgielow has quit IRC
06:44:43 *** applecool has quit IRC
06:50:29 *** applecool has joined #openmrs
06:50:29 *** ChanServ sets mode: +v applecool
06:51:53 *** lakkarau has joined #openmrs
07:41:54 *** applecool has quit IRC
07:51:12 *** rafa has joined #openmrs
07:51:12 *** ChanServ sets mode: +v rafa
08:08:54 *** kavuri has quit IRC
08:28:44 *** rafa has quit IRC
09:01:15 *** Jibesh has quit IRC
09:18:27 *** rafa has joined #openmrs
09:18:27 *** ChanServ sets mode: +v rafa
09:44:46 *** rafa has quit IRC
10:04:07 *** Jibesh has joined #openmrs
10:27:59 *** jkeiper_ has joined #openmrs
10:28:13 *** jkeiper has joined #openmrs
10:28:19 *** jkeiper_ has quit IRC
10:28:22 *** jkeiper has quit IRC
10:28:48 *** jkeiper has joined #openmrs
10:42:29 *** jkeiper has quit IRC
10:52:19 *** djazayeri1 has joined #openmrs
10:54:25 *** djazayeri has quit IRC
10:55:44 *** rafa has joined #openmrs
10:55:44 *** ChanServ sets mode: +v rafa
11:03:42 *** jkeiper has joined #openmrs
11:05:07 *** ChanServ sets mode: +v jkeiper
11:05:19 <jkeiper> rafa: hi
11:05:26 <rafa> jkeiper: hi
11:06:52 <jkeiper> rafa, i've been looking for a share-your-module's-metadata-via-MDS guide ... do you know where one is?
11:07:20 <jkeiper> btw greetings from Eldoret, Kenya ... jambo :-)
11:07:57 <rafa> jkeiper: https://wiki.openmrs.org/display/docs/Technical+Details+for+Metadata+Sharing+Module
11:08:33 <rafa> jkeiper: thanks!!
11:08:44 <rafa> jkeiper: how long will you be there? :)
11:08:51 <jkeiper> just another week
11:08:56 <jkeiper> came in last tuesday morning
11:10:10 <jkeiper> rafa, I saw that page but was still confused ;-) ... do I have to depend on MDS, and do I have to create a custom handler or will MDS pick up on an object extending BaseOpenmrsMetadata and implementing something like Shareable?
11:11:17 <rafa> jkeiper: if you're lucky there should be no need to implement anything
11:11:24 <rafa> jkeiper: just extend BaseOpenmrsMetadata
11:11:33 <jkeiper> rafa, i have done that but it does not appear in the packages ...
11:11:41 <jkeiper> thought there might be a place to register the objects
11:11:44 <jkeiper> or a marker interface
11:11:48 <jkeiper> running 1.0.7
11:11:56 <jkeiper> i think ... latest one from the repo
11:13:55 <jkeiper> rafa, is there something i can look for in logs, perhaps in debug mode, that would tell me what is detected?
11:14:01 <rafa> jkeiper: hmm you mean it doesn't appear in the list of metadata to export?
11:14:08 <jkeiper> yes, that's what i mean
11:15:44 <jkeiper> rafa, does it require an onSave() method to be recognized?
11:16:28 <jkeiper> rafa, WHOA wait a sec
11:16:30 <jkeiper> it DID show up
11:16:32 <jkeiper> SORRY
11:16:38 * jkeiper is going slowly insane
11:16:51 <jkeiper> i was looking for "DataIntegrityCheck" and it is "IntegrityCheck"
11:16:55 <jkeiper> because i renamed it
11:17:10 <rafa> jkeiper: no but it does require that you provide in your module's API saveYourObject(YourObject object)
11:17:20 <rafa> jkeiper: ok
11:17:26 <jkeiper> rafa, ah good ... this is great.
11:17:52 <jkeiper> rafa, can you only rename it to something with a space in the name by creating a handler or can i set a property on the class?
11:17:53 <rafa> jkeiper: it uses many reflection tricks to get it right
11:18:06 <rafa> jkeiper: so that you don't have to depend on MDS
11:18:23 <jkeiper> rafa, that was what i hoped for
11:18:39 <rafa> jkeiper: unfortunately to customize a name you'll have to create a handler
11:18:48 <rafa> jkeiper: and that does require a depedency on MDS
11:18:54 <jkeiper> rafa, okay i can live without that
11:18:55 <jkeiper> :-D
11:18:58 * jkeiper is so happy now
11:20:01 <jkeiper> rafa, i'll be releasing data integrity 2.0 very soon
11:20:07 <jkeiper> so i hoped to make it share via MDS
11:20:10 <jkeiper> this will be just right
11:20:34 <rafa> jkeiper: great just make sure it can be exported and imported correctly
11:20:45 <jkeiper> yes, testing now
11:20:53 <jkeiper> some tables should not come with but some should
11:20:58 <jkeiper> so i will be busy making that happen
11:21:01 <rafa> jkeiper: in rare cases it's unfortuantely required to write some handlers
11:22:39 <rafa> jkeiper: great let me know if you need help at any point
11:23:30 <rafa> jkeiper: wiki is not very strong yet if it comes to writing handlers :(
11:23:34 <jkeiper> rafa, cool thanks ... looks like it picked up on _everything_ (includes some patient data)
11:23:53 <jkeiper> rafa, so I assume I might need to write a handler so it will include only certain connected objects
11:24:20 <rafa> jkeiper: for that you can actually implement the onSave method
11:24:31 <jkeiper> rafa, oh good
11:24:33 * jkeiper checks that out
11:24:43 <jkeiper> yesssssssss this will go so much faster than i anticipated! ;-)
11:24:59 <rafa> jkeiper: sorry readResolve method
11:25:09 <jkeiper> rafa, ok those are on that wiki page
11:25:11 <jkeiper> so i'm good ;-)
11:25:15 <rafa> jkeiper: and writeReplace
11:25:28 <jkeiper> the second paragraph :-)
11:26:14 <rafa> jkeiper: yes, you can just return an object which does have references you don't want
11:26:26 <rafa> jkeiper: *does not have
11:26:45 <jkeiper> ah, so i can clone the actual object and delete what i don't want, then send it back?
11:26:47 <jkeiper> :D
11:27:04 <jkeiper> i assume HTML Form Entry has implemented this?
11:27:16 <rafa> jkeiper: yes
11:27:31 <rafa> jkeiper: just implement protected Object writeReplace();
11:27:36 <jkeiper> rafa, ok i'll look there :-)
11:27:38 <jkeiper> thanks!
11:28:18 <rafa> jkeiper: np
11:29:49 *** rafa has quit IRC
11:36:12 *** ourmaninthebar has joined #openmrs
11:37:40 <ourmaninthebar> Hi all, I'm getting a show stopping HTTP Error 500 when looking at Admin->Settings on OpenMRS 1.9.0 when running on Tomcat 7 on Ubuntu 12.04 - would anyone be able to quickly help?
11:47:23 *** jkeiper has quit IRC
11:47:24 *** ourmaninthebar has quit IRC
11:47:32 *** ourmaninthebar has joined #openmrs
11:49:42 *** ourmaninthebar_ has joined #openmrs
11:49:42 *** ourmaninthebar has quit IRC
11:49:43 *** ourmaninthebar_ is now known as ourmaninthebar
12:01:13 *** jkeiper has joined #openmrs
12:24:02 <jkeiper> djazayeri1, wyclif, sgithens: hi
12:24:04 <jkeiper> :-)
12:25:27 <jkeiper> djazayeri1, did you ever run into a StackOverflowError when rendering a custom object for Metadata Sharing Module (in htmlformentry)? i am just trying to trim down what gets sent in a package and i think the marshaler is getting into some kind of loop ...
12:45:36 *** jeed has joined #openmrs
12:47:56 *** rafa has joined #openmrs
12:47:56 *** ChanServ sets mode: +v rafa
12:52:27 <jkeiper> rafa, have another quick question ... getting StackOverflowErrors when i build the new object myself
12:52:52 <jkeiper> rafa, it happens when i add a column (which references its parent) to an integrity check
12:53:08 <jkeiper> if i simply add the list of columns without setting the backwards reference, i do not get the stack overflow
12:53:14 <jkeiper> but then i do not get a backwards reference
12:53:16 <jkeiper> ...
12:53:22 <rafa> jkeiper: when exporting or importing?
12:53:37 <jkeiper> and when i initially ran the export without any customization, it allowed for the backwards reference automatically
12:53:40 <jkeiper> rafa, exporting
12:53:45 <jkeiper> (have not even tested importing yet)
12:55:08 <rafa> jkeiper: make sure you're not trying to traverse all objects in writeReplace
12:55:19 <rafa> jkeiper: the idea is you only modify the current object
12:55:48 <jkeiper> rafa, i was cloning ... afraid i would persist the change and delete data i did not want to delete
12:56:21 <rafa> jkeiper: cloning is ok, but make sure you're not trying to clone objects that are references
12:56:51 <jkeiper> rafa, so if i have a property of "ack" and just want to clear it out before sending it, i just do { this.setAck(null); return this; }?
12:57:46 <rafa> jkeiper: it should be fine
12:58:00 <jkeiper> ok, /me tries that ... lots easier!
13:01:50 *** ourmaninthebar has quit IRC
13:03:00 <rafa> jkeiper: hmm actually I take it back. You must clone. I see I do Context.flushSession() before Context.clearSession() while exporting package :/
13:03:13 <rafa> jkeiper: so the changes may get persisted
13:03:14 <jkeiper> ah yes
13:03:16 <jkeiper> i got this just now: Caused by: org.hibernate.HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: org.openmrs.module.dataintegrity.IntegrityCheck.integrityCheckRuns
13:03:49 <rafa> jkeiper: can you pastebin your writeReplace method?
13:03:57 <jkeiper> so, back to cloning ... yep
13:04:58 <jkeiper> rafa, http://pastebin.com/5sCtA0yS
13:05:11 <jkeiper> and the column.clone() method is about the same thing
13:05:30 <jkeiper> check.addResultsColumn(x) just performs x.setIntegrityCheck(this) before adding to its list
13:06:31 <rafa> jkeiper: ahhh that's why you get StackOverflow
13:06:39 <jkeiper> oh?
13:06:42 <jkeiper> circular reference?
13:06:49 <jkeiper> should i have an id on it?
13:06:50 <rafa> jkeiper: yes, you may end up with one
13:07:12 <jkeiper> rafa, should i also set check.id so it can be held on to?
13:07:12 <rafa> jkeiper: what is in IntegrityCheckColumn?
13:07:19 <jkeiper> un moment ...
13:07:57 <jkeiper> rafa, http://svn.openmrs.org/openmrs-modules/dataintegrity/branches/2.0-overhaul/api/src/main/java/org/openmrs/module/dataintegrity/IntegrityCheckColumn.java
13:09:13 <rafa> jkeiper: I mean the clone method...
13:09:20 <jkeiper> oh, one sec
13:10:00 <jkeiper> rafa, http://pastebin.com/jni25DaB
13:11:37 <rafa> jkeiper: one question, why do you have check.setUuid(includeUuids ? this.getUuid() : null);?
13:12:13 <jkeiper> later i intend to use this method for creating duplicates that will not need uuids
13:13:01 <rafa> jkeiper: hmm ok
13:13:14 <jkeiper> it should be fine, no?
13:13:20 <rafa> jkeiper: yes, it's fine
13:13:34 <rafa> jkeiper: do you have a stack trace?
13:13:55 <rafa> jkeiper: I wonder what method bombs the export
13:14:04 <rafa> jkeiper: code seems fine so far
13:14:07 <jkeiper> the stacktrace is super long
13:14:28 <rafa> jkeiper: pastebin :)
13:14:33 <jkeiper> rafa, let me recompile, install and try again
13:14:37 <jkeiper> then i'll have a pastebin :-D
13:14:44 <rafa> jkeiper: ok
13:15:06 <rafa> jkeiper: can you please e-mail it to me?
13:15:10 <rafa> jkeiper: I need to go out
13:15:24 <jkeiper> ok, thanks!
13:15:27 <jkeiper> cya rafa
13:15:36 <rafa> cya, ttyl
13:15:43 *** rafa has quit IRC
13:15:45 *** djazayeri1 has quit IRC
13:16:45 *** rfriedman has joined #openmrs
13:21:56 *** mgielow has joined #openmrs
13:27:44 *** goutham has joined #openmrs
13:40:39 *** pulasthi7 has joined #openmrs
14:01:16 *** goutham has quit IRC
14:09:36 *** pulasthi7 has quit IRC
14:12:53 *** Jibesh_ has joined #openmrs
14:12:54 *** Jibesh has quit IRC
14:57:48 *** jkeiper has quit IRC
16:04:19 <rfriedman> wyclif, you really there?
16:06:08 *** mgielow has quit IRC
16:13:27 *** harshadura has joined #openmrs
16:31:30 *** ourmaninthebar has joined #openmrs
16:32:15 <ourmaninthebar> Hey all, has anyone had any experience running OpenMRS 1.9.0 on Ubuntu 12.04 with either Java 6 or 7?
16:33:02 <ourmaninthebar> I've been trying to get 1.9 running on Java 7 for past 36hrs with no joy - be interested to here if anyone's had any success or advice.
16:39:43 *** andrewlkho has joined #openmrs
16:40:24 <harshadura> ourmaninthebar: as far as i know, OpenMRS still doesnt supports Java 7, so try Java 6 instead
16:40:56 <ourmaninthebar> harshadura: thanks - I was arriving at that conclusion
16:43:20 <ourmaninthebar> harshadura: will OpenMRS run on *any* Java 6 (e.g. OpenJDK 6), or does it only work with Sun/Oracle Java 6?
16:44:59 <harshadura> ourmaninthebar: I have tested and it works on Oracle JDK, sorry I have no idea abt OpenJDK
16:50:52 <ourmaninthebar> harshadura: thanks anyway, appreciate the help
17:01:25 *** ourmaninthebar has quit IRC
17:23:13 *** harshadura has quit IRC
18:02:00 *** pulasthi7 has joined #openmrs
18:24:53 *** rafa has joined #openmrs
18:24:53 *** ChanServ sets mode: +v rafa
18:48:55 *** jkeiper has joined #openmrs
18:53:13 *** jkeiper has quit IRC
18:54:20 *** jkeiper has joined #openmrs
18:56:34 *** Jibesh_ has quit IRC
18:59:28 *** jkeiper has quit IRC
19:06:38 *** ourmaninthebar has joined #openmrs
19:07:01 *** pulasthi7 has quit IRC
19:25:55 *** djazayeri has joined #openmrs
19:25:55 *** ChanServ sets mode: +o djazayeri
19:40:41 *** djazayeri has quit IRC
20:10:55 *** ourmaninthebar has quit IRC
20:28:52 *** djazayeri has joined #openmrs
20:28:52 *** ChanServ sets mode: +o djazayeri
20:34:50 *** dkayiwa has joined #openmrs
20:49:17 *** dkayiwa has quit IRC
21:01:44 *** jeed has quit IRC
21:28:47 *** diptanuc has joined #openmrs
21:39:59 *** rafa has quit IRC
21:57:23 *** lakkarau has quit IRC
22:00:19 *** rfriedman has quit IRC
22:25:39 *** GDG has quit IRC
22:46:38 *** diptanuc has quit IRC
23:13:50 *** lh has joined #openmrs
23:13:50 *** lh has joined #openmrs