Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS »
Discussion: OpenMRS Talk »
Real-Time: IRC Chat

IRC Logs

Child pages
  • 2008-07-18 - OpenMRS
Skip to end of metadata
Go to start of metadata
00:17:50 *** njero has quit IRC
01:06:22 *** TorLye has joined #openmrs
01:41:14 *** bmckown has joined #openmrs
01:41:14 *** ChanServ sets mode: +o bmckown
01:43:37 *** james_regen has joined #openmrs
01:43:37 *** ChanServ sets mode: +v james_regen
02:04:05 *** njero has joined #openmrs
02:04:05 *** ChanServ sets mode: +v njero
02:22:16 *** jbrown has joined #openmrs
02:24:09 *** njero has quit IRC
02:24:24 *** njero has joined #openmrs
02:24:24 *** ChanServ sets mode: +v njero
02:27:09 *** james_regen has quit IRC
02:41:06 *** james_regen has joined #openmrs
02:41:06 *** ChanServ sets mode: +v james_regen
03:14:47 *** sprasanna has joined #openmrs
03:15:14 <sprasanna> bmckown: Hi Brian, Good morning..
03:15:14 *** shadowdoc has joined #openmrs
03:15:36 <bmckown> Hi, sprasanna
03:16:04 <bmckown> good evening
03:16:21 <bmckown> 6:45 there?
03:16:24 <sprasanna> bmckown: where you on the dev call yesterday? I really liked the suggestion like entering multiple texts and i am working on it
03:16:40 <sprasanna> bmckown: ha u checked in some clock i guess.
03:16:42 <bmckown> yes I was there. I'm generally quiet.
03:16:58 <bmckown> I have your time zone listed in my ubuntu clock
03:17:23 <bmckown> yes, burke gave very good feedback as well as paul.
03:17:26 <sprasanna> oh its great to hear you use ubuntu.
03:17:34 <bmckown> you too?
03:17:56 <sprasanna> but today its really good to see someone in the channel especially on friday
03:18:12 <bmckown> ben is on vacation today
03:18:28 <sprasanna> yeah i have but i couldnt able to deploy openmrs in it... i tried a lot
03:18:49 <sprasanna> yeah someone said yesterday abt ben's vacation.
03:18:49 <bmckown> I am supposed to be in the office, but had to get up at 4:00 a.m. to troubleshoot AMRS in Kenya (openmrs).
03:19:14 <bmckown> couldn't deploy openmrs in ubuntu?
03:19:36 <sprasanna> oh thats cool... but daily i goto bed at 1 and get up at 5.30...
03:19:46 <sprasanna> yeah couldnt deploy in ubuntu
03:20:00 <sprasanna> i had a very big error thrown
03:20:16 <bmckown> what error?
03:20:43 <sprasanna> to see that i have to restart my computer :)
03:20:54 <bmckown> that's strange.
03:21:02 <sprasanna> Brian are you a doctor?
03:21:09 <bmckown> :-)
03:21:11 <bmckown> no
03:21:20 <sprasanna> because right now im working in windows
03:21:20 <bmckown> guess you haven't seen my user page?
03:21:31 <sprasanna> heard you are doctor some time back
03:21:50 <bmckown> must have been another brian. i'm a BS Computer Science
03:22:00 <sprasanna> i think i have seen... you also have a photo of your family right
03:22:13 <bmckown> lowly BS degree among rocket scientists
03:22:23 <bmckown> yea
03:22:31 <sprasanna> oh somany brians are working with openmrs
03:22:53 <bmckown> other brians?
03:23:11 <sprasanna> you said it must have been other brian
03:23:23 <bmckown> there is only one sri prasanna though. :-)
03:23:31 <sprasanna> lol
03:23:41 <bmckown> well, it was hypothetical about 'other' brian
03:24:02 <sprasanna> but burke and paul are doctors right
03:24:07 <bmckown> yes
03:24:26 <sprasanna> but in india its very hard to see doctors who can code...
03:24:46 <bmckown> same in usa i think. all of them are at regenstrief.
03:24:57 <sprasanna> only before 3 to 4 years doctors started working with computers only for internet
03:25:21 <sprasanna> but really seeing a doctor come developer is amazing
03:25:35 <bmckown> yea.
03:25:42 * sprasanna thinks y brian is not a doctor
03:25:57 <bmckown> blood makes me faint
03:26:19 * sprasanna thinks if brian does some phd then he can Dr. in his name so he will become a doctor :P
03:26:52 <bmckown> that's funny. nah... i would like to get a masters in CS, though.
03:27:04 <sprasanna> even my sister said that before joining medicine now she's ok with everything
03:27:17 <bmckown> yea. it's a good field.
03:27:33 <sprasanna> thats really great... masters...
03:28:05 <sprasanna> i think im the youngest one among openmrs devs... :)
03:28:15 <bmckown> really? how young?
03:28:31 <sprasanna> 22.. hope im young
03:28:35 <bmckown> man
03:28:42 <bmckown> you might be.
03:28:50 <bmckown> the youngest
03:28:59 <sprasanna> hahaha...
03:29:05 <bmckown> i'm closer to the other end.
03:29:34 <sprasanna> but you look very young in that photo
03:29:45 <bmckown> the gimp
03:29:54 <bmckown> no, just kidding. that's really me.
03:30:09 *** njero has quit IRC
03:30:31 <sprasanna> :)
03:30:52 <sprasanna> have you been to india?
03:30:56 <bmckown> not yet.
03:31:02 <bmckown> i would like to go.
03:31:45 <sprasanna> but i like to come to US... the only place i would like to go is grand canyon
03:32:31 <bmckown> i was there twice when i was a kid.
03:32:40 <bmckown> beautiful place
03:32:46 <sprasanna> oh thats great
03:32:50 * sprasanna sighs
03:33:23 <bmckown> i'm sure india has more beautiful places
03:34:52 <sprasanna> it has lots even i havent gone to many of them... I hardly go out for touring...
03:36:03 *** sprasanna is now known as cancerb0y
03:36:05 <bmckown> once you get into programming... it's all over. no more touring.
03:36:28 <cancerb0y> yeah thats correct...
03:36:32 <cancerb0y> 100%
03:38:34 <bmckown> btw, did you commit the code you wrote to override the address jsp?
03:40:56 *** upul has joined #openmrs
03:41:53 <Phantal> docpaul or jmiranda around?
03:43:09 *** jmiranda has joined #openmrs
03:43:09 *** ChanServ sets mode: +o jmiranda
03:43:17 * Phantal pokes jmiranda
03:43:37 <jmiranda> hey Phantal
03:44:07 <Phantal> I'm going to make available to you part of my dwh db schema, and part of my mondrian schema
03:44:09 <jmiranda> how was the rest of the training session from yesterday?
03:44:25 <jmiranda> ok
03:44:26 <Phantal> About as entertaining as reports training can get :)
03:44:38 <jmiranda> were you the trainer or trainee?
03:44:52 <bmckown> sorry...
03:44:53 <Phantal> Purpose being, you guys need to be able to see exactly what it is a warehouse schema looks like
03:44:58 <Phantal> trainee
03:45:21 <jmiranda> yeah, i think that would be very helpful
03:45:47 <Phantal> additionally, if you have time today I wanted to help you get the 'foodmart' database running on
03:46:01 <Phantal> It's mostly straightforward to do
03:46:28 <Phantal> and it'll give you a fully functional warehouse architecture to play with
03:46:54 <jmiranda> ok
03:47:26 <jmiranda> is that a pentaho sample dwh schema?
03:47:56 <Phantal> well, sort of
03:48:28 <Phantal> I don't know where it originally came from, but I know microsoft had it before pentaho
03:48:41 <Phantal> I believe it's just a sample 'freeware' database, and was modified to fit mondrian
03:50:01 <jmiranda> ok
03:51:30 *** sprasanna has joined #openmrs
03:51:32 *** sprasanna has left #openmrs
03:51:38 *** sprasanna has joined #openmrs
03:51:51 <sprasanna> bmckown: sorry got disconnected....
03:52:04 <bmckown> that's okay.
03:52:19 <sprasanna> bmckown: i havent committed my code yet... i still getting an error...
03:52:53 <bmckown> oh, okay. i had updated to the latest committed code before the call yesterday, but didn't see that part.
03:53:00 <sprasanna> i think i mentioned it yesterday.... whenever there's a validation error the newPatient form reloads na that time my addressLayout.jsp is missing
03:53:38 <bmckown> hmm
03:54:40 <sprasanna> yeah i dint commit... but i have posted what i have in my module page
03:54:59 <OpenMRSBot> <> (at
03:55:08 <sprasanna> i tried a lot but couldnt figure out the reason
03:57:25 <bmckown> you added the order in moduleApplicationContext.xml right?
03:57:27 <jmiranda> Phantal, can you point me in the right direction for the 'foodmart' dwh?
03:57:37 <sprasanna> yeah
03:57:55 <bmckown> order=2 ?
03:58:18 <sprasanna> wait... what's order?
03:58:20 <bmckown> <property name="order"><value>2</value></property>
03:58:33 <bmckown> look at formentry module for an example
03:58:41 <sprasanna> oh one sec
03:59:22 *** cancerb0y has quit IRC
04:01:35 <sprasanna> y svn and trac are very slow?
04:02:09 <sprasanna> the server is really really slow...
04:02:13 <bmckown> again.. yea..hmm.
04:02:45 *** burke_away has joined #openmrs
04:02:45 *** ChanServ sets mode: +o burke_away
04:02:52 *** burke_away is now known as burke
04:02:56 <burke> r0bby: ping
04:03:30 <sprasanna> ha burke in the channel after a very long time... r0bby would be happy now
04:03:58 <bmckown> hehe
04:04:02 <burke> yes, when I ran colloquy, I think I actually saw some dust fly out of my computer screen
04:04:17 <r0bby> pong
04:04:21 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #861 (defect closed): snycing concepts still doesnt order concept answers right <>
04:04:44 <r0bby> hold on let me opne the port
04:04:48 <burke> k
04:04:56 <r0bby> also
04:05:00 <r0bby> we have a problem
04:05:06 <burke> houston?
04:05:07 <sprasanna> bmckown: its still loading :(
04:05:11 <bmckown> i cannot ssh to the server
04:05:31 <bmckown> atomicturtle, have any idea why server could be slow?
04:05:40 <bmckown> :-)
04:05:43 <r0bby> concept answer selector wants a concept object :-S i haven't the slightest flue how to maintain it
04:05:46 <bmckown> vm1
04:06:11 <bmckown> sprasanna, we may just have to be patient ans wait a few minutes.
04:06:14 <Phantal> jmiranda, sorry, wasn't watching this screen
04:06:18 <burke> yeah, dev is a turd now
04:06:26 <Phantal> i'm in the last training session online (on a break at the moment)
04:06:29 <Phantal> one sec and I'll link you
04:06:32 <sprasanna> bmckown: no problem at all
04:06:37 <r0bby> ugh
04:06:41 <Phantal> jmiranda, what OS?
04:06:43 <jmiranda> Phantal, no rush
04:06:43 <burke> r0bby: i can help you with that
04:07:08 <jmiranda> ubuntu
04:07:26 <r0bby> that's the only place i need to maintain a reference
04:07:29 *** atomicturtle has quit IRC
04:07:34 <r0bby> until we implement the other selectors
04:07:49 <r0bby>
04:07:58 <r0bby> yoiu know the login credentials
04:08:38 <r0bby> all of the work currently has been in processing the model and such
04:08:53 <r0bby> 1) let me explain the AbstractGroovyFormModel
04:09:04 <burke> cule. creating a groovy form...
04:09:10 <Phantal> jmiranda,
04:09:11 <OpenMRSBot> <> (at
04:09:14 <r0bby> not quite there yet
04:09:28 <r0bby> but almost
04:09:33 <burke> k
04:09:37 <r0bby> I have one more step to complete
04:09:41 <jmiranda> Phantal, thanks
04:09:45 <Phantal> jmiranda, That's one of the two things you need, one sec for the other
04:09:49 <burke> AbstractGroovyFormModel takes some of the noise away from the user?
04:09:56 <r0bby> and a lil bit more work (validating the template/controller and such.
04:10:10 <r0bby> it also adds some metaclass magic
04:10:20 *** sprasanna has left #openmrs
04:10:28 <Phantal> jmiranda,
04:10:29 <OpenMRSBot> <> (at
04:10:40 <Phantal> jmiranda, start with that 2nd link.
04:10:41 <r0bby> as well as adds some fields (most of the services
04:10:50 <burke> yeah. we might end up taking the class def out of the textarea and just adding it in the background. but that's a 2nd order concern. cule.
04:10:57 <Phantal> First, download mondrian
04:10:59 <burke> so, can I make a form?
04:11:06 <Phantal> Then, follow along in section 2 of that installation guide
04:11:15 <r0bby> you can see what the workflow is as io have it
04:11:26 <r0bby> 1) define some properties inb the model
04:11:30 <r0bby> well wait
04:11:31 <r0bby> dont
04:11:35 <burke> what are the supported properties?
04:11:39 <r0bby> click in it, then immediately press tab
04:11:44 <r0bby> everything
04:11:51 <r0bby> I pulled in the entire classpath
04:11:55 <jmiranda> Phantal, we have an older version of pentaho running on that server
04:11:59 <jmiranda> 1.2.1 or something like that
04:12:04 <burke> what do we have widgets for?
04:12:10 <jmiranda> i think we need to start with an upgrade to 1.6, no?
04:12:20 <Phantal> jmiranda, ya, they're up to 1.7 now, and 2.0 should be out this year
04:12:25 <Phantal> but mondrian is separate
04:12:28 <r0bby> but Concept, Patient, String, (all subclasses of Number), Boolean/boolean,i think thats it
04:12:34 <r0bby> brb
04:12:41 <Phantal> Pentaho is the reporting/dashboard interface, mondrian is the analysis/olap engine
04:12:52 <Phantal> All I'm having you setup is mondrian, for now
04:12:59 <r0bby> so okay
04:13:15 <r0bby> all the work happens using the blur event
04:13:37 <r0bby> tab into the model
04:13:45 <r0bby> dont define any fields
04:13:48 <r0bby> now tab out
04:14:03 <r0bby> should see "Please define some properties"
04:14:09 <Phantal> jmiranda, as you go through section 2 of that isntallation guide, note that you don't just 'source' the .sql file
04:14:15 <r0bby> in the area directly below the groovyModel
04:14:42 <Phantal> jmiranda, rather, there's a string of text entered at a shell prompt to call the 'mondrian foodmart loader' utility, a class within mondrian.jar
04:14:55 <r0bby> next: Define some properties String note; Patient patiet
04:14:57 <Phantal> it's a pain in the butt ...
04:15:00 <Phantal> but it needs to be done
04:15:05 <Phantal> (not hard to do, just annoying)
04:15:28 <r0bby> you'll see (pretty much what i told you in my msg to the list (no surprises)
04:15:40 <r0bby> but i gradually expose each step as we go along
04:15:43 <Phantal> jmiranda, you know, i just realized, if the 'openmrs' login has create database privileges, I could just load this for you later today
04:15:59 <r0bby> let me commit what I have
04:16:16 <jmiranda> Phantal, i'll check on that
04:16:22 <jmiranda> that would be a big help
04:16:27 <burke> just a sec
04:16:51 <r0bby> look at the controller's validate/onSubmit -- notice something in the param (hint: look at your model class name)
04:17:02 <r0bby> here's the method that did it
04:17:05 <r0bby> static def getClassName(clazz) {
04:17:05 <r0bby> clazz.substring(clazz.indexOf(" "),clazz.indexOf("extends")).trim()
04:17:05 <r0bby> }
04:17:29 <Phantal> jmiranda, another thing i was going to bring up, last night I was trying to improve my ETL performance and pulled it off using ssh tunneling to tunnel mysql traffic over ssh, then used compression in ssh
04:17:47 <Phantal> improved my throughput from 3.3mB/s to about 13-14mB/s
04:17:54 <jmiranda> wow
04:17:58 <Phantal> (obviously that's local traffic, not internet traffic)
04:18:41 <Phantal> You may want to spend some time learning how to setup an ssh login that only has appropriate permissions to access mysql, and no other permissions
04:18:56 <Phantal> We don't need it right now, but it'd be handy for people in the field if they have a lot of data
04:19:05 <r0bby> burke: i'm well aware what I have right now is probably clumsy but I've found that users sometimes tab to change fields
04:19:14 <r0bby> so why not use that to my advantage
04:19:22 <r0bby> and plus i get to use jquery :D
04:20:16 <r0bby> apologies for not blogging frequently -- i like ti wait til i have some exciting to report
04:20:19 <burke> sorry r0bby, just found out i've been scheduled for two things at the same time this afternoon, trying to sort it out
04:20:28 <r0bby> okay
04:20:40 <r0bby> im gonna get some coffee
04:21:02 <r0bby> my crap sleep habits are going to inhibit my ability to think
04:21:44 <r0bby> hrm..
04:24:02 <burke> ok. sorry about that interruption.
04:25:30 <burke> it would be nice to clean up the exception message to make it a little more readable for users would be a nice enhancement for later...
04:25:54 <r0bby> line numbers are off
04:26:12 <r0bby> as well since i inject imports into a StringBuilder
04:26:26 <r0bby> then AFTER imports i add the class definition
04:27:05 <burke> the javascript alert is just showing the controller code for debugging, right?
04:28:01 *** nribeka has joined #openmrs
04:28:43 <r0bby> burke: yes
04:28:58 <r0bby> I was having some ajax errors due to the "&&" operator
04:29:29 <r0bby> so i wrapped it in a CDATA block and works like a charm :)
04:29:56 <r0bby> I found it difficult to pull in the classpath w/ DWR -- so i rolled my own using a seperate servlet
04:30:27 <burke> you mean the ajax call is going to your servlet?
04:30:32 <r0bby> correct
04:30:46 <r0bby> I couldn't seperate logic :-/
04:30:57 <r0bby> I seperated as much as I could
04:31:34 <burke> it's nice. i think we'll need to introduce a button or something to trigger the interpretation. e.g., if I edit the template and then change the model, my template edits are lost
04:31:53 <r0bby> can't have it post.
04:32:04 <r0bby> the button actually posts the freakin thing :(
04:32:50 <burke> i'm just saying that the user triggers the update instead of simply leaving the model field (onblur)
04:32:54 <r0bby> yes -- this isn't ideal :/ -- but once the form is generated and saved -- your edits won't screw up the template controller, etc
04:33:02 <r0bby> yeh
04:33:04 <burke> ok.
04:33:16 <burke> am I supposed to see a save button?
04:33:26 <r0bby> $("#groovyModel").bind("blur",function() { ... } });
04:33:36 <r0bby> $("#groovyModel").bind("blur",function() { ... });
04:33:38 <r0bby> :DDDD
04:33:42 <burke> hehe
04:33:46 <r0bby> jquery
04:34:19 <r0bby> also when i initially load the omod -- therer are js errors
04:34:46 <r0bby> BUT when i run the deploy-web task -- it works
04:35:14 <burke> have you committed your code?
04:36:16 *** njero has joined #openmrs
04:36:16 *** ChanServ sets mode: +v njero
04:37:45 <r0bby> going to now
04:37:48 <r0bby> hold
04:39:10 <burke> hehe. I can even change the form's class name. nice!
04:40:05 *** atomicturtle has joined #openmrs
04:40:37 <r0bby> :-)
04:41:07 <r0bby> I don't think i can take that job i interviewed for -- i have parents that worry about my hypopara :<
04:41:26 <r0bby> oh this design w3as half-baked
04:42:03 <r0bby> i started the patient dash portlet but have been focusing on the form creation page
04:42:33 <burke> bmckown: as ben pointed out, it looks like apache on vm1 has a memory leak that grows until it restarts and (like now) after it dies & comes back, everything is snappy again
04:42:38 <r0bby> DWRGroovyFormsService.getController() isn't used.
04:42:57 <burke> r0bby: committed?
04:42:58 <bmckown> yea. i found apache off
04:43:20 <bmckown> and logged into plesk and started it several minutes ago
04:43:24 <r0bby> si
04:43:33 <r0bby> first cup o' coffee of the day
04:43:44 <burke> i'm only on my 2nd diet coke
04:44:22 *** r0bby|idea has joined #openmrs
04:44:35 <r0bby|idea> so I can get help whol;e I cpode
04:44:56 <r0bby|idea> I have an IRC client plugin in IDEA :)
04:45:04 <burke> unless, of course, you count a 32-oz cup as 2.67 ... then it's 3.67 diet cokes.
04:45:20 <r0bby> 2.67?
04:45:28 <burke> r0bby|idea: welcome. let me introduce you to r0bby :)
04:45:40 <burke> I didn't want to keep typing the 6 infinitely
04:45:52 <r0bby> pffft
04:46:10 * r0bby doesn't drink soda esp. colas
04:46:16 <r0bby> the phospherus
04:46:37 <r0bby> I stopped this one day when my calcium labs came back in the 6's
04:46:59 <r0bby> I gave my endo's nurse practitioner a scare
04:48:31 *** [1]shadowdoc has joined #openmrs
04:50:19 *** upul has quit IRC
04:50:58 <burke> r0bby: downloading code ... gonna peak around a bit ...
04:51:11 * burke wishes he could get groovy tests running in eclipse
04:51:41 <r0bby> oh im not testing generation
04:51:54 <r0bby> they're hell to test
04:51:55 * burke wishes he could get ANY groovy running in eclipse
04:52:33 <bmckown> netbeans
04:52:50 * r0bby doesn;t use eclipse b/c groovy support blows \\
04:52:54 <burke> actually, intellij seems to be in the lead
04:53:00 <burke> (w/ groovy support)
04:53:11 <burke> i tried netbeans
04:53:39 <burke> r0bby: it looks like I'm missing a class: MockGroovyForms
04:53:40 <Phantal> the company i work for is tough to get licenses through
04:53:45 <r0bby> Jetbrains developed it
04:53:49 <r0bby> just commited it
04:53:58 <Phantal> You have to request it, get approval, then they send the request to corporate to get it approved, and 2-3 weeks later you might have a license
04:54:01 <r0bby> that was used to generate a few mock form objects
04:54:07 <Phantal> so, getting IntelliJ just sounds painfully annoying
04:54:27 * r0bby whistles innocently
04:54:58 <Phantal> There's a developer on my team that's been waiting more than 2 months for a Flash Builder license
04:55:03 <burke> hrm. it looks like eclipse isn't recognizing the groovy class
04:55:19 <r0bby> I aint switching to java
04:55:24 <r0bby> I love coding in groovy
04:55:36 <r0bby> Gstings, optional returns, optional typing
04:55:37 <r0bby> :D
04:55:43 <r0bby> GStrings*
04:55:54 <r0bby> let's not forget the whole
04:55:58 <burke> part of the beauty of groovy is that there isn't any switching.
04:56:04 <r0bby> no there isn't
04:56:09 <r0bby> it's just painful to go back
04:56:23 <r0bby> and w/ java you *HAVE TO* generate getters/setters
04:56:29 <r0bby> w/ groovy you do not
04:56:33 <burke> and those @#$)@ semicolons!
04:57:02 <r0bby> am I screwing IE users over by not usiong semi-colons ion my JS?
04:57:06 <r0bby> if so, good.
04:57:09 <burke> r0bby: I've seen the app for open source usage of intellij, was it fairly smooth to get a license?
04:57:22 * r0bby wouldn't know O:-)
04:57:29 <burke> you should use semicolons on your javascript.
04:57:35 <r0bby> bah
04:57:54 <burke> r0bby: didn't you get a license from intellij?
04:58:09 <Phantal> burke, you basically have to provide them with solid evidence you are a regular contributor to an opensource project
04:59:01 * r0bby whistles innocently
05:04:01 * r0bby|idea drops a brick
05:04:12 <burke> argh. how do I add "groovy nature" to my eclipse project?
05:04:14 * r0bby|idea drops a ton of bricks
05:04:24 * r0bby|idea pets his intelliJ
05:04:33 * burke will be filling out an app for an intellij license
05:04:42 *** [1]shadowdoc has quit IRC
05:05:03 * burke really doesn't want to live in multiple IDEs
05:05:13 <r0bby|idea> Just use intelliJ full time
05:05:21 <r0bby|idea> not sure why you crazies picked eclipse
05:05:28 <bmckown> plug.
05:05:39 <burke> I need to talk w/ Matt about his eclipse project.
05:05:43 <r0bby|idea> bmcknown: big deal :P
05:05:46 <burke> bmckown: i have the groovy plugin for eclipse
05:05:56 <bmckown> :-)
05:05:57 *** shadowdoc has quit IRC
05:05:58 <r0bby|idea> IntelliJ is still better :)
05:06:22 <r0bby|idea> this client sucks
05:06:25 <r0bby|idea> no tab completion
05:07:16 <burke> ah. right-click on the project, of coure: "add groovy nature"
05:08:48 <r0bby|idea> the tests haven't changed i never commit broken tests
05:08:52 <burke> that solved the MockGroovyForms issue ... now it sees it
05:09:30 <burke> but opening up a MockGroovyForms.groovy and trying to do some code insight was apparently a wrong first move. Eclipse is thinking very hard at the moment...and it doesn't want to be bothered.
05:09:42 <r0bby> hah
05:09:54 <burke> how do you know if a test is broken? do you have test tests?
05:10:02 <r0bby> I run them :P
05:10:06 <burke> hehe
05:10:23 <burke> arrgh. i might have to kill -9 eclipse.
05:10:28 <r0bby> generation tests are tricky since I can't guarentee equality
05:10:42 <r0bby> so much as a single white-space char can throw everything off
05:11:03 <r0bby> If it works in production guess what it's good enough for me!
05:11:11 <r0bby> same goes for markup
05:11:22 <r0bby> it works :>
05:11:30 <r0bby> groovy is also amazing
05:11:57 <r0bby> def sb = new StringBuilder(); sb << "Hai" << "\n" << "Bai"; println sb
05:12:17 <r0bby> << calls .append()
05:13:01 <burke> operator overloading just makes me giddy
05:13:17 * burke restarts eclipse and hopes for better days
05:13:19 <r0bby> closures make me giddy
05:13:41 * r0bby used them in his controller generation for writing the asserts
05:13:54 <r0bby> the reason I used the container class will become apparent there :>
05:14:12 <r0bby> I obsessively planned this thing
05:15:38 <r0bby> burke: before you go crazy and blow a lid -- yes I do make ajax calls back to back (i found parsing ONE piece of XML was easier.
05:15:52 <r0bby> also I wanna use Groovy 1.6 :(
05:15:56 <r0bby> Multiple return types
05:16:17 <r0bby> def foo() { def x = 3; def y = "hai" [x,y] }
05:16:22 <burke> you mean 1.6-beta-1
05:16:26 <r0bby> si.
05:16:33 <r0bby> too beta for us though
05:16:41 <r0bby> it has some nice stuff
05:16:48 <r0bby> mixins which I abused
05:16:58 <r0bby> 5 + 5 = 0.
05:17:06 <r0bby> or is it 5 - 5 = 10
05:17:10 <r0bby> i can't rmemeber
05:17:16 <burke> you can't return a list in 1.5?
05:17:27 <r0bby> you can -- but this is multiple return types.
05:17:44 <r0bby> not sure
05:17:51 <r0bby> but they added support in 1.6 i think
05:18:12 <r0bby> i think my mouse batteries are gonna die
05:19:18 <burke> it looks like jetbrains' website is working just about as well as ours
05:20:18 <r0bby> shitty?
05:20:58 <burke> yup
05:21:39 <burke> class comment in 5 words? boo. (AbstractGroovyFormModel.groovy)
05:21:42 <burke> :)
05:23:02 <burke> String.metaClass.concept << { concept.getConceptByName(delegate) } ... SWEET!
05:23:27 <r0bby|idea> :)
05:23:59 <r0bby|idea> yup
05:24:04 <burke> can you reach I can't.
05:24:10 <r0bby|idea> Concept c = "WEIGHT IN (KG)".concept()
05:24:21 <r0bby|idea> can't do what you want
05:24:50 <r0bby|idea> if the method/closure is no-args them groovy requires parenethesis
05:25:00 <r0bby|idea> otherwise it tries to resolve it as a property
05:25:13 <r0bby|idea> although i should implement property missing
05:25:14 <burke> i think you'll need to throw an exception if a property is called obs, concept, person, patient, user, encounter, cohort, or logic. Either that or we need to rename these bound variables to obsService, conceptService, etc.
05:25:20 <r0bby|idea> also so that we can do some fun
05:26:07 <r0bby> i think i hund IDEA
05:26:15 <r0bby> yeh
05:26:20 <r0bby> I'll have to intercept method calls
05:26:26 <r0bby> by overriding invokeMethod
05:26:41 <r0bby> throw new GroovyFormsYouSuckException("HAHHA FAIL!!!")
05:27:04 *** shadowdoc has joined #openmrs
05:27:50 <burke> although you may not like it, we should probably bind the services with fooService variable names, since it will be more natural for peope to use variable names like patient or obs for their properties. And it would make the calls clearer -- e.g. conceptService.getConcept().
05:28:17 <r0bby> okay i'll m ake that change IDEA decides to load up
05:28:27 <r0bby> i had to kill it
05:28:27 <burke> we'll still need to prevent them from overriding any of these special bound variables
05:28:44 <burke> hehe. working like eclipse, I see. :)
05:28:48 <r0bby|idea> yeh that's gonna require i intercep[t method calls
05:29:03 <r0bby> HAHA IDEA is dead and its still working
05:29:18 *** r0bby|idea has quit IRC
05:29:48 *** sioraiocht has joined #openmrs
05:30:09 <r0bby> but yeh -- we're just gonna have to check the variable names when i interrogate and rename it
05:30:20 <r0bby> cleanest way
05:30:31 <r0bby> wait no
05:30:31 <r0bby> that's not
05:30:35 <burke> r0bby: I'll eventually see "save" and "cancel" buttons at the bottom of the groovy form page right?
05:30:55 <r0bby> when the view is generated
05:31:24 <burke> i think it would be at the point where you're interrogating to build the controller, etc. As you retrieve each property, you would ensure that the name was not in the list of "reserved words"
05:31:39 <burke> if so, you throw an exception just as if the thing won't compile
05:31:56 <r0bby> yes
05:32:46 <r0bby> although checking of syntax happens indepdent of property retrieval
05:33:03 <r0bby> syntax checking*
05:33:13 <jmiranda> Phantal, i granted privileges to openmrs on that mysql instance
05:33:21 <jmiranda> go to town (and thank you)
05:33:29 <jmiranda> let me know what i can help with
05:33:40 <r0bby> burke: sorry for being behind :S
05:33:45 <r0bby> I feel guilty :/
05:34:08 <r0bby> I should blog but the milestone will be that the view is generated
05:37:59 *** r0bby|idea has joined #openmrs
05:38:06 <r0bby> Thh/soc
05:38:08 <r0bby> er
05:38:20 <r0bby> this project is shaping up nicely
05:38:35 <r0bby> manage before you go
05:38:44 <r0bby> manage forms
05:39:09 <r0bby> 1) ticking the published checkbox will publish/unpublishing depending on the state of the checkbox
05:39:32 <r0bby> 2) Backup Form will marshal the form to XML
05:39:50 <r0bby> 3) backup all forms will marshal the forms to the groovyforms.xml file.
05:39:55 <r0bby> (this done via DWR)
05:40:08 <r0bby> "Edit" isn't implemented yet
05:40:44 <Phantal> jmiranda, your mysql server is being populated with the foodmart database right now
05:40:51 <r0bby>
05:40:52 <OpenMRSBot> <> (at
05:40:58 <r0bby> my TODO list
05:41:11 <Phantal> I'll also get you the mondrian schema you'll need for that database when i get to work in 1.5hrs
05:41:16 <r0bby> i wrote this last night
05:41:24 <jmiranda> Phantal, thanks
05:41:47 * r0bby snickers and laughs manically
05:42:00 <burke> r0bby: this should be on your project page
05:42:01 <Phantal> jmiranda, in the meantime, download mondrian and drop mondrian.war in your tomcat/webapps folder
05:42:14 <jmiranda> ok
05:42:47 <Phantal> jmiranda, later today I'll help you get XMLA configured so people can start playing with jpivot or jrubik and get familiar with MDX
05:43:07 <Phantal> Then whenever I get the time, hopefully soon, I'll do a little mini-training on MDX, OLAP, etc
05:43:19 <jmiranda> very cool
05:43:33 <r0bby> is is
05:43:38 <Phantal> anyway, i need to go get ready if i'm going to make the 10am train
05:43:42 <r0bby> it is*
05:43:51 <Phantal> later
05:43:56 <jmiranda> see ya
05:43:57 <r0bby> this is a local TODO list
05:44:32 *** njero has quit IRC
05:44:45 *** jbrown_ has joined #openmrs
05:45:04 <r0bby> mm i love gnome panel
05:45:23 <r0bby> I can move windows around on the taskbar :) tp have an order i want
05:45:27 * r0bby is crazy
05:46:49 * burke has applied for an IntelliJ open source license. :)
05:47:27 <r0bby|idea> okay, i'll implement property missing and method call interception
05:48:29 <burke> r0bby: how do you envision handling the scenario where I've already created a form, view, etc. and tried out the form, edited the view a bit to make it prettier and then decide I want to add a property to the model?
05:48:31 <r0bby> intellij's groovy support isnt quite there
05:48:49 <r0bby> re-generate everything
05:49:09 <r0bby> or that's how I plan to do it
05:49:11 <burke> are you using JetGroovy 1.5?
05:49:16 <r0bby> latest yes
05:49:21 <r0bby> it's weird w/ imports
05:49:32 <burke> from what I've seen on the web, their groovy support is more "there" than anyone else
05:49:32 <r0bby> it shows an import as unused even though i use it.
05:49:52 <burke> i'm hoping that eclipse will catch up
05:50:00 <r0bby> it's being worked on
05:50:04 <r0bby> feverishly
05:50:10 <burke> robust groovy support in eclipse would be a major boon to groovy
05:50:53 <burke> re-generate everything means overwrite my edits to the view? and my API calls in the controller?
05:51:11 <burke> i spent hours getting the view to look pretty and figuring out the right API calls. now they're gone!!!! :)
05:51:17 <r0bby> maybe i'll implement "over-write what changed)
05:51:42 <r0bby> let's cross that bridge when we get there
05:51:47 <r0bby> we still don't have a view
05:51:51 <r0bby> we have everything else
05:51:59 <r0bby> template isn't being saved
05:52:10 <r0bby> burke: you edit your form
05:52:17 <r0bby> you see the model/view/controller
05:52:29 <r0bby> er i see your point
05:52:42 <r0bby> I'll write in a method to just change the validate method
05:52:47 <r0bby> er
05:52:50 <burke> we can come back to it. but it'll be an important next step.
05:52:51 *** cancerb0y has joined #openmrs
05:52:52 <r0bby> yeh this is tricky
05:52:58 <r0bby> yes
05:53:11 <r0bby> I need to change my saveX methods
05:53:23 <r0bby> i delete them if they exist and re-generate them
05:53:26 <r0bby> let me remove that bit
05:54:01 <burke> as I'm making the first draft of the model, then I *do* want the view/controller to be adjusted until I'm ready to deal with them
05:54:03 <r0bby> actually no i cant
05:54:05 <r0bby> :-S
05:54:19 <r0bby> this is feedback i need
05:54:55 <r0bby> what I *COULD* do is save incrementally the model somewhere
05:55:09 <r0bby> but that could get outta controller
05:55:16 <burke> that's kinda why I thought of it as a two step process -- i.e., (1) create your model and submit then (2) edit the autogenerated view/controller. note that submit doesn't necessarily mean a form submit. it could just be a button that triggers the ajax call and then shows the view & controller text boxes.
05:55:24 <r0bby> I hate that im re-inventing grails
05:55:49 <r0bby> I'll switch up the workflow
05:55:51 <burke> grails doesn't know anything about the openmrs model
05:56:10 <burke> and grails is designed to be a top-to-bottom fast prototype environment like rails. we don't want that.
05:56:14 <r0bby> no it doesn't but its scaffolding is pretty sweet
05:56:17 <burke> we want a top-to-API tool. :)
05:56:28 <burke> meh.
05:56:31 <nribeka> james_regen: are u there?
05:56:37 <r0bby> Im not using a template engine
05:57:07 <r0bby> i dont care if method calls are ugly for the template if it works -- im happy
05:57:35 <burke> r0bby: I think this is the solution: one-time generation.
05:57:46 <r0bby> what I was thinkin
05:57:56 <r0bby> no more displaying the template
05:58:21 <r0bby> though Darius did give feedback that it'd be a powerful feature
05:58:29 <r0bby> I'm going to assume the user knows HTML
05:59:00 <burke> that is, you create the model and click a "compile" button to get view & controller. you can edit the model and repeat as much as you like, but as soon as you edit either the view or the controller, then the compile button would display big scary warning messages before it overwrote your changes
05:59:42 <burke> someone could still add a new property and adjust the view and controller manually, right? or are there background changes you'd need to make as well (stuff not visible in the view & controller panes)?
05:59:46 <r0bby> "WARNING: clicking this button may be bad for your health (in other words, say goodbye to your stuff)!"
05:59:54 <r0bby> sure
06:00:01 <r0bby> just don't try and compile it
06:00:10 <burke> yup. on the first pass, no warning. and, ideally, if no edits to view or controller had been done, then no warning.
06:00:29 <r0bby> i wonder if there's a way to detect that via js
06:00:46 <r0bby> template generation should became easy
06:01:17 <r0bby> by the way i had that as one of my solutions to the template problem generate one-time only
06:01:31 *** jbrown has quit IRC
06:01:34 <r0bby> I sat down and tried to outline what problems i was facing and it was only one!
06:01:39 <burke> sure. onchange="setChanged(this)"
06:01:48 <r0bby> OH!
06:01:55 <r0bby> doh
06:02:27 <r0bby> $("#groovyModel").bind("change",function() { alert("OH NOES!!!!"); });
06:02:53 <r0bby> I blame this dude i met in ##java for my heavy use of that crap he's a bad influence
06:02:58 <burke> if the view & controller haven't been created, then it's a no-brainer. just compile away.
06:03:05 <r0bby> si
06:03:20 <r0bby> So i should be good to go
06:03:47 <r0bby> code duplication of class parsing stuff is gonna be a necessary evil
06:04:02 <r0bby> tomcat has multiple classloaders
06:04:05 <r0bby> one for each webapp
06:04:19 <burke> if the view & controller exist, then you'd like to know if they exactly match what would have been generated before the last set of changes to the model. But that's too tricky. I think detecting any changes to the value of the view/controller would be fine (with a onchange event). If someone edits the view and/or controller and then puts them back into their native state, then they'll survive getting the warning message.
06:04:20 <r0bby> and I need thqat classloader to the parent of the groovyclassloader
06:04:43 <burke> in the view, why are some of the variables in quotes and others are not?
06:04:59 <r0bby> the second they go to change a warning will pop up (actually a message below the field.
06:05:07 <burke> I think you could drop the quotes and we should build the label/prompt separately
06:05:08 <r0bby> warning popups get in the way and i find them annoying as hell
06:05:59 <r0bby> quotes are needed
06:06:20 <r0bby> I'm doing labels
06:06:23 <burke> Popups are annoying when the disrupt workflow. But in this case, if they click on a compile button, then an alert that requires them to click on a non-defaulted YES button to proceed would be beneficial
06:06:26 <r0bby> it's less intrusive :)
06:06:37 <r0bby> yes
06:06:38 <burke> we should separate labels from widgets IMHO
06:06:47 <r0bby> that is helpful :s
06:07:00 <r0bby> can't -- this keeps things clean
06:07:15 <r0bby> I'm lazy -- i wanna do it all in one shot
06:07:16 <burke> so, as a first pass, generate something like this:
06:07:30 <r0bby> one method call
06:07:40 <burke> Patient: <% patientSelector(patient) %>
06:07:42 <r0bby> it's not inefficient (i don't hinK)
06:07:53 <r0bby> can't do that
06:08:04 <burke> ideally, surrounded with a <div class="field"></div>
06:08:14 <r0bby> Patient: patientSelector(patient,null)
06:08:17 <burke> why can't do?
06:08:32 <r0bby> because the template engine acted wonky and i didnt feel like debugging it
06:08:45 <r0bby> it didn't recognize my authority as its natural leader
06:08:54 <r0bby> in otherwords it doesn't see my classes
06:08:54 *** shadowdoc has quit IRC
06:09:03 <burke> okay, r0bby. I gotta run to a meeting.
06:09:07 <r0bby> later
06:09:13 <burke> I'll look through your code and try to get you some more feedback
06:09:21 <r0bby> I know you're gonna have a lot
06:09:31 <r0bby> lack of tests aren't gonna change for generation stuff
06:09:41 <r0bby> fail me i don't care -- those things are a bitch to test
06:10:28 <r0bby> have fun :P
06:10:30 * r0bby gets codin
06:12:11 <burke> r0bby: the template will definitely need to be HTML. and we'll want to evolve where they can edit the CSS as well (in version 2)
06:12:18 <burke> we can get back to that...
06:12:25 <burke> i'll check in with you later...
06:12:28 <burke> cya
06:12:33 <r0bby> html?
06:12:48 <r0bby> how the hell is that gonna work
06:13:01 <burke>
06:13:06 <burke> you should look into it. :)
06:13:07 <r0bby> I know what HTML IS
06:13:10 <burke> hehe
06:13:13 <burke> i know.
06:13:20 <burke> it's called scriplets
06:13:28 <r0bby> hrm
06:13:45 <r0bby> it's called an abomination is what its called
06:13:48 <r0bby> it's*
06:13:50 <burke> <html><body><div class="field">Patient: <% patientSelector(patient) %></div></body></html>
06:14:04 <burke> the web has been fairly well served by HTML.
06:14:14 <burke> and HTML has been very helpful for our web app. :)
06:14:37 <r0bby> yeh
06:14:44 <burke> we'll get you there... even if I have to take you kickin' and screamin' ;)
06:14:54 * r0bby will have to
06:14:59 <burke> this module is going to kick butt.
06:15:04 <burke> you rock, robby.
06:15:11 <r0bby> everytime a scriptlet is used, god kills a kitten, and I love kittens :<
06:15:22 <burke> i'll check in with you later on (tonight or tomorrow) and try to have some more feedback for you.
06:15:26 <burke> gotta run
06:15:40 <r0bby> k
06:16:04 *** burke has quit IRC
06:43:42 *** guateroger has joined #openmrs
06:44:51 <guateroger> hey justin, the demo site appears not to be working, know anything about it?
06:45:39 <jmiranda> guateroger, this demo ...
06:45:55 <jmiranda> guateroger, what's the error you're seeing?
06:46:17 <guateroger> none of the patients have any encounters. mention of a database version difference at bottom of page
06:46:46 <jmiranda> bmckown, do you have access to the demo server?
06:47:43 <bmckown> yes... uh.. i think.
06:47:46 <bmckown> lemme try
06:48:09 <jmiranda> do i?
06:48:20 <bmckown> you should
06:48:38 <bmckown> you have the googledoc, no?
06:49:13 <bmckown> it's vm2
06:49:20 <jmiranda> i have access to the google doc
06:49:33 <jmiranda> but the password seems to be obscured
06:49:48 <bmckown> oh. you don't "know" the password?
06:50:10 <bmckown> write your cell phone number in the google doc and i'll call you
06:50:13 <guateroger> he posts all his passwords on facebook
06:50:15 <jmiranda> yeah, is that a common one?
06:50:24 <bmckown> hehe
06:50:36 <bmckown> not very common
06:50:44 <jmiranda> no, just tell me here ... on IRC ... so we can archive it
06:50:47 <jmiranda> :)
06:50:49 <bmckown> fantastic
06:51:06 * bmckown erases the archive
06:51:25 <jmiranda> ok, my number is there
06:54:19 <guateroger> any joy?
06:56:23 <jmiranda> guateroger, not sure what's going on ...
06:56:33 <jmiranda> looks like the database script might not be completing
06:58:14 <guateroger> yeah, various other parts seem not to work, consistent with db upset
06:59:47 <guateroger> does it have a script of its own for resetting to a clean version that may not have been updated
06:59:55 <jmiranda> Phantal, mondrian is installed on my server ... let me know if we need to make changes to the config
07:00:25 <jmiranda> guateroger, yes
07:01:25 <bmckown> gotta find the script...
07:02:12 <bmckown> duh... have to use web administration for that...
07:08:42 <guateroger> do you have the website where Phillipe Boucher has posted OpenMRS Express? Or has he taken it down while he revs up?
07:10:30 <bmckown> you're asking jmiranda, right? i don't have it btw. demo host web interface is less intuitive than using the shell.
07:10:42 <bmckown> can't find script
07:11:11 <jmiranda> guateroger, yeah i'm not familiar with the status of the openmrs express app or whether it's installed publicly
07:12:10 <guateroger> thanks both, I am having trouble getting into my e-mail to find our conversation
07:12:27 <guateroger> our = Phillipe and me
07:12:39 <jmiranda> guateroger, i can send an email to the implementers list if you'd like?
07:13:29 <guateroger> it doesn't matter, it's past his bedtime in Geneva, I'll write him from a different connection tonight
07:14:37 <bmckown> it's downloadable from WHO website, no?
07:15:14 <guateroger> it´s somewhere on the WHO website, yes
07:16:25 <guateroger> ok, got it, thanks
07:17:17 *** cancerb0y has left #openmrs
07:30:10 <Phantal> jmiranda, ya, there'll be a few small changes
07:30:26 <Phantal> there's a 'datasources.xml' file in there that'll need modification, and I need to send you a schema to use
07:30:40 <jmiranda> ok
07:33:15 <bmckown> jmiranda, i found how to access/create database
07:34:36 <jmiranda> how
07:35:01 *** sioraiocht has quit IRC
07:35:16 <bmckown> have to create/drop database via web interface.
07:35:29 <bmckown> then you can ssh and manage database from shell
07:35:51 <bmckown> i'm going to recreate the demo database.... as you say it has 0 encounters
07:38:29 <Phantal> jmiranda, just emailed the olap schema to your gmail account
07:38:37 <jmiranda> ok thanks
07:38:46 <Phantal> jmiranda, I think you can just put it in tomcat/webapps/mondrian
07:39:01 <Phantal> I usually put it in .../mondrian/WEB-INF/queries
07:39:07 <bmckown> great
07:39:13 <bmckown> that hosed it.
07:39:24 <jmiranda> :)
07:39:27 <jmiranda> sorry man
07:39:31 <jmiranda> how can i help
07:39:33 <Phantal> jmiranda, next, you'll need to modify .../mondrian/WEB-INF/datasources.xml
07:39:39 <guateroger> he can summon demons from the deep but cannot make them behave
07:39:45 <bmckown> hehe
07:39:52 <nribeka> Phantal: you're good at mondrian?
07:40:09 <Phantal> nribeka, fairly competent
07:40:10 <bmckown> fortunately i just pointed it to a test database. will try to restart
07:40:18 <Phantal> nribeka, I'm helping with the dwh project
07:40:48 <nribeka> dwh?
07:40:53 <Phantal> data warehouse
07:41:04 <nribeka> ah ic ic ...
07:42:05 <Phantal> jmiranda, next, open .../mondrian/WEB-INF/datasources.xml in vi, change <DataSourceName></DataSourceName> to contain just the word 'foodmart' inside the tags, same with <DataSourceDescription, change the URL tag to: <URL></URL> (more to come)
07:42:06 <jmiranda> anything specific i should change in datasources.xml
07:42:31 <Phantal> change <DataSourceInfo> to contain an appropriate jdbc connect string to your mysql database; be sure to leave Provider=mondrian; in there
07:42:33 <jmiranda> looks like FoodMart is already there
07:42:42 <Phantal> for Catalog, provide a fully qualified path to the schema
07:42:50 <Phantal> jmiranda, yes, but there's artifacts (a semicolon i think)
07:42:54 <Phantal> make it just foodmart
07:43:27 <Phantal> for the path, it would be something like: file:///usr/share/tomcat/webapps/mondrian/WEB-INF/queries/foodmart_modified.xml
07:43:31 <Phantal> or wherever you put it
07:43:48 <Phantal> btw, it should be possible to do this with JNDI, but I'm not very experienced with tomcat
07:43:53 <Phantal> feel free to play with this later if you like
07:44:47 <Phantal> Change the ProviderName tag to: <ProviderName>Mondrian</ProviderName> (if it's not already), <ProviderType> should contain MDP, authentication mode you can leave unauthenticated if you want
07:45:11 <Phantal> Change the catalog tag and its contents to resemble this:
07:45:21 *** r0bby|idea is now known as r0bby|intelliJ
07:45:45 <Phantal> <Catalog name="foodmart"> <Definition>file:///usr/share/tomcat/webapps/mondrian/WEB-INF/queries/foodmart_modified.xml</Definition>
07:46:01 <Phantal> I need to make sure the catalog name attribute is right, one sec
07:46:29 <Phantal> FoodMart, camel cased like that
07:46:44 *** jbrown_ has left #openmrs
07:47:03 <jmiranda> ok, most of those changes were in there
07:47:26 <Phantal> i figured as much, i don't have one up & running right now, I'm just verbally changing mine to match what you should have
07:47:33 <jmiranda> Definition file has a relative URL
07:47:34 <r0bby> Phantal: pascal-cased
07:47:48 <r0bby> camel-case is camelCase
07:47:52 <Phantal> ohh
07:47:55 <jmiranda> /WEB-INF//queries
07:48:14 <jmiranda> still waiting on the schema file
07:48:24 <Phantal> should be in your gmail account by now
07:48:45 <Phantal> i sent it to
07:49:26 <Phantal> so, while you wait for that, i'll fill you in on some details
07:49:32 <Phantal> Mondrian can be used in two primary ways
07:49:35 <Phantal> XMLA and embedde
07:49:36 <Phantal> d
07:49:39 <bmckown> camelcase is roBBy
07:49:54 <bmckown> maybe rOBby
07:50:06 <Phantal> If embedded, when you run your program it makes use of mondrian.jar. WHen you exit, the instance of mondrian running ceases to run
07:50:32 <Phantal> with XMLA, it is a SOAP servlet, taking MDX queries via XMLA using the olap4j library
07:50:39 <Phantal> err, that is
07:50:50 <Phantal> I don't know what's going on server-side, but you can access the servlet using olap4j
07:51:04 <Phantal> You aren't restricted to that, any XMLA consumer can speak to the servlet
07:51:32 <Phantal> but if you're writing a java program to communicate with mondrian via XMLA, you probably want to use olap4j (intended to be the jdbc equivelant for olap)
07:51:49 <Phantal> We're setting up two different paths
07:52:04 <Phantal> You already have jpivot in there, it should've came packaged in mondrian.war
07:52:13 <Phantal> it'll be using an embedded instance of mondrian
07:52:27 <jmiranda> yeah, you can test the current deployment
07:52:29 <Phantal> you'll also have a mondrian servlet running, so two separate instances of mondrian
07:52:41 <Phantal> alright, one sec and i will
07:52:42 <jmiranda> not sure if it's a config thing, but most of the jsps are broken
07:52:51 <Phantal> Probably just a config thing
07:52:52 <jmiranda>
07:53:15 <Phantal> oh, if you have it running on 8080, open datasources.xml and modify the xmla url to have 8080 in there
07:53:47 <Phantal> That probably won't affect whether the jsps work or not
07:53:50 <jmiranda> yup, did that already
07:54:11 <jmiranda> how big is the schema
07:54:13 *** njero has joined #openmrs
07:54:13 *** ChanServ sets mode: +v njero
07:54:16 <Phantal> in the meantime while i try this out, go download jrubik (not the may release)
07:54:24 <jmiranda> usually gmail is pretty quick
07:54:28 <Phantal> note, when you try to go to their sourceforge download page from the link provided on their homepage ...
07:54:30 <Phantal> the URL is broken
07:54:40 <Phantal> the link they have on there is to 'sourcefoge', which is a porn site
07:54:53 <Phantal> 34kb
07:54:58 <Phantal> and it hasn't been returned to me
07:56:00 <Phantal> be sure you get jrubik 0.9.4
07:56:16 <Phantal>
07:56:17 <OpenMRSBot> <> (at
07:59:04 <Phantal> strange ... jrubik won't run for me in centos; probably just a configuration thing
08:05:27 <jmiranda> Phantal, still nothing ... could you send it to justin at openmrs dot org
08:06:51 *** r0bby has quit IRC
08:07:08 *** r0bby|intelliJ has quit IRC
08:07:27 <Phantal> Should be on its way to the omrs server now
08:10:39 <Phantal> jmiranda, any luck?
08:12:20 <jmiranda> yeah
08:12:27 <jmiranda> just got the one you sent to openmrs
08:12:32 <Phantal> k
08:12:41 <jmiranda> there's must have been a typo in my email address to gmail
08:12:55 <jmiranda> i need to run out for a few minutes
08:13:01 <jmiranda> will try to get this done in a few minutes
08:13:05 <Phantal> i dunno. it was from my adressbook, recorded from an email received from you
08:13:07 <Phantal> alright
08:13:10 <jmiranda> (or when i get back)
08:13:52 *** jmiranda has quit IRC
08:27:21 <bmckown> screw it. i give up
08:27:37 <bmckown> cannot upload a file to vm2
08:28:19 <bmckown> was going to attempt to update the demo database. to no avail.
08:51:52 *** jmiranda has joined #openmrs
08:51:52 *** ChanServ sets mode: +o jmiranda
08:52:31 <jmiranda> Phantal, you still on?
08:55:02 <Phantal> whoops, thought i was talking in here
08:55:38 <Phantal> jmiranda, apparently the download of jrubik from their site wouldn't run for me in centos, but I copied it from my laptop, and that one ran just fine in centos
08:55:44 <Phantal> supposedly same file
08:56:00 <Phantal> so, if you have problems getting jrubik to start, let me know and I'll look into it further
09:32:50 <guateroger> jm, phan, bmck -- had to go to a meeting, have caught up on this thread. will keep this window open but move on to other things thanks for looking into it
09:34:32 *** guateroger has quit IRC
09:34:57 *** guateroger has joined #openmrs
09:45:59 *** guateroger has quit IRC
09:46:14 *** james_regen has quit IRC
09:46:52 *** guateroger has joined #openmrs
09:56:16 *** TorLye has quit IRC
09:58:19 *** r0bby has joined #openmrs
09:58:19 *** ChanServ sets mode: +v r0bby
10:20:49 *** njero has quit IRC
10:24:09 *** guateroger has quit IRC
10:55:39 *** nribeka has quit IRC
10:59:18 <r0bby> woot woot woor
10:59:22 <r0bby> woot woot woot
10:59:26 * r0bby dances
11:07:46 *** nribeka has joined #openmrs
11:12:22 *** yanokwa has joined #openmrs
11:12:23 *** ChanServ sets mode: +v yanokwa
11:12:45 <yanokwa> yaw's here. get excited..
11:14:20 <nribeka> nribeka: i'm here ... have a great weekend guys ...
11:15:22 <r0bby> yanokwa: where is the cake?
11:15:50 <yanokwa> r0bby: jmiranda was supposed to make it.
11:16:59 <r0bby> he's a horrible cook
11:19:13 <jmiranda> read 'em and weep
11:19:14 <jmiranda>
11:19:15 <OpenMRSBot> <> (at
11:19:24 <jmiranda> there's your cake
11:21:46 <jmiranda> r0bby, no cake for you
11:26:31 <r0bby> jmiranda: no biggy
11:26:36 * r0bby gets out the gun
11:27:10 <r0bby> okay this is getting annoyinh
11:27:20 <yanokwa> dont do it.
11:27:30 <yanokwa> life is worth living
11:27:31 <r0bby> when i first deploy mu omod -- I get a js syntax error
11:27:36 <r0bby> and i wasn't gonna kill myself
11:27:43 * r0bby laughs manically
11:28:06 <yanokwa> ok. this brings up a good question... i wanna code directly against the db -- i think i once did this via junit.
11:28:11 <yanokwa> anyone have this working?
11:29:03 <r0bby> ugh i hate this app
11:29:11 <r0bby> my magic isn't working
11:29:49 <r0bby> uuuuuuuuuuuuuuugh
11:48:18 <yanokwa> r0bby: do you write code, deploy, then test?
11:48:26 <yanokwa> like deploy as in build an omod?
11:49:17 <r0bby> yes
11:49:23 <r0bby> it's a bitch to test what i'm doing
11:49:31 <r0bby> burke can fail me i odnt care
11:49:38 <r0bby> if it works when i deploy it
11:49:47 <r0bby> ship the motherf'en thing
11:52:06 <bmckown> to antarctica
11:52:14 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: vmware image <>
11:52:59 <yanokwa> so i think there is a way to test stuff before deploying...thats what im trying to figure out..
11:53:36 <bmckown> if it's web layer stuff you can use deploy-web... else use junit
11:54:03 <yanokwa> bmckown: are there docs online how i can use use junit?
11:54:27 <bmckown> i 'think' so... junit in a module has been probably best demonstrated by tammy
11:54:47 <bmckown> ...
11:55:30 <bmckown>
11:55:50 <yanokwa> and so it begins...
11:56:07 <yanokwa> anyway, how long you been in indy?
11:56:18 <bmckown> me?
11:56:25 <yanokwa> yea
11:56:42 <bmckown> lived here since '98
11:57:32 <yanokwa> cool. i lived in indy for about 15 years
11:57:46 <bmckown> tammy's modules atd and dss one or both use junit. You're in indy, yaw?
11:57:48 <bmckown> wow
11:58:00 * yanokwa used to. now live in seattle
11:58:23 <bmckown> okay i was thinking you were in the west coast.
11:58:41 <bmckown> which do you like better?
12:01:27 <bmckown> i 'thought' she had some meaningful tests in those modules.
12:02:22 <yanokwa> i love seattle. you can only do so much in indy before you run out of stuff to do.
12:02:29 <yanokwa> i do miss yats though..
12:03:24 <bmckown> hmm. yea that's why computing is so nice in indy.
12:03:48 <bmckown> then you don't have to go find out that there isn't much else to do anyway.
12:04:38 <bmckown> but alas...after 10 years it has grown on me.
12:11:42 <yanokwa> yea, my bro/sis and 'rents live there. its not a bad town fr sure
12:12:20 <jacobb> bmckown, have you always lived there?
12:13:03 <bmckown> no. spend childhood in ohio, then texas, then central america 5+ yrs, then indy.
12:13:46 <jacobb> where in texas?
12:13:57 <bmckown> nice presentation on modules at regenstrief btw
12:13:59 <bmckown> dallas
12:14:16 <jacobb> ah cool, how was that?
12:14:21 <jacobb> where was your favorite place to live?
12:14:37 <bmckown> it's a very nice town... my favorite place was Managua, Nicaragua.
12:15:03 <jacobb> haha, crazy...a little too much for me
12:15:07 <bmckown> :-)
12:15:45 <jacobb> i wouldn't mind living in new york for awhile, but i think it'd be hard to live anywhere permanently besides socal
12:15:58 <jacobb> my dad just moved to a place outside of austin, tx and it's pretty nice
12:16:36 <bmckown> yea. i've passed thru austin. it's still pretty big. new york would be cool, but i've never been there.
12:16:47 <jacobb> yeah me neither
12:16:52 <bmckown> california where you live sounds awesome, too.
12:16:58 <jacobb> i'd love to live there for a awhile
12:17:27 <jacobb> yeah, i really like orange county...out of all the places i've lived nothing has come close
12:18:13 <bmckown> someday maybe i'll get to visit LA.
12:18:22 <jacobb> yeah
12:18:25 <jacobb> LA is big
12:18:30 <jacobb> and has lots of traffic
12:18:31 <jacobb> haha
12:18:52 <jacobb> has a lot of great suburbs though
12:19:01 <bmckown> so i hear... what is it two hours to get to work in the morning. yea.
12:19:14 <jacobb> yeah for people in LA it can be pretty bad
12:19:19 <bmckown> eeks.
12:19:25 <jacobb> i'm about 45 miles south
12:19:44 <jacobb> right in the middle of orange county
12:19:59 <bmckown> okay. it's such a big city.
12:20:09 <jacobb> mid to south orange county is really nice...that's where you have Irvine, Newport Beach, Laguna Hills, Coto De Caza, etc.
12:20:46 <jacobb> yeah...LA is a little too hectic for me. Very busy.
12:21:35 <bmckown> hmm. it must be very different. indy is pretty slow.
12:21:39 <jacobb> but it'd be a lot of fun to live in certain area's of hollywood, santa monica, or especially beverly hills or palos verdes if you're rich
12:21:51 <r0bby>
12:21:54 <jacobb> besides those though, I'll take the mid-upper class of orange county
12:21:54 <OpenMRSBot> <> (at
12:22:03 <jacobb> rather than LA county
12:22:05 <bmckown> yeah.
12:22:16 *** jmiranda has quit IRC
12:22:23 *** jmiranda has joined #openmrs
12:22:23 *** ChanServ sets mode: +o jmiranda
12:22:57 *** jmiranda has quit IRC
12:22:59 <jacobb>
12:23:03 <jacobb> that would be nice to live there
12:23:16 <jacobb> :)
12:23:17 <bmckown> oooh.
12:24:04 <jacobb> Maybe someday ;)
12:24:19 <r0bby> r0bby likes his lolcats
12:24:26 <r0bby> and loldogs
12:24:30 <bmckown> jacobb is only a few years from being filthy rich and famous
12:24:51 <jacobb> Newport Beach has areas like that too...but I think the extravagant homes and country clubs of The O.C. was actually filmed at Palos Verdes
12:25:53 <r0bby> damn you californians
12:25:57 <jacobb> Yeah I just need every major EMR to adopt Mirth as their messaging system and give us a cool billion, recurring...
12:26:07 <r0bby> california: slowly becoming an island
12:26:08 <bmckown> yea, i'm pretty clueless as to what's in LA area.
12:26:09 <jacobb> :P
12:26:10 <bmckown> hehe
12:26:36 <jacobb> LA's different than say, NY, because it's so big and spacious
12:26:43 *** atomicturtle has quit IRC
12:27:07 <bmckown> both would be nice to visit.
12:27:18 <jacobb> when people say they're going to visit LA, then end up there, and then also driving an hour south to Orange County and 2 hours south to San Diego as well
12:27:45 <bmckown> sounds fun
12:27:49 <jacobb> haha
12:27:53 <jacobb> you should visit then
12:27:55 <jacobb> :)
12:28:03 <r0bby> My next project after i get the first version of my module out will be a command line/gui app to upload omods
12:28:06 <bmckown> that would be great. :-)
12:28:24 <r0bby> should be interesting
12:28:37 <jacobb> sounds cool, r0bby
12:28:50 <r0bby> I know im getting tired of doing the webapp based
12:29:03 <jacobb> yeah, i'm not a fan of webapps
12:29:14 <r0bby> yet you're working on openmrs!
12:29:18 <jacobb> harder to debug
12:29:22 <jacobb> haha
12:29:39 <jacobb> I'd love to see an OpenMRS fat client
12:30:03 <bmckown> somebody must be working on that somewhere
12:30:07 <jacobb> haha
12:30:09 <jacobb> hoepfully
12:30:15 <r0bby> It's a quick app to write
12:30:17 <jacobb> i always mess up when i use webapps
12:30:25 <r0bby> 1) authenticate
12:30:30 <r0bby> 2) browse to find the omod
12:30:35 <r0bby> three post it
12:30:45 <r0bby> via some means
12:30:55 <jacobb> r0bby, should be a piece of cake
12:31:13 <jacobb> it'd be a good start for an overall CLI
12:31:14 <r0bby> I thought my project would be a piece of cake
12:31:18 <jacobb> haha
12:31:52 <r0bby> I don't assume anymore
12:32:38 <jacobb> yeah
12:32:41 <jacobb> that's good
12:32:54 <jacobb> bmckown, is there anyone officially working on a fat client?
12:33:20 <bmckown> i'm not sure.
12:33:22 <r0bby> bmckown: any idea why I'd get JS errors when i first deploy my omod; but when i recopy the JSP over -- no errors?
12:33:53 <bmckown> 'recopy the JSP over' ?
12:34:01 <r0bby> run deploy-web
12:34:05 <bmckown> okay
12:34:09 <bmckown> cache?
12:34:26 <r0bby> no it happens EVERY time i deploy
12:34:36 <r0bby> but when i recopy it over it goes away..
12:35:00 <r0bby> wow our dev box really does suck
12:35:11 <bmckown> hmm. oh. is it slow again?
12:37:42 <r0bby> Just wrote a ticket for the gui front-end
12:38:11 <bmckown> when you deploy the omod, do you do a clean every time?
12:38:38 <r0bby> no :S
12:38:42 <bmckown> modules seem to need cleaned about every time you build
12:38:51 <r0bby> okay
12:40:36 *** nribeka has quit IRC
12:40:51 <r0bby> bmckown: should I add it to the project page?
12:41:01 <r0bby> ?
12:41:07 <bmckown> ahhhh!
12:41:09 <r0bby> or should i wait for feedback on the ticket?
12:41:14 <r0bby> !ticket 930
12:41:14 <OpenMRSBot> r0bby: Ticket #930:
12:41:24 <bmckown> maybe not a good day to touch projects page.
12:42:46 <r0bby> I'm assigning it to myself
12:43:02 <r0bby> the ticket
12:43:02 <r0bby> whoa
12:43:12 <r0bby> somebody seriously is screwing w/ our server
12:45:22 <r0bby> bmckown: what is "accept ticket"
12:45:22 <r0bby> ?
12:45:50 <bmckown> the person who accepts it owns it and will do it.
12:46:06 * r0bby gonna accept it
12:46:31 * r0bby will write it in groovy :D
12:46:43 <bmckown> i want a demo.
12:47:06 <r0bby> of my app right now?
12:47:18 <bmckown> i downloaded your code during the review hoping to see a demo.
12:47:21 <r0bby> or of the omod deployment
12:47:27 <bmckown> does it compile right now?
12:47:33 <r0bby> of course
12:47:36 <r0bby> but I made changes
12:47:39 <bmckown> okay lemme update.
12:48:23 <r0bby> let me commit have i have hold on
12:48:32 <bmckown> okay
12:48:39 <r0bby> just lemme test this one change
12:48:53 <bmckown> does it require the groovy module?
12:49:03 <r0bby> nope
12:49:06 <bmckown> okay
12:49:19 <r0bby> i include the groovy jar needed
12:50:36 <r0bby>
12:50:47 <r0bby> standard openmrs auth data
12:51:00 <r0bby> it's safe you can't do much harm
12:51:13 <r0bby> as nothing is actually executed
12:51:17 <r0bby> wait yes it is
12:51:27 <r0bby> the ctor is
12:51:36 <r0bby> anyways
12:51:41 <r0bby> go to Create a groovy form
12:52:01 <r0bby> type in
12:52:09 <r0bby> Concept c = "WEIGHT IN (KG)".concept()
12:52:30 <r0bby> That'll get the conceot for WEIGHT IN (KG)
12:52:47 <r0bby> burke hated my 5 word class comment for my abstract class
12:53:52 <r0bby> i don't care it states intent
12:54:09 * r0bby pokes bmckown
12:55:09 <bmckown> can you save the form?
12:55:36 <r0bby> no
12:55:38 <r0bby> not yet
12:55:41 <bmckown> okay
12:55:44 <bmckown> this is sweet.
12:55:48 <bmckown> very nice.
12:55:50 <r0bby> Now
12:55:51 <r0bby> reload
12:55:56 <r0bby> don't define any properties and watch
12:56:09 <r0bby> the area right below the textarea
12:56:19 <r0bby> this is all done via ajax
12:56:30 <r0bby> the other notable thing is the manage forms page
12:56:39 <r0bby> publishing/unpublishing is done via ajax
12:56:50 <bmckown> i like it.
12:56:52 <r0bby> :)
12:56:59 <bmckown> nice work.
12:57:00 <r0bby> Edit is not implemented yet
12:57:19 <yanokwa> r0bby: is this ever going to be used to enable drag and drop forms?
12:57:20 <bmckown> wish you would have demoed this during your review.
12:57:33 <r0bby> most of this...except for the Activator, one of my utility classes; and my model class
12:57:38 <r0bby> yanokwa: it's easy to implement
12:58:16 <bmckown> r0bby throws a groovy book at bmckown...
12:58:27 * bmckown doesn't give it back.
12:58:35 <yanokwa> ok. wrists on fire. time to leave coffee shop.
12:58:36 <r0bby> I wrote it before i realized idea's groovy support ROCKED
12:58:37 <yanokwa> rsi sucks
12:58:48 <r0bby> my hand hurts
12:58:52 <bmckown> rsi?
12:59:00 <r0bby> repetitive stress injury
12:59:01 <yanokwa> repetitive stress injury
12:59:10 <bmckown> repetitive stress injury
12:59:14 <bmckown> ouch
12:59:15 <yanokwa> :)
12:59:18 <bmckown> yea, that does hurt.
12:59:21 <r0bby> my hand hurts
12:59:40 <yanokwa> yeah. in my case it's basically tennis elbow in my right side. but my left hand is being used to compensate, so now that hurts too.
12:59:50 <r0bby> I wonder if the reason my hands bother is due to my calcium levels fluctuating :-s
13:00:11 <bmckown> i suffer from tequila wrist.
13:00:57 <bmckown> silence?
13:01:01 <bmckown> it was a joke.
13:01:17 <yanokwa> tough crowd.
13:01:27 *** yanokwa has quit IRC
13:01:46 <bmckown> i suppose there are better venues on a friday evening.
13:05:19 <r0bby> yeh
13:05:24 <r0bby> such is the soc life
13:05:28 <r0bby> coding at home on a friday
13:05:36 <r0bby> heh nothing better than sitting in PJs coding
13:05:40 <r0bby> and making cahs
13:05:56 <bmckown> cahs?
13:06:02 <r0bby> cash
13:06:05 <r0bby> I can't type
13:06:15 <r0bby> im shocked my code compiles
13:06:28 <bmckown> it is very nice.
13:06:45 <r0bby> concise
13:06:56 <r0bby> that container class proved useful
13:07:08 <r0bby> I interrogate once keep a reference around then use it
13:07:34 <r0bby> and if the class has no properties i return null.
13:07:37 <bmckown> have you committed this much yet?
13:08:01 <r0bby> props.size() != 0 ? props : null
13:08:06 <r0bby> oh weeks ago
13:08:09 <r0bby> that's the return statement
13:09:30 <bmckown> okay. closing the page.
13:09:38 <r0bby>
13:09:42 <r0bby> that's the code
13:09:59 <r0bby>
13:10:01 <OpenMRSBot> <> (at
13:10:51 <r0bby> erm oops sta;e class com,ment
13:12:56 <r0bby> meh I have to do some metaprogramming to intercept method calls :/ -- this is gonna slow the app down slightly
13:24:01 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #930 (enhancement created): CLI/GUI front-end to deploy omods <> || OpenMRS Tickets: Ticket #929 (task created): Implement indexDate functionality to replace As-OF operator <> || OpenMRS Tickets: Ticket #928 (task created): Refactor logic data source DAOs <> || OpenMRS Tickets: Ticket #927 (task created): Add support for query components <> || OpenMRS Tickets: Ticket #926 (task created): Implement Result.toObject() <> || OpenMRS Tickets: Ticket #925 (task created): Implement functionality for limiting results (i.e. LAST 3) <> || OpenMRS Tickets: Ticket #924 (task created): Populate the rule token cache with concept names <> || OpenMRS Tickets: Ticket #923 (task created): Move Result methods into Result data source <> || OpenMRS Tickets: Ticket #922 (task created): Implement applyCriteria() method <> || OpenMRS Tickets: Ticket #921 (task created): Resolve ties between operators like LAST, FIRST <> || OpenMRS Tickets: Ticket #920 (defect created): Applying transforms (FIRST, LAST) before other query restrictions does not currently work <>
13:27:14 *** atomicturtle has joined #openmrs
13:48:30 *** yanokwa has joined #openmrs
13:48:30 *** ChanServ sets mode: +v yanokwa
13:49:35 <r0bby> yanokwa is back
13:49:39 <r0bby> everybody cheer
13:49:44 <r0bby> then heckle
13:49:56 <r0bby> then throw your shoes
13:50:18 *** yanokwa has quit IRC
13:52:11 <r0bby> aw
13:53:44 *** yanokwa_ has joined #openmrs
13:54:02 <r0bby> yanokwa_: welcome back
13:54:05 * r0bby throws his shoe
13:54:10 *** yanokwa_ has quit IRC
14:07:34 *** yanokwa_ has joined #openmrs
14:07:58 *** yanokwa_ has quit IRC
14:22:33 *** bmckown has quit IRC
15:30:40 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #931 (task created): duplicate entry error in update to latest sql <>
16:53:58 *** sioraiocht has joined #openmrs
19:18:42 *** nribeka has joined #openmrs
  • No labels