00:03:07
|
*** nribeka has quit IRC
|
00:03:08
|
<jmiranda> huntp,
|
00:03:28
|
<huntp> hey - sorry for the lack of response ......
|
00:03:37
|
<jmiranda> in our web application, we have a servlet filter that gets called at the beginning and end of a request
|
00:03:41
|
<huntp> i'm discussing here with a coleague too
|
00:03:48
|
<huntp> ok ...
|
00:03:54
|
<jmiranda> that filter will handle adding the user context back into the Context
|
00:04:31
|
<huntp> i've seen references to "org.openmrs.web" ... but, that's not part of the standard API right?
|
00:05:02
|
<jmiranda> exactly
|
00:05:17
|
<jmiranda> so you need to maintain the user information in the session
|
00:06:13
|
<jmiranda> and set the UserContext of the Context before each request
|
00:06:29
|
<jmiranda> if that's not possible, then i think you might need to have a single Context object per user
|
00:06:49
|
<jmiranda> (maintain that in the session)
|
00:07:06
|
<jmiranda> which is what openmrs did in the beginning
|
00:07:26
|
<r0bby> jmiranda: how long have you been w/ openmrs?
|
00:07:39
|
<jmiranda> late 2005
|
00:07:39
|
* r0bby has been lurking here for like a year or 2
|
00:08:07
|
<jmiranda> what's the interface between CF and java?
|
00:08:29
|
<jmiranda> is that something new?
|
00:08:53
|
<huntp> CF runs directly on the JRE
|
00:09:07
|
<r0bby> s/on the JRE/in the JVM/
|
00:09:10
|
<huntp> so, I can do something like this to reference the OpenMRS API ...
|
00:09:13
|
<huntp> application.openmrs.obj.context = createobject("java", "org.openmrs.api.context.Context");
|
00:09:37
|
<r0bby> http://papernapkin.org/pastebin/view/1867/
|
00:09:39
|
<r0bby> ick
|
00:10:17
|
<jmiranda> huntp, that might not do what you want it to though
|
00:11:39
|
<jmiranda> in our web application, the Context is instantiated by Spring (web framework)
|
00:11:54
|
<huntp> my subsequent calls are as follows:
|
00:12:01
|
<huntp> application.openmrs.obj.context.startup();
|
00:12:07
|
<huntp> application.openmrs.obj.context.authenticate('admin','test');
|
00:12:17
|
<r0bby> jmiranda: Spring isn't exactly a web framework :P
|
00:12:31
|
<huntp> and then - i can do something like this:
|
00:12:32
|
<huntp> application.openmrs.obj.context.getPatientService();
|
00:12:33
|
<jmiranda> ahhh, nevermind ... ben's got that bootstrap stuff in there so he can restart the app when modules are loaded
|
00:12:33
|
<r0bby> it's an IoC/DI framework w/ about a zillion other projects under the spring name :P
|
00:12:46
|
<jmiranda> right right
|
00:13:04
|
<r0bby> :P
|
00:13:30
|
<r0bby> god groovyConsole is an invaluable tool for rapidly testing code
|
00:13:36
|
<jmiranda> r0bby, thanks for the correction :)
|
00:13:40
|
<jmiranda> huntp, got it
|
00:13:57
|
<r0bby> it was a small error but an error nonetheless
|
00:14:04
|
<r0bby> we *DO* use spring mvc
|
00:14:28
|
<jmiranda> that's what i was referring to, but you are right it's more about the dependency injection than mvc
|
00:14:35
|
<r0bby> which is probably one of the hurdles we face w/ integrating grails :S
|
00:14:45
|
<jmiranda> since the mvc side is kind of crappy compared to other frameworks
|
00:14:58
|
<jmiranda> huntp, so you make a call to the patient service ..
|
00:15:05
|
<r0bby> spring mvc doesn't do the DI, spring's ioc/di container does
|
00:15:26
|
<jmiranda> nevermind
|
00:15:30
|
<r0bby> what little i understand about that thing that looks like black magic :)
|
00:15:38
|
<r0bby> I think Rod Johnson is a witch
|
00:15:48
|
<r0bby> oh kickass
|
00:16:00
|
<r0bby> if i declare one variable -- i don't need a return statement :D
|
00:16:11
|
<r0bby> ie 'ta' or whatever :D
|
00:16:15
|
* r0bby humps groovy
|
00:16:25
|
<r0bby> jmiranda: look into groovy and join the cult
|
00:16:35
|
<jmiranda> can you stick a java object in a cold fusion managed http session?
|
00:16:35
|
<r0bby> drink the kool-aid it won't kill you
|
00:16:48
|
<huntp> jmiranda: yes you can
|
00:17:18
|
<jmiranda> so you can create an OpenMRS UserContext object on a user's first request
|
00:18:04
|
<huntp> yes, exactly what i want to do - but not sure how ...
|
00:18:09
|
<jmiranda> add that to the session
|
00:18:31
|
<jmiranda> then call Context.setUserContext(userContext)
|
00:19:43
|
<jmiranda> when the thread is done processing that request, you need to clear the UserContext
|
00:19:58
|
<jmiranda> and add it back to the session
|
00:20:22
|
<jmiranda> when the second request comes in, you get the UserContext from the session and follow the same process
|
00:20:25
|
<jmiranda> here's the tricky part
|
00:20:35
|
<jmiranda> does cold fusion have anything like a servlet filter
|
00:20:49
|
<jmiranda> something that can be invoked by the container before/after a request
|
00:21:18
|
<jmiranda> ... before/after a request is processed
|
00:21:39
|
<r0bby> br />/me dances
|
00:21:40
|
<r0bby> er
|
00:22:05
|
<huntp> yes - we have 2 files with reserved filenames available for that sort of thing .... "onrequeststart.cfm" and "onrequestend.cfm"
|
00:22:19
|
<jmiranda> ok
|
00:23:09
|
<jmiranda> here's the logic again (you can check the OpenmrsFilter for more details)
|
00:23:36
|
<jmiranda> 1. Request comes in from browser
|
00:23:46
|
<jmiranda> 2. OpenmrsFilter handles request
|
00:23:52
|
<jmiranda> 3. Checks for UserContext in session
|
00:24:13
|
<jmiranda> 4. UserContext does not exist for this user
|
00:24:31
|
<jmiranda> 5. Create new UserContext and add it to session
|
00:24:49
|
<jmiranda> 6. Context.setUserContext()
|
00:25:38
|
<jmiranda> 7. OpenmrsFilter delegates request to main servlet
|
00:26:05
|
<jmiranda> 8. Servlet handles request (in our case it delegates to a Controller which will call the appropriate service)
|
00:26:25
|
<jmiranda> 9. OpenmrsFilter catches the request/response on the way out
|
00:27:05
|
<jmiranda> 10. OpenmrsFilter calls Context.clearUserContext() so we don't leave the user on the thread that just processed this request
|
00:27:31
|
<jmiranda> huntp, does that make sense?
|
00:28:51
|
<huntp> yes, it does .... so ... the setUserContext() method has an argument of type "UserContext" .... do i need to do a getUserContext() first, and then pass the result of that to setUserContext() ??
|
00:30:35
|
<jmiranda> you need to create a new UserContext yourself
|
00:31:00
|
<jmiranda> (on the first request from a user)
|
00:32:52
|
<jmiranda> a call to Context.authenticate() will populate the UserContext object
|
00:33:28
|
<jmiranda> so you'll need to handle whether the user is logged into your app
|
00:33:42
|
<jmiranda> if not, then you forward them to login screen
|
00:34:03
|
<jmiranda> (and because you've set up the before/after filter)
|
00:34:24
|
<jmiranda> the Context.UserContext variable should be populated with the object in that user's session
|
00:34:55
|
<jmiranda> the user then posts their username/password which you handle with a login controller
|
00:35:10
|
<jmiranda> call Context.authenticate(username, password)
|
00:35:57
|
<jmiranda> and that UserContext object in Context now contains the current user
|
00:38:08
|
<jmiranda> at the end of each request (in onrequestend.cfm) you might need to repopulate the session with the object returned by Context.getUserContext()
|
00:39:07
|
<jmiranda> (do that before you call Context.clearUserContext())
|
00:39:35
|
<huntp> ok, this is all really helping me ... just flicking between windows atm - trying to get this going ...
|
00:39:56
|
* r0bby actually provides access to the userservice :)
|
00:40:04
|
<r0bby> in the groovyforms module :)
|
00:42:59
|
<jmiranda> huntp, cool
|
00:43:45
|
<jmiranda> and when r0bby is done with groovyforms you should look into cf-groovy integration
|
00:44:08
|
<jmiranda> or hopefully we'll have a web services framework available not long after that
|
00:44:17
|
<r0bby> jmiranda: njero(sp?) wants to clone it
|
00:44:27
|
<r0bby> I've offered my assistance
|
00:44:32
|
<r0bby> I still need to blog
|
00:45:00
|
<jmiranda> r0bby, clone it as in port it to ruby?
|
00:45:08
|
<r0bby> I spent the evening scrubbing a bathroom (no joke; brother got a new house and the whole family (his inlaws and all)
|
00:45:12
|
<r0bby> yup
|
00:45:28
|
<jmiranda> r0bby, that sounds ... fun-ish
|
00:45:42
|
<r0bby> jmiranda: oh yeh
|
00:45:49
|
<r0bby> so fun
|
00:46:10
|
<jmiranda> huntp, keep working on that and i'll check in tomorrow
|
00:46:19
|
<r0bby> his toilet doesn't flush you have to stick your hand in the tank and pull the stopper up manually
|
00:46:23
|
<jmiranda> r0bby, keep on ... keeping on
|
00:46:30
|
<r0bby> yeh
|
00:46:34
|
<r0bby> this weekend is gonna be... fun
|
00:46:50
|
<r0bby> between wqorking nights coding and helping him move in
|
00:47:12
|
<jmiranda> r0bby, have some real fun
|
00:47:34
|
<r0bby> damn it i missed the call *AGAIN*
|
00:47:36
|
<r0bby> oh wait no id idnt
|
00:47:43
|
<jmiranda> what call?
|
00:47:47
|
<r0bby> dev call :p
|
00:47:53
|
* r0bby wants to listen in
|
00:47:57
|
<r0bby> I missed Tor's presentation
|
00:48:06
|
<r0bby> I find his project extremely interesting
|
00:48:37
|
<jmiranda> oh you mean from last week
|
00:48:53
|
<r0bby> yes
|
00:49:06
|
<r0bby> this week if i can drag myself out of bed i'll jump in
|
00:49:41
|
<jmiranda> r0bby, jump on tomorrow ... if you need to be hosted just skype me and i'll add you to my "conference call" into the indiana conference call number
|
00:50:25
|
<r0bby> same code
|
00:50:32
|
<r0bby> as last time?
|
00:50:37
|
<r0bby> I'm not gonna talk just listen in
|
00:50:45
|
<jmiranda> yes, same number same code
|
00:51:03
|
<r0bby> okies
|
00:51:23
|
<jmiranda> and yeah, it's usually a listening affair
|
00:51:25
|
* r0bby growls
|
00:51:48
|
<jmiranda> but don't worry about asking questions
|
00:51:49
|
<r0bby> I'm all for groovy's dynamic typing and all -- but sometimes it's annoying
|
00:52:05
|
<r0bby> can I act like a misfit?
|
00:52:10
|
<r0bby> Like i do on IRC!?!?!
|
00:52:26
|
<jmiranda> like danzig?
|
00:53:06
|
<r0bby> ?
|
00:53:07
|
* jmiranda prays that someone knows what he's talking about
|
00:53:12
|
<r0bby> I don't :<
|
00:53:19
|
<r0bby> I've only been active since soc :P
|
00:53:28
|
<r0bby> and paul/burke pushed for mew to apply for soc
|
00:53:31
|
<r0bby> im glad i did
|
00:53:36
|
<jmiranda> the misfits were a punk band from the 80's
|
00:53:57
|
<jmiranda> who are, unfortunately, probably still around ... sans their lead singer, danzig
|
00:54:05
|
<r0bby> I've learned to have a deep deep appreciation for the Grails team
|
00:54:11
|
<jmiranda> :_
|
00:54:13
|
<jmiranda> :)
|
00:54:17
|
<jmiranda> alright, well i'm off
|
00:54:23
|
<jmiranda> have a great night/day everyone
|
00:54:26
|
<r0bby> yeh yeh
|
00:54:31
|
<jmiranda> hugs
|
00:54:32
|
<r0bby> I have a bit of work i wanna get done
|
00:54:44
|
<r0bby> get my cleaned up servlet code in working shape
|
01:12:01
|
*** upul has quit IRC
|
01:19:01
|
*** upul has joined #openmrs
|
01:50:51
|
*** yanokwa has joined #openmrs
|
01:50:52
|
*** ChanServ sets mode: +v yanokwa
|
01:51:02
|
<yanokwa> of course r0bby would be here.
|
01:51:06
|
<yanokwa> dont you have a life!?
|
02:05:25
|
<r0bby> yanokwa: I idle
|
02:05:32
|
<r0bby> and no :P
|
02:05:36
|
<r0bby> mmm
|
02:05:56
|
<r0bby> elvis operator++
|
02:05:56
|
<r0bby> ${value ?: "foo"} :D
|
02:07:37
|
*** njero has joined #openmrs
|
02:07:43
|
*** ChanServ sets mode: +v njero
|
02:13:18
|
*** yanokwa has quit IRC
|
02:17:34
|
*** [mharrison] has quit IRC
|
02:17:34
|
*** huntp has quit IRC
|
02:17:34
|
*** Phantal- has quit IRC
|
02:17:49
|
*** Phantal- has joined #openmrs
|
02:18:11
|
*** [mharrison] has joined #openmrs
|
02:18:11
|
*** huntp has joined #openmrs
|
02:18:33
|
*** [mharrison] has quit IRC
|
02:18:52
|
*** [mharrison] has joined #openmrs
|
02:27:00
|
*** yanokwa has joined #openmrs
|
02:27:00
|
*** ChanServ sets mode: +v yanokwa
|
02:27:06
|
*** yanokwa has quit IRC
|
03:17:07
|
*** sioraiocht has quit IRC
|
03:31:20
|
*** jmiranda_ has joined #openmrs
|
03:31:21
|
*** jmiranda has quit IRC
|
06:17:22
|
*** _jmiranda_ has joined #openmrs
|
06:22:13
|
*** upul has quit IRC
|
06:35:18
|
*** jmiranda_ has quit IRC
|
06:50:37
|
*** bwolfe has joined #openmrs
|
06:50:37
|
*** ChanServ sets mode: +o bwolfe
|
06:55:35
|
*** huntp has quit IRC
|
06:57:36
|
*** huntp has joined #openmrs
|
07:01:23
|
*** bmckown has joined #openmrs
|
07:01:23
|
*** ChanServ sets mode: +o bmckown
|
08:06:46
|
* njero does lots with prescriptions and drugs... goes crazy
|
08:43:18
|
*** jbrown has joined #openmrs
|
09:00:08
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #937 (task created): Upgrade RestrictByRole Module to 1.3 <http://dev.openmrs.org/ticket/937>
|
09:12:15
|
*** bwolfe_ has joined #openmrs
|
09:12:15
|
*** ChanServ sets mode: +o bwolfe_
|
09:12:26
|
*** bmckown has quit IRC
|
09:12:27
|
*** bmckown_ has joined #openmrs
|
09:12:38
|
* r0bby just woke up
|
09:13:30
|
<bmckown_> good morning r0bby
|
09:13:54
|
*** bmckown_ is now known as bmckown
|
09:14:05
|
*** ChanServ sets mode: +o bmckown
|
09:14:14
|
<r0bby> wait wait another rob
|
09:14:15
|
*** bwolfe has quit IRC
|
09:14:21
|
<r0bby> im confused
|
09:17:36
|
<r0bby> i wake up to hear intern reports
|
09:17:48
|
<r0bby> and nobody shows
|
09:23:31
|
*** njero has left #openmrs
|
09:24:00
|
*** sgrannis has joined #openmrs
|
09:25:47
|
*** atomicturtle has quit IRC
|
09:30:14
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: Problem with RemoteFormEntry Module Implementation <http://forum.openmrs.org/viewtopic.php?f=9&t=391#p1315> || OpenMRS Forum: Re: Problem with RemoteFormEntry Module Implementation <http://forum.openmrs.org/viewtopic.php?f=9&t=391#p1314> || OpenMRS Forum: Re: Problem with RemoteFormEntry Module Implementation <http://forum.openmrs.org/viewtopic.php?f=9&t=391#p1313> || OpenMRS Forum: Re: Problem with RemoteFormEntry Module Implementation <http://forum.openmrs.org/viewtopic.php?f=9&t=391#p1312>
|
09:33:02
|
*** nribeka has joined #openmrs
|
09:48:08
|
*** _jmiranda_ is now known as jmiranda
|
09:48:17
|
*** ChanServ sets mode: +o jmiranda
|
09:49:42
|
*** upul has joined #openmrs
|
09:51:18
|
*** sgrannis_ has joined #openmrs
|
09:51:39
|
*** sgrannis_ has quit IRC
|
10:00:29
|
*** sgrannis has quit IRC
|
10:02:20
|
*** atomicturtle has joined #openmrs
|
10:08:45
|
*** TorLye_ has joined #openmrs
|
10:09:07
|
<r0bby> i woke up this week \o/
|
10:09:56
|
*** pombreda has quit IRC
|
10:17:37
|
*** upul has quit IRC
|
10:27:03
|
*** TorLye has quit IRC
|
10:32:23
|
<r0bby> feh
|
10:57:20
|
<nribeka> woke up really late :(
|
11:01:15
|
<jmiranda> nribeka, it doesn't help when you go to bed at 2am :)
|
11:02:07
|
<nribeka> jmiranda, true :(
|
11:04:32
|
*** upul has joined #openmrs
|
11:16:19
|
*** pombreda has joined #openmrs
|
11:16:19
|
*** ChanServ sets mode: +v pombreda
|
11:17:34
|
*** upul has quit IRC
|
11:18:42
|
*** sprasanna has joined #openmrs
|
11:20:24
|
<r0bby> jmiranda: wuss
|
11:20:28
|
<r0bby> I went to bed @ 430
|
11:20:34
|
<r0bby> and came onto the call groggy
|
11:20:49
|
*** bmckown has quit IRC
|
11:21:00
|
*** bwolfe_ has quit IRC
|
11:21:00
|
<r0bby> meh
|
11:21:07
|
<r0bby> you wuss! :)
|
11:21:15
|
<jmiranda> r0bby, wow
|
11:21:41
|
<r0bby> that's the way the cookie crumbles
|
11:21:51
|
<r0bby> and the way I kill chickens too
|
11:21:59
|
*** bmckown has joined #openmrs
|
11:21:59
|
*** ChanServ sets mode: +o bmckown
|
11:22:04
|
<r0bby> hey bmckown
|
11:22:08
|
<r0bby> welcome to crazy-ville
|
11:22:11
|
<r0bby> I'm the mayor
|
11:22:13
|
<r0bby> :>
|
11:22:19
|
* r0bby runs around
|
11:23:27
|
*** bwolfe_ has joined #openmrs
|
11:23:27
|
*** ChanServ sets mode: +o bwolfe_
|
11:23:46
|
<r0bby> bwolfe_: o/
|
11:24:25
|
<jmiranda> huntp, any luck?
|
11:25:06
|
* r0bby throws his shoe at huntp
|
11:25:07
|
<r0bby> wake up
|
11:25:18
|
<r0bby> and gimme my shoe back please?
|
11:26:20
|
<r0bby> am I the only student w/ a mentor who's AWOL 90% of the time?
|
11:26:36
|
<r0bby> (w/ openmrs)
|
11:27:29
|
*** pombreda has quit IRC
|
11:32:50
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #938 (defect created): Cannot add new person in person relationship search widget. <http://dev.openmrs.org/ticket/938>
|
12:08:59
|
<r0bby> bwolfe_: ping
|
12:09:07
|
<r0bby> this is a JSP question more than a groovy
|
12:09:20
|
<r0bby> did you see my email I wrote?
|
12:14:38
|
*** jbrown has left #openmrs
|
12:17:58
|
<r0bby> http://eugeneciurana.com/pastebin/pastebin.php?show=30509
|
12:17:59
|
<OpenMRSBot> <http://ln-s.net/2525> (at eugeneciurana.com)
|
12:18:02
|
* r0bby can't contain himself
|
12:28:29
|
*** sprasanna has quit IRC
|
12:29:18
|
*** sprasanna has joined #openmrs
|
12:29:41
|
*** sprasanna has left #openmrs
|
12:47:38
|
<bwolfe_> r0bby: why are you setting $concept to $name ? that probably is doing a $concept.toString(). why not just do <openmrs_tag:conceptAnswerField formFIeldName=\"$name\" concept=$concept /> ?
|
12:48:34
|
<r0bby> bwolfe_: because then toString() gets called.
|
12:48:43
|
<r0bby> this a String
|
12:48:54
|
<r0bby> $concept is parsed out.
|
12:49:03
|
<r0bby> I got it
|
12:49:11
|
<r0bby> this accomplishes what I want :)
|
12:49:39
|
<r0bby> this actually the only place aside from the dateField
|
12:49:53
|
<r0bby> that relies on an instance other than an int or String
|
12:50:05
|
<r0bby> Integer rather (need to be specific)
|
12:50:35
|
<r0bby> bwolfe_: and no $name is passed in as the variable's name
|
12:50:49
|
<r0bby> i store a lot of metadata
|
12:51:15
|
<r0bby> well ~3 or 4 pieces
|
12:52:12
|
<bwolfe_> r0bby: odd. ConceptAnswerFieldTag takes in a concept _object_ in the concept argument...not a string. is that working for you ?
|
12:52:31
|
<r0bby> no
|
12:52:38
|
<r0bby> i'm trying to figure out how to best do it
|
12:53:00
|
<r0bby> this is a problem i've been facing for weeks and it's a showstopper
|
12:53:09
|
<r0bby> I need to return the template
|
12:53:34
|
<r0bby> and Concept is an object :P
|
12:53:40
|
<r0bby> you wanna see where I pass it all in
|
12:53:42
|
<r0bby> hold
|
12:54:46
|
<r0bby> http://papernapkin.org/pastebin/view/1879/
|
12:55:27
|
* r0bby checks
|
12:56:13
|
<bwolfe_> r0bby: why are you passing around c.name? why not just pass around c ?
|
12:56:38
|
<r0bby> because hrm
|
12:56:50
|
<r0bby> this is what burke gets for being awol i have no f'en clue what im doing
|
12:57:03
|
<bwolfe_> burke is not the only one you can ask
|
12:57:11
|
<r0bby> im passing the VARIABLES name
|
12:57:14
|
<r0bby> pay closer attention
|
12:57:16
|
<r0bby> m.name
|
12:57:20
|
<r0bby> m being the field.
|
12:57:22
|
<bwolfe_> there are a lot of people in here...there are a lot of people on the dev list. you just need to parse out your question from the groovyforms stuff and ask just that :-)
|
12:57:53
|
<r0bby> I'm passing the variable's name
|
12:58:10
|
<bwolfe_> ah, I see
|
12:58:26
|
<bwolfe_> so you are passing the concept to the conceptAnswerSelector
|
12:58:29
|
<r0bby> I have a container class i created for this very reasion
|
12:58:30
|
*** bwolfe_ is now known as bwolfe
|
12:58:32
|
<r0bby> yup
|
12:58:39
|
<r0bby> that's the problem i'm hitting
|
12:58:55
|
<r0bby> how do I best do this in a way that it retains the reference after i display ti
|
12:59:01
|
<bwolfe> so <jsp:setPropertyname=\"$name\"property=\"$concept\"/> is not needed in http://eugeneciurana.com/pastebin/pastebin.php?show=30509
|
12:59:02
|
<r0bby> and pass it back
|
12:59:02
|
<OpenMRSBot> <http://ln-s.net/2525> (at eugeneciurana.com)
|
12:59:10
|
<bwolfe> just do <openmrs_tag:conceptAnswerField formFIeldName=\"$name\" concept=$name/>
|
12:59:17
|
<bwolfe> and change $name to $concept
|
12:59:24
|
*** pombreda has joined #openmrs
|
12:59:30
|
*** ChanServ sets mode: +v pombreda
|
12:59:31
|
<bwolfe> and fix the formFIeldName to have the right case
|
13:00:06
|
<r0bby> and as far as the abstract class; it's needed to be able to do groovy magic :)
|
13:00:31
|
<r0bby> thanks for helpin ben :)
|
13:01:17
|
<r0bby> what i was thinking of doing was querying the model to get the value?
|
13:01:34
|
<r0bby> but we still face the same problem
|
13:01:37
|
<r0bby> how do we do that
|
13:01:48
|
<r0bby> hence <jsp:useBean>
|
13:02:52
|
<r0bby> do you have a better solution?
|
13:03:13
|
<r0bby> we're actually VERY close to finishing
|
13:03:32
|
* r0bby grrr
|
13:04:44
|
<bwolfe> where do you need the value ?
|
13:05:17
|
<r0bby> conceptAnswerField
|
13:05:18
|
<bwolfe> oh
|
13:05:19
|
<bwolfe> I see
|
13:05:39
|
<bwolfe> you're not in jsp there, you're in groovy returning a string that will be jsp
|
13:05:47
|
<bwolfe> there is another tag that will help you
|
13:05:52
|
<bwolfe> <openmrs:concept or something
|
13:05:58
|
<r0bby> oh?
|
13:06:32
|
<r0bby> so just get the concept id?
|
13:06:34
|
<bwolfe> use <openmrs:conceptconceptId="${concept.conceptId}"var="myConcept"/> instead of the jsp:useBean thing
|
13:06:59
|
<r0bby> okay we still face the problem...
|
13:07:05
|
<bwolfe> then at line 16 use ${myConcept} to pass to openmrs_tag:cocneptAnswerField
|
13:07:41
|
<r0bby> problem still exists
|
13:07:51
|
<r0bby> but since i use one instance of the generation class
|
13:08:17
|
<r0bby> i *COULD* store it as a field
|
13:08:57
|
<r0bby> OH
|
13:09:02
|
<r0bby> that gets the concept id!!!!
|
13:09:06
|
<r0bby> right?>
|
13:09:30
|
<r0bby> the concept by concept id?
|
13:14:40
|
<r0bby> !bwolfe++
|
13:15:39
|
<bwolfe> r0bby: yes, that gets the concept by conceptId in jsp...and stores it (in jsp) in the myConcept variable
|
13:15:50
|
<bwolfe> r0bby: :-(
|
13:16:03
|
<bwolfe> why does !bwolfe get karma and I don't? ;-)
|
13:16:09
|
<bwolfe> !karma
|
13:16:09
|
<OpenMRSBot> bwolfe: Highest karma: "bwolfe" (18), "burke" (12), and "groovy" (9). Lowest karma: "r0bby" (-6), "scriptlets" (-1), and "--- demo.openmrs.org ping statistics -" (-1). You (bwolfe) are ranked 1 out of 61.
|
13:16:21
|
<bwolfe> !karma !bwolfe
|
13:16:22
|
<OpenMRSBot> bwolfe: !bwolfe has neutral karma.
|
13:16:33
|
<r0bby> bwolfe++
|
13:16:33
|
<r0bby> bwolfe++
|
13:16:34
|
<r0bby> bwolfe++
|
13:16:34
|
<r0bby> bwolfe++
|
13:16:35
|
<r0bby> bwolfe++
|
13:16:35
|
<bwolfe> !karma bwolfe
|
13:16:35
|
<r0bby> bwolfe++
|
13:16:35
|
<OpenMRSBot> bwolfe: Karma for "bwolfe" has been increased 35 times and decreased 12 times for a total karma of 23.
|
13:16:36
|
<r0bby> bwolfe++
|
13:16:37
|
<r0bby> bwolfe++
|
13:16:38
|
<r0bby> bwolfe++
|
13:16:41
|
<r0bby> bwolfe++
|
13:16:43
|
<r0bby> bwolfe++
|
13:16:46
|
<bwolfe> calm yourself...I'm karma diabetic :-p
|
13:16:46
|
<r0bby> bwolfe++
|
13:16:48
|
<r0bby> done.
|
13:16:55
|
<bwolfe> heh, thanks
|
13:19:18
|
<r0bby> bwolfe: I'll let groovy parse it out and store it as an int
|
13:19:20
|
<r0bby> :X
|
13:19:38
|
<bwolfe> parse what where?
|
13:21:52
|
<r0bby> http://papernapkin.org/pastebin/view/1902/
|
13:22:31
|
<r0bby> groovy++
|
13:22:32
|
<r0bby> groovy++
|
13:22:32
|
<r0bby> groovy++
|
13:22:32
|
<r0bby> groovy++
|
13:22:33
|
<r0bby> groovy++
|
13:22:35
|
<r0bby> groovy++
|
13:22:38
|
<r0bby> groovy++
|
13:22:40
|
<r0bby> groovy++
|
13:22:43
|
<r0bby> groovy++
|
13:22:45
|
<r0bby> groovy++
|
13:22:48
|
<r0bby> groovy++
|
13:22:50
|
<r0bby> groovy++
|
13:22:53
|
<r0bby> groovy++
|
13:22:55
|
<r0bby> groovy++
|
13:23:05
|
<r0bby> groovy++
|
13:23:12
|
<r0bby> groovy++
|
13:23:19
|
<r0bby> groovy++
|
13:23:20
|
<r0bby> !karma groovy
|
13:23:20
|
<r0bby> !karma
|
13:23:20
|
<OpenMRSBot> r0bby: Karma for "groovy" has been increased 29 times and decreased 3 times for a total karma of 26.
|
13:23:21
|
<OpenMRSBot> r0bby: Highest karma: "bwolfe" (30), "groovy" (26), and "burke" (12). Lowest karma: "r0bby" (-6), "scriptlets" (-1), and "--- demo.openmrs.org ping statistics -" (-1). You (r0bby) are ranked 61 out of 61.
|
13:23:22
|
<r0bby> bwolfe: I parse it as a GString (which is what the $name is called.
|
13:23:39
|
<r0bby> hold on one moment
|
13:23:45
|
<r0bby> groovy++
|
13:23:47
|
<r0bby> groovy++
|
13:23:48
|
<r0bby> groovy++
|
13:23:49
|
<r0bby> groovy++
|
13:23:50
|
<r0bby> groovy++
|
13:23:53
|
<r0bby> !karma groovy
|
13:23:53
|
<OpenMRSBot> r0bby: Karma for "groovy" has been increased 34 times and decreased 3 times for a total karma of 31.
|
13:23:58
|
<r0bby> !karma
|
13:23:58
|
<OpenMRSBot> r0bby: Highest karma: "groovy" (31), "bwolfe" (30), and "burke" (12). Lowest karma: "r0bby" (-6), "scriptlets" (-1), and "--- demo.openmrs.org ping statistics -" (-1). You (r0bby) are ranked 61 out of 61.
|
13:24:00
|
<bwolfe> whats the silence command ?
|
13:24:08
|
<r0bby> now it's good
|
13:24:10
|
<r0bby> im done :)
|
13:24:11
|
<bwolfe> or maybe just kick
|
13:24:12
|
<r0bby> sorry
|
13:24:15
|
<bwolfe> either would do here
|
13:24:17
|
<bwolfe> :-p
|
13:24:24
|
<r0bby> all is right in the world
|
13:24:26
|
<bwolfe> !silence r0bby
|
13:24:26
|
<OpenMRSBot> bwolfe: Error: "silence" is not a valid command.
|
13:24:29
|
<bwolfe> bummer
|
13:25:32
|
<bwolfe> r0bby: yeah, that jsp looks right
|
13:25:43
|
<bwolfe> r0bby: you may or may not need quotes around $myConcept
|
13:25:49
|
<bwolfe> ${myConcept}
|
13:26:03
|
<r0bby> i added that
|
13:26:27
|
<r0bby> burke and I need to figure out just how it's gonna work generation-wise
|
13:26:48
|
<r0bby> generate once or do it dynamically
|
13:26:58
|
<r0bby> for the first pass, i'll do it once
|
13:27:09
|
<r0bby> I hate being this far behind
|
13:27:59
|
<r0bby> I lovew how IDEA is seeing the copyright header as an unused import
|
13:28:12
|
<r0bby> IDEA has the best groovy support right now
|
13:28:19
|
<r0bby> the rest are too young
|
13:28:38
|
<r0bby> ben, sorry for not pinging you earlier on this :/
|
13:28:46
|
* r0bby has MAJOR adhd
|
13:28:59
|
<bwolfe> r0bby: now you know. :-)
|
13:29:37
|
<r0bby> is there something similar for date
|
13:29:50
|
<r0bby> groovy will do .toString
|
13:29:53
|
<r0bby> ()
|
13:30:32
|
<r0bby> wait fieldgen
|
13:32:13
|
<r0bby> meh wait, this is slightly different
|
13:32:48
|
* r0bby thinks he'll use the jquery date picker
|
13:32:52
|
<bwolfe> there isn't an openmrs taglib for date
|
13:32:56
|
<r0bby> and ditch the jsp
|
13:33:03
|
<r0bby> dateField
|
13:33:14
|
<bwolfe> there is a date picker that will take a mm/dd/yyyy string
|
13:33:44
|
* r0bby goes to sighs
|
13:33:47
|
<r0bby> er
|
13:34:57
|
<r0bby> OMG Estelle getty died :<<<<
|
13:35:24
|
<bwolfe> should we know who that is ?
|
13:37:03
|
<r0bby> Golden Girls
|
13:37:10
|
* r0bby ducks
|
13:38:21
|
<r0bby> hrm I may use a DWR util method
|
13:38:35
|
<r0bby> meh i can't
|
13:39:07
|
<r0bby> can't unless I store it statically..bad idea
|
13:39:41
|
<r0bby> somebody needs to upgrade DWR
|
13:39:41
|
<bwolfe> isn't dwrutil all in javascript ?
|
13:39:52
|
<r0bby> bwolfe: I need to remote.
|
13:40:04
|
<r0bby> hence why i'm using DWR
|
13:40:50
|
<r0bby> I want to go from JS to a Java Date object
|
13:41:11
|
*** TorLye_ has quit IRC
|
13:41:28
|
<r0bby> although, technically, i can
|
13:48:26
|
<r0bby> oh god
|
13:48:36
|
<r0bby> you shoulda seen me at my cousin's wedding :X
|
13:48:41
|
<r0bby> I saw the video -- it's bad
|
13:48:47
|
<r0bby> I'm never gonna live that thing down
|
13:48:51
|
<r0bby> NEVER
|
13:49:06
|
<r0bby> I had my cousin's friends one on each side of me :)
|
13:53:03
|
<bwolfe> r0bby: what was bad? too much alcohol? too much dancing? too much of both ?
|
13:54:36
|
<r0bby> not so much of too much
|
13:54:37
|
<r0bby> but how
|
13:55:02
|
* r0bby is in the WHOLE video
|
13:55:40
|
* r0bby hates the learning part of soc :(
|
13:56:28
|
<r0bby> jesus you guys made it possible to change the ENTIRE system via a module
|
13:57:46
|
<bwolfe> r0bby: that was the idea
|
13:57:59
|
<r0bby> it's amazing
|
13:58:14
|
<r0bby> I'm thinking of doing that for the management screen
|
13:58:39
|
<r0bby> adding an extension point or maybe a portlet to throw the data there to edit it
|
13:58:49
|
<r0bby> basically throw the createForm there
|
13:58:54
|
<r0bby> not sure :/
|
13:59:58
|
<r0bby> addressLayout is funny
|
14:00:03
|
<r0bby> it's a tour de france
|
14:00:38
|
* r0bby sighs
|
14:00:41
|
* r0bby goes to get coffee
|
14:00:47
|
<r0bby> i'm tired
|
14:01:02
|
*** bmckown_ has joined #openmrs
|
14:01:15
|
*** bmckown has quit IRC
|
14:13:05
|
<r0bby> bwolfe: if you ever decide to look at groovy; groovyConsole is the seriously invaluable for rapidly prototyping code
|
14:13:24
|
<bwolfe> good to know
|
14:13:24
|
<r0bby> it's a small swing app
|
14:13:36
|
<r0bby> def d = new Date() //today
|
14:13:42
|
<r0bby> def tomorrow = d + 1; date yesterday = d - 1
|
14:13:57
|
<r0bby> s/data/def/
|
14:14:11
|
<r0bby> def tomorrow = d + 1; def yesterday = d - 1
|
14:14:19
|
<r0bby> one of the things that's amazing about groovy :)
|
14:14:55
|
<r0bby> I have a book decided to JUST neat tricks, as well as telling you about some gotchas that may nip you
|
14:19:17
|
<r0bby> bwolfe who made this presentation?
|
14:19:37
|
<bwolfe> r0bby: which one ?
|
14:19:58
|
<r0bby> http://blip.tv/file/1109873
|
14:21:11
|
<bwolfe> me
|
14:21:31
|
<bwolfe> why ?
|
14:22:08
|
<bwolfe> anything I should add to it ?
|
14:22:20
|
<r0bby> nah
|
14:22:23
|
<r0bby> most of it i know
|
14:22:49
|
<r0bby> I better
|
14:23:15
|
<nribeka> no sgrannis around ...
|
14:27:25
|
<bwolfe> r0bby: I want to do a video walkthrough of the datamodel, a basic add-a-page-to-openmrs-via-a-module one, and a then an advanced one off of that
|
14:27:32
|
<bwolfe> r0bby: can you think of any others that would be good ?
|
14:27:45
|
<bwolfe> nribeka: he's around today...just not on irc
|
14:27:57
|
<bwolfe> nribeka: and I think james is on vacation
|
14:28:46
|
<nribeka> yeps bwolfe
|
14:29:03
|
<nribeka> sgrannis put a file in iupui slashtemp
|
14:29:10
|
<nribeka> but i can't access it ... :(
|
14:29:36
|
<r0bby> bwolfe: how to add portlets
|
14:29:41
|
<r0bby> explain what a portlet is etc
|
14:29:54
|
<r0bby> how to create an extension point from a module etc
|
14:29:57
|
<r0bby> but that's simple
|
14:30:03
|
<r0bby> I learned mostly by reading
|
14:30:11
|
* r0bby is obsessive compulsive
|
14:30:57
|
<bwolfe> r0bby: "how to add a portlet"...hmm, I'll have to relearn that one then make a video. :-p
|
14:32:00
|
* r0bby sighs
|
14:32:48
|
<r0bby> I think I'm gonna grab the Date, then use Calendar
|
14:33:07
|
* r0bby makes a dateutil class
|
14:33:09
|
<r0bby> :x
|
14:33:15
|
<r0bby> java is stupid
|
14:33:31
|
<r0bby> in the sense that 0 = January, 1 = Feb, etc etc
|
14:33:36
|
<bwolfe> Context.getLocale()
|
14:33:43
|
<bwolfe> and Context.getDateFormat() is what you want
|
14:33:56
|
<bwolfe> Context.getDateFormat().format(myDateObject);
|
14:33:59
|
<bwolfe> ish
|
14:34:02
|
<bwolfe> I can't remember exactly
|
14:35:06
|
<r0bby> locale is wrong
|
14:35:37
|
<r0bby> im I love openmrs
|
14:36:04
|
<r0bby> I think i'm gonna turn down that job i interviewed for :/
|
14:36:09
|
<r0bby> I haven't a shot in hell anyways
|
14:36:16
|
<huntp> jmiranda - I've cracked it!
|
14:36:22
|
<r0bby> huntp: you suck
|
14:36:30
|
* r0bby must kill huntp's self confidence
|
14:36:39
|
<r0bby> I feel like shit, and misery loves company
|
14:36:54
|
<r0bby> huntp: welcome to the community, you will be initiated!
|
14:37:26
|
<r0bby> go through a hazing ritual, first, get me a squirrell, a rabbit, a chipmunk, and fish.
|
14:37:39
|
* huntp thinks r0bby is the cheeky one! :)
|
14:37:53
|
<r0bby> if by cheeky, you mean crazy, yes
|
14:40:26
|
<r0bby> Calendar c = new GregorianCalendar(); -> Calendar c = Calendar.getInstance();
|
14:40:41
|
<r0bby> PersonFormControler line 220
|
14:41:19
|
<jmiranda> huntp, so it works?
|
14:41:55
|
<r0bby> raise your hand if you think i'm crazy
|
14:42:56
|
<bwolfe> r0bby: Context.getDateFormat didn't work for you ?
|
14:43:11
|
<bwolfe> r0bby: how can you turn it down if you don't know if they have accepted you or not ?!
|
14:44:24
|
<r0bby> no it will
|
14:44:26
|
<r0bby> haven't tried it
|
14:44:37
|
<r0bby> yet
|
14:44:43
|
<r0bby> I've been looking at useages
|
14:44:59
|
<r0bby> to understand it
|
14:45:50
|
<r0bby> sweeeeeeeeeeet
|
14:46:05
|
<r0bby> I can add jars to the classpath of the groovyConsole while its running
|
14:46:22
|
* r0bby can script for it !!!!!
|
14:46:31
|
<r0bby> SWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET
|
14:46:36
|
<r0bby> What's Mine say?!!!
|
14:47:00
|
<r0bby> name the movie :)
|
14:48:10
|
<bwolfe> Dumb and Dumberer
|
14:48:24
|
<bwolfe> I don't remember the other shirt though
|
14:48:29
|
<r0bby> Dude where's my car
|
14:48:37
|
<bwolfe> eh, same thing :-p
|
14:48:42
|
<r0bby> no...
|
14:48:46
|
<r0bby> totally diff movie :P
|
14:48:49
|
<huntp> jmiranda - yep, it seems to be working .... i'll paste you a snippet, and you can see if it makes sense?
|
14:48:53
|
<r0bby> but it wqas bad
|
14:49:04
|
<r0bby> I think openmrs has the most insane devs
|
14:49:08
|
<jmiranda> awesome
|
14:53:14
|
<huntp> I have global application-wide variable, which gets created once per application ... application.openmrs.obj.context = createobject("java", "org.openmrs.api.context.Context");
|
14:53:14
|
<huntp> I then run -> application.openmrs.obj.context.startup() ... to start the OpenMRS API .... again, only once per app.
|
14:53:14
|
<huntp> I check for a ColdFusion session variable -> session.MyUserContext ... if this doesnt exist, i create one by:
|
14:53:15
|
<huntp> application.openmrs.obj.context.authenticate(url.username,url.passwd);
|
14:53:15
|
<huntp> session.MyUserContext = application.openmrs.obj.context.getUserContext();
|
14:53:17
|
<huntp> then, in every call to the OpenMRS API -> I set the UserContext ... application.openmrs.obj.context.setUserContext(session.MyUserContext);
|
14:53:20
|
<huntp> and, at the end of every call -> I clear the UserContext ... application.openmrs.obj.context.clearUserContext();
|
14:54:34
|
<huntp> also ... in addition to all of that - I prefix all calls to the API with:
|
14:54:35
|
<huntp> openmrs.context.openSession();
|
14:54:35
|
<huntp> openmrs.context.clearSession();
|
14:55:19
|
<huntp> and ... at the end of each call to the API i do this:
|
14:55:19
|
<huntp> openmrs.context.clearSession();
|
14:55:19
|
<huntp> openmrs.context.closeSession();
|
14:55:38
|
<huntp> apologies for the HUGE coredump ... :)
|
14:55:51
|
<jmiranda> all good
|
14:56:15
|
<jmiranda> huntp, so you're actually able to access the app as a different (non-admin) user?
|
14:56:19
|
<r0bby> huntp: amazing job :)
|
14:56:48
|
<r0bby> I wonder if I could retrofit the groovyforms module to be used outside of the webapp itself :X
|
14:56:52
|
<huntp> jmiranda, yes - correct ... in multiple concurrent user sessions
|
14:57:02
|
<r0bby> probably not
|
14:57:03
|
<huntp> on different pc's / browsers
|
14:57:08
|
<r0bby> actually yes I could
|
14:57:23
|
<r0bby> interrogate the model for each field, then create some extra methods and do whatever :)
|
14:57:34
|
<jmiranda> huntp, awesome
|
14:57:36
|
<r0bby> bwolfe: ^
|
14:57:40
|
<r0bby> :)
|
14:58:06
|
<huntp> so - you don't see any obvious problems with all of that ... does it seem sensible?
|
14:58:40
|
<jmiranda> yeah
|
14:58:52
|
<jmiranda> i wouldn't call it sensible ... but it's the way we're doing it
|
14:58:54
|
<jmiranda> :)
|
14:59:34
|
<jmiranda> i would rather see an external app talking over an exposed web server interface
|
14:59:41
|
<jmiranda> but we don't have that
|
14:59:52
|
<jmiranda> and your solution is intrinsically more secure
|
15:00:22
|
<r0bby> jmiranda: you know you can write a Web Service easy in groovy =)
|
15:00:23
|
<jmiranda> since it's essentially going talking to openmrs over a local interface
|
15:00:25
|
* r0bby flexes
|
15:00:49
|
<jmiranda> r0bby, i can't wait to see that module and all of it's wonderful features
|
15:00:58
|
<r0bby> http://blogs.sun.com/geertjan/entry/groovy_makes_web_services_embarrassingly
|
15:01:00
|
<OpenMRSBot> <http://ln-s.net/254M> (at blogs.sun.com)
|
15:01:27
|
<r0bby> right now it's all a pipe dream
|
15:02:28
|
<r0bby> :) http://groovy.codehaus.org/GroovyWS
|
15:02:40
|
* r0bby giggles
|
15:03:36
|
<r0bby> jmiranda: you're into web services and such -- you'd appreciate it :)
|
15:03:42
|
<r0bby> or at least kevin would
|
15:05:09
|
*** jmiranda_ has joined #openmrs
|
15:06:05
|
*** jmiranda has quit IRC
|
15:25:36
|
*** TorLye has joined #openmrs
|
15:52:35
|
*** TorLye has quit IRC
|
16:07:16
|
*** pearlbear has joined #openmrs
|
16:07:16
|
*** ChanServ sets mode: +v pearlbear
|
16:13:02
|
*** huntp_ has joined #openmrs
|
16:15:23
|
*** huntp has quit IRC
|
16:24:25
|
*** jmiranda_ has quit IRC
|
16:26:42
|
<r0bby> okay we have a JSP now :)
|
16:26:55
|
<r0bby> all the generation stuff is complete
|
16:27:02
|
<r0bby> now 1) validation 2) rendering
|
16:27:07
|
<r0bby> and then we're good
|
16:27:27
|
<r0bby> Like i said on the conf call though, testing the generation code is next to impossible
|
16:36:02
|
*** atomicturtle has left #openmrs
|
16:39:24
|
*** nribeka is now known as nribeka-away
|
16:56:58
|
*** bwolfe has quit IRC
|
17:31:50
|
*** bwolfe has joined #openmrs
|
17:31:50
|
*** ChanServ sets mode: +o bwolfe
|
17:43:31
|
*** njero has joined #openmrs
|
17:43:31
|
*** ChanServ sets mode: +v njero
|
18:06:20
|
<r0bby> bwolfe: have you ever used httpunit?
|
18:06:31
|
*** bmckown_ has quit IRC
|
18:07:05
|
<r0bby> im gonna go shower and take a break
|
18:07:10
|
<r0bby> before I break this computer
|
18:09:00
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #938 (defect closed): Cannot add new person in person relationship search widget. <http://dev.openmrs.org/ticket/938#comment:1>
|
18:21:21
|
<bwolfe> r0bby: no, but it would be nice to try it out for the web tests
|
18:21:39
|
*** bwolfe has quit IRC
|
18:24:24
|
*** bwolfe has joined #openmrs
|
18:24:24
|
*** ChanServ sets mode: +o bwolfe
|
18:31:58
|
*** njero has quit IRC
|
18:42:01
|
<r0bby> I hate it.
|
18:42:14
|
<r0bby> im gonna move my server side handling to a controller
|
18:44:42
|
<bwolfe> r0bby: you hate httpunit ?
|
19:27:05
|
*** pombreda has quit IRC
|
20:06:25
|
*** sioraiocht has joined #openmrs
|
20:26:58
|
*** pearlbear has quit IRC
|
20:59:13
|
<r0bby> bwolfe: it was a headache for me.
|
21:10:41
|
<r0bby> kickass
|
21:20:19
|
*** sioraiocht has quit IRC
|
21:20:31
|
*** sioraiocht has joined #openmrs
|
21:25:42
|
*** upul has joined #openmrs
|
21:34:38
|
*** sgrannis has joined #openmrs
|
21:34:54
|
*** ChanServ sets mode: +v sgrannis
|
21:54:38
|
*** bwolfe has quit IRC
|
23:10:14
|
*** huntp_ has quit IRC
|
23:19:39
|
*** sgrannis has quit IRC
|
23:39:08
|
*** huntp has joined #openmrs
|
23:51:39
|
*** njero has joined #openmrs
|
23:51:39
|
*** ChanServ sets mode: +v njero
|