IRC Chat : 2012-04-17 - OpenMRS

00:05:51 *** jblaya has quit IRC
00:32:01 *** mathiaslin has quit IRC
01:02:04 *** rafa has joined #openmrs
01:02:04 *** ChanServ sets mode: +v rafa
01:09:48 *** rafa has quit IRC
01:22:23 *** harshadura has quit IRC
01:26:08 *** rohitgoyal18 has joined #openmrs
01:47:53 *** didymo has joined #openmrs
01:49:45 *** lh has joined #openmrs
02:28:26 *** rohitgoyal18 has quit IRC
02:33:04 *** lh has quit IRC
02:46:01 *** upul` has joined #openmrs
02:46:01 *** ChanServ sets mode: +v upul`
04:37:19 *** bryq has joined #openmrs
04:37:19 *** ChanServ sets mode: +v bryq
04:39:22 *** isharapremadasa has joined #openmrs
04:45:57 *** bryq has quit IRC
05:40:31 *** bryq has joined #openmrs
05:40:31 *** ChanServ sets mode: +v bryq
05:42:11 *** bryq has left #openmrs
06:27:39 *** bryq has joined #openmrs
06:27:39 *** ChanServ sets mode: +v bryq
06:28:07 *** bryq has quit IRC
06:30:03 *** snoppy has joined #openmrs
06:32:56 *** isharapremadasa has quit IRC
06:51:01 *** snoppy has quit IRC
07:25:26 *** upul` has quit IRC
07:59:51 <finbrein> Hi All!
08:13:58 <finbrein> RESTWS-216, Should the POST content contain the Client Side = (POST REQUEST URI/URL, POST REQUEST HEADER) and the Server Side = (POST RESPONSE URI/URL, POST RESPONSE HEADER & POST DATA) ?
08:30:14 <finbrein> Would like to have a format. We can have the format like above in that order or a slimmer format. Of course, the command used for manually generating will be added. Please advise
08:49:59 <robbyoconnor> finbrein: come back in ~4hrs?
08:50:11 <robbyoconnor> I wish I could answer
08:50:26 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Modules: Metadata Sharing 1.0.6 uploaded to OpenMRS Module Repository <https://dev.openmrs.org/modules/view.jsp?module=metadatasharing&ampversion=&amp1.0.6>
08:50:27 <finbrein> ok, robbyoconnor.thanks.
08:50:32 <robbyoconnor> OHH hey Michael!
08:50:42 * robbyoconnor is Robert O'Connor
08:51:22 <finbrein> Got it!
08:52:24 <robbyoconnor> been so out of the loop coding wise :(
08:52:41 <robbyoconnor> anyways sleep time
08:53:00 <robbyoconnor> finbrein: have you slept?
08:53:04 <robbyoconnor> where about are you?
08:54:33 <robbyoconnor> oh Finland nvm!
08:54:43 <robbyoconnor> :)
08:54:44 <finbrein> robbyoconnor: Yes. I woke up a few hours ago. I live in in Finland and the timezone is UTC/GMT = + 3 hours
08:55:13 <robbyoconnor> I like your dedication
08:55:16 *** r0bby has joined #openmrs
08:55:16 *** ChanServ sets mode: +v r0bby
08:56:24 <finbrein> I feel like working 24/7 if I could - this project is interesting. And I want to be on top of the technology and information before long. I want to become an expert.
08:57:18 <finbrein> By the way, there is possibility, I'll be moving to London, Ontario, Canada in the summer or early autumn.
08:58:30 <finbrein> To work on devices/cloud/services/distributed systems at Western University
08:58:59 <finbrein> There is so much enthusiasm for different aspects...
09:09:42 *** kishoreyekkanti has joined #openmrs
09:10:32 <finbrein> robbyoconnor: currently we are using curl at the command line to transfer data back and forth - which is manual. To automate, we can include some codes using HttpURLConnection object from the Apache Commons HttpClient library in our webservices.rest module
09:11:34 <finbrein> The Apache Commons HttpClient library has more features and richer than the JDK HTTP Client support.
09:21:28 <finbrein> robbyoconnor: What do you think about the documentation for REST APIs over here, https://dev.twitter.com/docs/api/1/post/statuses/update?
09:21:31 *** nadee has joined #openmrs
09:21:32 <OpenMRSBot> <http://ln-s.net/$1np> (at dev.twitter.com)
09:41:36 *** nadee has quit IRC
09:43:06 *** kishoreyekkanti has quit IRC
09:43:57 *** kishoreyekkanti has joined #openmrs
09:52:27 *** sunbiz has joined #openmrs
09:52:27 *** ChanServ sets mode: +v sunbiz
10:09:25 <finbrein> sunbiz: Could you advise the steps to take to generate the content for this page, https://wiki.openmrs.org/display/docs/REST+Web+Service+Resources? Thanks in advance.
10:10:47 <sunbiz> finbrein: this is probably through a unit test
10:11:03 <sunbiz> lemme find the name of the unit test that does this
10:12:21 <sunbiz> ResourceDocCreatorTest
10:13:07 <finbrein> oh i see, sunbiz
10:18:21 *** sunbiz has left #openmrs
10:28:01 <finbrein> To automatically generate doc for the POST content as specified in the ticket RESTWS-216, I am taking a couple of guesses now and then try to dig real deep later on the best option. 1. One is to create a curl bash script and generate. 2. Another is to use the HttpURLConnection object in a class that will do the same functions in a bash script or running via command lines to send and ask webpages for values while transferring data.
10:28:01 <finbrein> This will be tied to the ResourceDocCreator class. 3. Can this HttpURLConnection object be included in the ResourceDocCreatorTest class? 4. Is it possible there is no need to ask webpages and the POSTing contents can be generated based on the webservices.rest module source files only .Please advise when you have a free time. Thanks.
11:02:19 *** bryq has joined #openmrs
11:02:19 *** ChanServ sets mode: +v bryq
11:24:04 *** james_regen has joined #openmrs
11:24:04 *** ChanServ sets mode: +v james_regen
11:27:59 *** kishoreyekkanti has quit IRC
11:29:08 *** kishoreyekkanti has joined #openmrs
11:34:22 *** rafa has joined #openmrs
11:34:22 *** ChanServ sets mode: +v rafa
11:52:16 *** rubailly has joined #openmrs
12:00:52 *** dkayiwa has joined #openmrs
12:17:46 *** pulasthi7 has joined #openmrs
12:18:27 <bwolfe> rafa, did you tag your release this time?
12:18:38 <rafa> bwolfe: yes
12:18:47 <bwolfe> good work
12:18:54 <rafa> bwolfe: and added release notes :)
12:20:54 <finbrein> rafa hi
12:21:02 <rafa> finbrein: hi
12:21:54 <finbrein> rafa: i posted messages earlier, can you read them please. The last one. Thanks
12:22:52 <rafa> finbrein: ok
12:25:44 <rafa> finbrein: RESTWS-216 is about creating a wiki page
12:26:00 <rafa> finbrein: if possible it would be great to create it automatically
12:26:34 <finbrein> rafa: i know, my last messages are about creating it automatically
12:27:58 *** sunbiz has joined #openmrs
12:28:03 <rafa> finbrein: creating it automatically means producing a text file that you can manually take and copy to our wiki
12:28:05 *** ChanServ sets mode: +v sunbiz
12:29:35 <finbrein> rafal: for the manual method, i posted a message earlier, Should the POST content contain the Client Side = (POST REQUEST URI/URL, POST REQUEST HEADER) and the Server Side = (POST RESPONSE URI/URL, POST RESPONSE HEADER & POST DATA) ? Would like to have a format. We can have the format like above in that order or a slimmer format. Of course, the command used for manually generating will be added. Please advise
12:30:54 <finbrein> We've got something here as a reference - https://wiki.openmrs.org/display/docs/REST+Web+Services+Technical+Documentation
12:30:55 <OpenMRSBot> <http://ln-s.net/9GE2> (at wiki.openmrs.org)
12:31:40 <rafa> finbrein: whatever readable is fine
12:32:29 <rafa> finbrein: you just need to give an example how to post to rest
12:33:04 <rafa> finbrein: acutally examples for person/concept/obs/patient
12:33:04 <finbrein> And i have checked other sites like https://dev.twitter.com/docs/api/1/post/statuses/update , https://wiki.appcelerator.org/display/guides/HTTPClient+and+the+Request+Lifecycle and http://www.dokuwiki.org/devel:xmlrpc
12:33:08 <OpenMRSBot> <http://ln-s.net/$1r5> (at dev.twitter.com)
12:34:02 <finbrein> rafa: that makes it easier. At least a good place to start. We can always improve the documentation as time goes on
12:34:57 <rafa> finbrein: you just need to take curl examples from https://wiki.openmrs.org/display/docs/REST+Web+Services+Technical+Documentation, update them if necessary and add more
12:35:24 <finbrein> thanks rafa
12:48:28 *** snoppy has joined #openmrs
12:51:31 *** djazayeri1 has joined #openmrs
12:51:38 *** djazayeri has quit IRC
13:04:25 *** kishoreyekkanti has quit IRC
13:13:20 *** MarkG has joined #openmrs
13:16:48 *** dkayiwa has quit IRC
13:18:12 *** dkayiwa has joined #openmrs
13:23:08 *** sgithens_ has joined #openmrs
13:24:16 *** snoppy has quit IRC
13:30:40 <dkayiwa> hi bwolfe
13:31:11 <dkayiwa> bwolfe: do you think i should fix non essential bugs but that have higher votes?
13:31:43 <dkayiwa> hi djazayeri1
13:31:57 <bwolfe> hi dkayiwa
13:32:22 <bwolfe> dkayiwa, that is ok.
13:32:30 <dkayiwa> bwolfe: ok
13:32:37 <bwolfe> dkayiwa, try not to do the "intro" + "low complexity" ones though
13:32:40 <bwolfe> those are for new devs
13:32:48 <dkayiwa> bwolfe: ok
13:49:44 *** nribeka has joined #openmrs
13:49:44 *** ChanServ sets mode: +v nribeka
13:54:36 *** jriley has joined #openmrs
13:59:23 *** djazayeri1 is now known as djazayeri
13:59:24 *** ChanServ sets mode: +o djazayeri
14:01:41 <bwolfe> scrum time
14:02:12 <finbrein> who goes first?
14:02:20 <bwolfe> dawn has some seminar/training thing the next few days, so I'll lead it
14:02:24 <bwolfe> !scrumon bwolfe
14:02:24 * OpenMRSBot says the DAILY SCRUM MEETING is STARTING. This meeting should not last longer than 15 minutes. Please hold other comments until the end of the meeting, or message someone privately. Thank you! ScrumMaster bwolfe- you may begin when ready.
14:02:52 <bwolfe> we'll order by project again
14:03:41 <bwolfe> so: 1) rest web services: rafa, finbrein, djazayeri, roger?, sunbiz 2) atomfeed bwolfe 3) bugfixing dkayiwa
14:03:43 <bwolfe> I miss anyone?
14:03:48 <wyclif> wyclif
14:03:55 <rafa> hi
14:04:14 <rafa> Today:
14:04:14 <rafa> * Further tested and released MDS 1.0.6
14:04:14 <rafa> * Worked on RESTWS-180: Modify WSDoc annotation to support links
14:04:14 <rafa> https://tickets.openmrs.org/browse/RESTWS-180, finishing soon
14:04:14 <rafa> * Will pick up a new ticket
14:04:15 <rafa> No blockers.
14:04:18 <bwolfe> sk, go after sunbiz
14:04:28 <djazayeri> also (but not here) skathol, mvorobey, suranga
14:04:47 <djazayeri> finbrein: your turn
14:04:48 <finbrein> Hi
14:04:51 <finbrein> Working on RESTWS-216 ticket
14:04:59 <finbrein> Added a new page for POST content - https://wiki.openmrs.org/display/docs/POST+Requests
14:05:05 <finbrein> Adding more content soon
14:05:11 <finbrein> Investigate Java Wiki Style Doc Generator
14:05:18 <finbrein> Make a curl bash script or Integrate HttpClient/HttpURLConnection into a test class in the Webservices.rest module
14:05:43 <djazayeri> finbrein: why are you doing that?
14:05:44 <finbrein> That's all fro here
14:05:51 <djazayeri> to try to automate building the docs?
14:06:05 <finbrein> ok
14:06:37 <djazayeri> finbrein: let's discuss after people's updates, but I think you should just plug into the existing DocCreator classes
14:06:48 <djazayeri> my report:
14:06:57 <djazayeri> Monday 16-Apr-2012
14:06:58 <djazayeri> * Reviewed, bug fixed, and approved RESTWS-173 (Cannot list all Users)
14:06:58 <djazayeri> * Reviewed and approved RESTWS-190 (Include a way to get set members and answers for concept)
14:06:58 <djazayeri> * Reviewed RESTWS-184 (Allow HL7 messages to be submitted as-is via web service)
14:06:58 <djazayeri> * Reviewed and committed RESTWS-202 (Implement support for forms), but rework needed by Jeremy
14:06:58 <djazayeri> * Reviewed, tweaked, and committed RESTWS-207 (Search and Get All queries should allow you to specify the desired representation)
14:06:58 <djazayeri> * Reviewed, tweaked, and committed RESTWS-209 (Named Representations Don't Work)
14:06:59 <djazayeri> * Reviewed, fixed, and committed RESTWS-217 (Remove description property form ConceptDescription's REF representation)
14:06:59 <djazayeri> * Reviewed RESTWS-220 (ObsResource.getValue needs to return a value of the proper type, given the obs's concept (quick-fix))
14:07:00 <djazayeri> * Closed RESTWS-213 as duplicate (Obs coded value is not represented properly)
14:07:00 <djazayeri> * Created RESTWS-222 (ObsResource.getValue needs to return a value of the proper type, given the obs's concept (long-term solution))
14:07:04 <djazayeri> Today
14:07:12 <djazayeri> * sprint reviews and tickets
14:07:15 <djazayeri> no blockers
14:07:46 <djazayeri> sunbiz: your turn
14:08:52 <djazayeri> sk: can you go while we wait for sunbiz?
14:09:16 <bwolfe> sk, might be missing as well
14:09:48 <djazayeri> okay, bwolfe, you're up
14:09:53 <bwolfe> Tuesday:
14:09:54 <bwolfe> triaged a bunch of tickets
14:09:54 <bwolfe> wiki'd the atomfeed and eventbus modules
14:09:54 <bwolfe> atomfeed module
14:09:54 <bwolfe> Monday:
14:09:55 <bwolfe> final look into REPORT-352
14:09:57 <bwolfe> reviewed 2 tickets
14:09:59 <bwolfe> triaged tickets
14:10:01 <bwolfe> emails/ticket comments
14:10:03 <bwolfe> review merck applicants
14:10:05 <bwolfe> worked on eventbus module
14:10:07 <bwolfe> worked on atomfeed module
14:10:09 <bwolfe> no blockers.
14:10:15 <bwolfe> spiking going faster than expected.
14:10:23 <djazayeri> bwolfe: time runs backwards on your updates?
14:10:34 <djazayeri> !ticket report-352
14:10:37 <OpenMRSBot> djazayeri: [#REPORT-352] Provide ability to stop reports during the course of an execution - OpenMRS JIRA - https://tickets.openmrs.org/browse/report-352
14:10:54 <bwolfe> will send out emails about design choices as soon as code@ approves my module ids. :-)
14:11:03 <djazayeri> dkayiwa: your turn
14:11:10 <bwolfe> thats how I write them out in my file, so thats how they get copy/pasted djazayeri :-)
14:11:41 <djazayeri> bwolfe: prep for the meeting 30 seconds earlier and paste them like everyone else...
14:12:24 <bwolfe> does the order really matter?
14:12:33 <bwolfe> I actually prefer just to see what is today anyway...
14:12:50 <djazayeri> consistency is helpful, actually, and doing the other order means today is at the bottom
14:12:56 <djazayeri> dkayiwa: you there/
14:13:04 <djazayeri> wyclif: go ahead then
14:13:07 <wyclif> Monday:
14:13:07 <wyclif> * Read wiki page notes from earlier discussions of the new order entry API
14:13:07 <wyclif> * Looked at the current order entry API in the order entry branch and figure out the things to borrow
14:13:07 <wyclif> * Had a discussion with burke about the order entry stuff
14:13:07 <wyclif> * Started on the design process
14:13:08 <wyclif> * Minor TODO from last sprint to add auto complete to location widget - HTML-71
14:13:10 <wyclif> Today:
14:13:12 <wyclif> * Update the discussion etherpad with new structure for DrugOrders
14:13:14 <wyclif> * Continue with the design process to come up with what to present tomorrow during the design call
14:13:16 <wyclif> * Add suggested initial structure to the design wiki page
14:13:18 <wyclif> Blockers: None
14:13:58 <djazayeri> wyclif: make sure you also ping mseaton at some point before the design call tomorrow.
14:14:29 <djazayeri> dkayiwa, sunbiz, sk: any of you want to give updates?
14:14:37 <wyclif> djazayeri, ok
14:14:52 <bwolfe> and roger conveniently signed off... :-)
14:15:06 <bwolfe> wyclif, are you doing any wiki editing, or just etherpad?
14:15:13 <djazayeri> !scrumoff
14:15:13 * OpenMRSBot says the DAILY SCRUM MEETING has ENDED. This channel is now returned to normal hacking operations. Post-scrum meeting follow-up conversations may now begin.
14:15:14 <sunbiz> Working on RESTWS-211, little slow
14:15:17 <sunbiz> no blockers
14:15:22 <sunbiz> ohhh :(
14:15:23 <djazayeri> !ticket restws-211
14:15:24 <OpenMRSBot> djazayeri: [#RESTWS-211] Get All should behave consistently to Search: it should return paged results, and respect the max number of results - OpenMRS JIRA - https://tickets.openmrs.org/browse/restws-211
14:15:43 <djazayeri> sunbiz: sorry, I didn't think you were here!
14:16:15 <djazayeri> sunbiz: anything further to add to your update?
14:16:28 <wyclif> bwolfe, currently it has been etherpad, will be doing the wiki pages today with the suggested design
14:16:34 <sunbiz> nope...
14:16:36 <sunbiz> thats all
14:16:53 <djazayeri> wyclif: personally I would not bother making wiki pages until *after* the design call
14:16:59 <bwolfe> any blockers or discussion points sunbiz?
14:17:00 <djazayeri> but I guess it's up to you.
14:17:22 <sunbiz> bwolfe: its a little more complex that I thought
14:17:36 <sunbiz> changing in the BaseCrud seems like the best way to do it
14:17:59 *** snoppy has joined #openmrs
14:18:02 <sunbiz> so doing that now..
14:18:05 <djazayeri> wyclif: if it's easier to organize the design call with wiki formatting, then go ahead, but I'd expect people to have lots of opinions on Wednesday, and it's better not to spend unnecessary time wikifying and modifying
14:18:27 <djazayeri> sunbiz: you probably have to change an interface somewhere too, right?
14:18:45 <wyclif> djazayeri, fair point
14:19:00 <sunbiz> NeedsPaging needs to be taking a list
14:19:09 <djazayeri> sunbiz: what does it take now?
14:19:40 *** didymo has quit IRC
14:20:11 <sunbiz> djazayeri: not getting the exception that its not able to serialize Object to NeedsPaging
14:20:14 <djazayeri> sunbiz: Listable.getAll needs to change
14:20:21 <sunbiz> yes
14:20:33 <sunbiz> djazayeri: thanks
14:21:12 <djazayeri> sunbiz: just peeking at the code, I think you need to change DelegatingCrudResource so that getAll works just like search
14:21:45 <sunbiz> yes, thats wht I changed... not BaseCrud
14:21:48 <bwolfe> wyclif, add your link(s) here: http://notes.openmrs.org/Design-Forum-2012-04-18
14:21:52 <djazayeri> finbrein: hey
14:21:59 <sunbiz> sorry...
14:22:11 <djazayeri> you were describing that you were looking at java wikitext libraries
14:22:13 <finbrein> djazayeri: hi
14:22:23 <bwolfe> finbrein, which ticket are you working on?
14:22:24 <djazayeri> and looking at making http calls in a test
14:22:31 *** dkayiwa has quit IRC
14:22:36 <finbrein> RESTWS-216
14:22:47 <djazayeri> !ticket RESTWS-216
14:22:48 <OpenMRSBot> djazayeri: [#RESTWS-216] Add page describing POST content - OpenMRS JIRA - https://tickets.openmrs.org/browse/RESTWS-216
14:22:58 <bwolfe> ok, and https://wiki.openmrs.org/display/docs/POST+Requests is the page?
14:23:21 *** rubailly has quit IRC
14:23:33 <finbrein> I am not using a wikitext library
14:23:47 <djazayeri> finbrein: as you're putting things in the wiki page for now, use the {code} macro
14:23:47 <finbrein> but the HttpClient
14:23:52 <bwolfe> you should just use {code}
14:24:05 <wyclif> links?
14:24:14 <bwolfe> whoops, darius won that one
14:24:18 <bwolfe> wyclif, yes, links
14:24:21 <bwolfe> :-)
14:24:23 <wyclif> bwolfe, ok
14:25:21 <finbrein> djazayeri: you mentioned plugging into the existing DocCreator classes, how?
14:25:23 <djazayeri> finbrein: I would imagine that writing up the post in a text editor, and using curl at the command line, would be easier
14:25:32 <djazayeri> (for testing things out)
14:26:14 <finbrein> ok
14:26:18 <djazayeri> finbrein: but there's a java rest client I include via maven in http://svn.openmrs.org/openmrs-contrib/examples/webservices/hackyswingexample/
14:26:19 <OpenMRSBot> <http://ln-s.net/9H0d> (at svn.openmrs.org)
14:26:27 <djazayeri> finbrein: about the doc creator
14:27:08 <djazayeri> finbrein: there's a ResourceDocCreator class. I haven't looked at it closely, but bwolfe, rafa, and dkayiwa have.
14:27:30 <djazayeri> the idea is that it reads our custom @WSDoc annotation to build up a help page
14:28:27 <finbrein> djazayeri: i saw the way it is done in ResourceDocCreatorTest class to generate this page - https://wiki.openmrs.org/display/docs/REST+Web+Service+Resources
14:28:28 <OpenMRSBot> <http://ln-s.net/8z-a> (at wiki.openmrs.org)
14:28:51 <djazayeri> finbrein: once you've documented how a couple of the POSTs work, and we have a good idea for how we want to lay things out and format them, I think we should add some code to ResourceDocCreator to add your post documentation into there.
14:29:00 <finbrein> djazayeri: have to check again and the java rest client to make it work
14:29:24 <djazayeri> finbrein: I don't think the rest client is necessary; I only mention that because you asked.
14:29:44 <djazayeri> finbrein: the point of the ticket is to give examples of what content you need to post to do things
14:30:02 <djazayeri> e.g. to create a patient, what do you need to include in the POST content?
14:30:16 <djazayeri> finbrein: does that make sense?
14:30:33 <finbrein> djazayeri: i'll add it to the page, make a lot of sense
14:31:52 <finbrein> djazayeri: i have checked other sites like https://dev.twitter.com/docs/api/1/post/statuses/update , https://wiki.appcelerator.org/display/guides/HTTPClient+and+the+Request+Lifecycle and http://www.dokuwiki.org/devel:xmlrpc
14:31:53 <OpenMRSBot> <http://ln-s.net/$1r5> (at dev.twitter.com)
14:32:07 <bwolfe> if it can be automated, all the better. but if just showing a few outputs for the common objects, that is a good 75% use-case
14:32:51 <finbrein> djazayeri: the format they use, bwolfe: thanks for the input
14:34:00 <finbrein> djazayeri, bwolfe: i'll go ahead with the task now
14:34:21 <djazayeri> finbrein: great!
14:34:37 <bwolfe> finbrein, ok, feel free to bring up (here) any other questions as you hit them
14:34:44 <bwolfe> you don't have to wait until tomorrow's scrum. :-)
14:34:56 <finbrein> bwolfe: ;)
14:34:56 <djazayeri> (I see that there's ultimately space for a _lot_ of documentation about each post; for now if we can get the "sample post" for our most important resources, that would be wonderful)
14:39:41 <jriley> djazayeri , got a couple minutes for FacilityData? I've fixed the startup problem . Now that it starts, there's a new error
14:40:14 <djazayeri> jriley: sure
14:40:41 <jriley> When I edit a form, I get this: No class org.openmrs.module.facilitydata.validator.FacilityDataFormSchemaValidator is found that is able to handle a interface org.springframework.validation.Validator
14:41:06 <jriley> Which is weird, because there are validator classes right there and nothing has changed
14:41:28 <bwolfe> which spring version is the module compiled against?
14:41:39 <djazayeri> jriley: does the validator class have a @Handler annotation?
14:42:02 <jriley> http://pastebin.com/i78wY5j1
14:42:19 <djazayeri> jriley: this is actually an interesting one
14:42:34 <jriley> All of them do, yes
14:42:39 <djazayeri> in 1.9 we (rafa?) added the feature that objects are validated before they are saved
14:42:45 <djazayeri> by the service layer
14:42:47 <jriley> There are five validators
14:42:59 <jriley> Ok. That answers one question, whether to open a separate bug
14:43:29 <djazayeri> It seems like we should *not* break modules that don't provide a validator for their domain objects, right?
14:44:01 <jriley> That seems fair. But it also looks like there are validators right there. The package is org.openmrs.module.facilitydata.validator , and I'm digging up the fisheye urls
14:44:17 <djazayeri> jriley: the stack trace seems strange
14:44:25 <djazayeri> i.e. why is line 2 between line 1 and line 3
14:44:39 <djazayeri> is BaseFacilityMetadataValidator's supports method strange?
14:44:59 <jriley> I don't know enough about them to know from strange
14:45:24 <djazayeri> jriley: can I get a fisheye link to it?
14:45:26 <jriley> Validator package is at https://source.openmrs.org/browse/~br=trunk/Modules/facilitydata/trunk/src/org/openmrs/module/facilitydata/validator
14:45:34 <djazayeri> thanks
14:45:36 <jriley> and https://source.openmrs.org/browse/~br=trunk/Modules/facilitydata/trunk/src/org/openmrs/module/facilitydata/validator/BaseFacilityMetadataValidator.java for basevalidator
14:46:01 <jriley> So there's a handler annotation, right there at the top
14:46:06 <jriley> I get the save error for anything I edit
14:46:14 <jriley> Tried to make a new form, tried to change an existing form, tried to change a question
14:46:52 <jriley> That would exercise the schema validator, question validator, and maybe the base validator
14:48:07 <jriley> I see Mike did some cleanup work on BaseValidator a few weeks ago
14:49:30 <djazayeri> jriley: so, looking at the base validator, it seems like mseaton did a clever trick which turned out to be too-clever-by-half
14:49:51 *** sunbiz has quit IRC
14:49:53 <djazayeri> or robbyoconnor did, one of them
14:50:15 <jriley> Yeah?
14:50:54 <djazayeri> jriley: you didn't include the actual exception in the pastebin
14:51:19 <jriley> Will correct that, but meanwhile:
14:51:19 <jriley> An Internal Error has Occurred
14:51:19 <jriley> org.openmrs.api.APIException
14:51:20 <jriley> No class org.openmrs.module.facilitydata.validator.FacilityDataFormSchemaValidator is found that is able to handle a interface org.springframework.validation.Validator
14:52:25 <djazayeri> jriley: so, typically the supports(Class clazz) method is just supposed to do something like: return <class-that-i-validate>.class.isAssignableFrom(clazz)
14:52:36 <djazayeri> and it should be implemented in every validator
14:52:50 <djazayeri> looks like mseaton found a trick so only have to write it in the base validator, but that seems to be breaking now
14:53:08 *** lh has joined #openmrs
14:53:46 <djazayeri> I don't know why, but it seems like getting rid of the getPreferredHandler call in the base validator, and adding simple supports(Class) methods to the subclass validators, would probably fix things
14:54:00 <jriley> http://pastebin.com/JXWbYmBP updated
14:54:08 *** dkayiwa has joined #openmrs
14:54:28 <djazayeri> jriley: if you want credit for two tickets, this is definitely a second one. if you don't want to be bothered creating a second ticket, this is definitely the same one
14:54:29 <jriley> Is there a module I can look at as an example? Reports, maybe?
14:54:38 <jriley> I'll create a second one
14:54:46 *** rohitgoyal18 has joined #openmrs
14:54:50 <jriley> I'll submit the patch for the first one, since it's ready to go
14:55:19 <djazayeri> jriley: great, and also create a TRUNK ticket for this *also*
14:55:21 <dkayiwa> djazayeri: sorry i got disconnected
14:55:29 <dkayiwa> djazayeri: can i give my update?
14:55:38 <djazayeri> dkayiwa: yes, go ahead!
14:55:49 <jriley> Thanks djazayeri
14:55:54 <dkayiwa> Looked into: Changing concept names with the ui doesn't save - TRUNK-3149
14:55:54 <dkayiwa> Committed: No override the module´s messages in the module_message.properties - TRUNK-2187
14:55:54 <dkayiwa> Investigated: No spaces between names on the patient dashboard - TRUNK-2493
14:55:55 <dkayiwa> Now working: Unit of work - transaction bounary is not correct - Patient.form maybe more places - TRUNK-229
14:55:55 <dkayiwa> No Blockers
14:57:39 *** mathiaslin has joined #openmrs
14:58:00 <djazayeri> dkayiwa: I see that ticket is marked Non-Essential (though it actually looks important to investigate)
14:58:22 <djazayeri> dkayiwa: are there no voted bugs with higher priorities?
14:58:25 <dkayiwa> djazayeri: yes i first asked bwolfe about it
14:58:28 <bwolfe> djazayeri, I think he went with votes on that one.
14:58:54 <dkayiwa> djazayeri: most votes are 0
14:59:33 <djazayeri> I don't disagree with working on the ticket, it just seems that something with votes=1 and priority=Non-Essential is our top-rated at this point.
15:00:08 <djazayeri> I'm wondering if we also want to factor in recent ticket activity as well, to try to break the ties between the 1-vote tickets
15:02:06 <djazayeri> dkayiwa: anyway, carry on
15:02:12 <dkayiwa> djazayeri: ok
15:05:34 *** snoppy has quit IRC
15:09:17 <bwolfe> can we count comments on a ticket in a search?
15:09:49 <bwolfe> top priority should be newer bugs (e.g. 1.9 or trunk). then come long-standing bugs like this one
15:09:57 <djazayeri> bwolfe: not that I know of, but we can get recent activity
15:10:07 <dkayiwa> bwolfe: ok
15:10:45 <djazayeri> you can use "updated" for updated in the last month, for example
15:11:00 <djazayeri> dkayiwa: that said, I disagree with bwolfe about that one
15:11:43 <djazayeri> the purpose of the bugfixing swim lane should actually be to cover older bugs rather than newer ones (given the same number of votes and priority)
15:12:19 *** harshadura has joined #openmrs
15:12:27 *** harshadura has joined #openmrs
15:12:42 <bwolfe> older bugs with a workaround should not take precendence over something that is newer and (presumably )does not have a workaround
15:13:43 <dkayiwa> djazayeri: ok
15:15:39 *** mvorobey has joined #openmrs
15:15:43 *** mvorobey_ has joined #openmrs
15:17:11 *** mvorobey_ has left #openmrs
15:17:22 <mvorobey> hi all
15:21:13 *** sunbiz has joined #openmrs
15:21:13 *** ChanServ sets mode: +v sunbiz
15:27:49 <djazayeri> hi mvorobey
15:27:58 <mvorobey> djazayeri, hi
15:28:14 <mvorobey> djazayeri, I have a question on RESTWS-214
15:28:27 <djazayeri> !ticket RESTWS-214
15:28:28 <OpenMRSBot> djazayeri: [#RESTWS-214] Self link has wrong URL for module resources - OpenMRS JIRA - https://tickets.openmrs.org/browse/RESTWS-214
15:28:34 <djazayeri> yes?
15:31:15 <mvorobey> djazayeri, As you said yesterday, I need to add getNamespacePrefix() method, which adds a namespace, into BaseDelegatingResource. This method can be optionally overwriten by certain module resource. With this method we can have URI of that module resource as openmrs/ws/rest/v1/{module-prefix}/resource/"uuid". But how corresponding resource controller should handle such URI (since annotaions on controllers are set on compile)?
15:32:08 <djazayeri> mvorobey: interesting point
15:32:38 <mvorobey> djazayeri, yes, it's very interesting :)
15:33:14 <djazayeri> mvorobey: do you happen to know where the jss code roger refers to lives?
15:33:28 <djazayeri> i.e. an example of a module with a rest controller?
15:33:44 <mvorobey> djazayeri, yes, I uploaded it from svn
15:33:58 <djazayeri> actually, I have reportingrest, that should have an example too
15:34:04 *** snoppy has joined #openmrs
15:34:46 <mvorobey> djazayeri, I saw something like:
15:34:47 <mvorobey> @RequestMapping(value = "/rest/" + RestConstants.VERSION_1 + "/jsslab/labInstrument")
15:34:47 <mvorobey> public class LabInstrumentController extends BaseCrudController<LabInstrumentResource>
15:35:21 <mvorobey> for LabInstrumentController, but it seems to me as a bit piece of hard-code :)
15:35:43 <djazayeri> mvorobey: I don't see a way around that
15:36:31 <mvorobey> djazayeri, so, is such mapping acceptable solution ?
15:36:33 <djazayeri> mvorobey: they should probably pull "jsslab" into ModuleConstants.MODULE_ID, or something like that
15:37:24 <djazayeri> mvorobey: but yeah, if they have to hardcode it in the @RequestParam, and also they can override a method in the resource that repeats the same string (but fixes the self-link) that is good enough
15:38:34 <mvorobey> djazayeri, well, I agree with you, will note this in getNamespacePrefix() java-doc, ok ?
15:39:04 <djazayeri> mvorobey: if they want to avoid repeating the string, they can do @RequestMapping("/rest/v1/" + LabInstrumentResource.URI_NAMESPACE + "labInstrument")
15:39:10 <djazayeri> but that's up to them
15:39:14 <djazayeri> mvorobey: yes
15:39:42 <mvorobey> djazayeri, thanks, Darius, for design discussion :)
15:39:53 <djazayeri> np, thanks for the ticket work!
15:50:17 *** kavuri has joined #openmrs
15:50:36 *** mathiaslin has quit IRC
15:51:09 *** mathiaslin has joined #openmrs
15:53:53 *** nadee has joined #openmrs
15:57:33 <jriley> What's the JIRA markup so I can link to another ticket in a description?
15:58:02 <jriley> I'm not seeing it in the popup help
16:01:25 *** jriley has quit IRC
16:05:06 *** suranga has joined #openmrs
16:05:06 *** ChanServ sets mode: +v suranga
16:06:22 *** snoppy has quit IRC
16:09:15 *** rafa has quit IRC
16:21:45 *** Karesh has joined #openmrs
16:24:44 <Karesh> bwolfe as you mentioned for the ticket 2472 if I want to add the attribute.value to the parameter I have to change all the methods declared in PatientServiceImpl is that ok?
16:25:04 <Karesh> https://tickets.openmrs.org/browse/TRUNK-2472
16:28:42 *** rafa has joined #openmrs
16:28:42 *** ChanServ sets mode: +v rafa
16:37:09 *** kavuri has quit IRC
16:51:51 *** kavuri has joined #openmrs
16:54:37 *** didymo has joined #openmrs
17:08:46 <bwolfe> Karesh, PatientServiceImpl methods should need to change. why/where do you think?
17:12:06 *** Karesh has quit IRC
17:15:11 *** karesh has joined #openmrs
17:15:40 <karesh> bwolfe in patientServiceImple method calls dao.getPatients at the bottom of the class. inorder to call that in the PatientService interface getpatient method should change
17:16:41 <karesh> to check with the PersonAttribute's String value
17:23:07 <bwolfe> karesh, I don't think you need to modify the method signature of the dao either
17:23:13 <bwolfe> karesh, see point 2: Why are you adding a boolean searchable parameter? Thats not needed. :-)
17:24:33 <karesh> searchable parameter inside prepareCriteria method that s the one create a criteria according to the condition
17:25:35 <karesh> createAlias("attributeType", "attr").add(Expression.eq("attr.searchable",true));
17:26:40 <kavuri> hi, I am trying to perform a basic authentication using curl, but not able to get thru the login screen. I used the following command 'curl --basic --user admin:test -d "" https://localhost:8773/openmrs/index.htm;jsessionid=E021A24E5D64348A1077AC683EA94D94' -k -v
17:27:15 <karesh> i am not adding searchable parameter . next condition attribute value ?
17:27:51 <kavuri> any help here?
17:32:34 <sunbiz> kavuri: u can do curl -u -i admin:test http://localhost...
17:34:38 <kavuri> sunbiz: did that, I still get the login screen, but not an authenticated session
17:35:29 <bwolfe> karesh, I don't know what you're asking
17:35:44 <bwolfe> kavuri, are you using the returned sessionid in your next request?
17:35:58 <kavuri> bwolfe: yes, I am
17:36:15 <karesh> bwolfe, at the third point attributeType.searchable=true AND attribute.value...
17:36:58 <karesh> that value is PersonAttribute's String value ? you mentioned
17:37:34 <bwolfe> karesh, (name or identifier) is the search string passed in already
17:37:47 <bwolfe> kavuri, strange. this is all using curl?
17:38:05 <bwolfe> karesh, are you passing via url like above or using the session header?
17:38:18 <kavuri> bwolfe, sunbiz: after the first POST on localhost:8773/openmrs, I get a url with a session id, then I do a post again with the username/password, but still I get the html page with the request for credentials screen
17:38:30 <kavuri> bwolfe: yes, all using curl
17:39:56 <karesh> bwolfe ok I thought so. Confused with Attribute value is the different thing that i wanna check.. ok thanks. :)
17:44:50 *** pulasthi7 has quit IRC
17:45:34 <sunbiz> kavuri: u have to use the jsessionid in the header
17:46:07 <kavuri> sunbiz: the jsessionid is in the url itself, is that not good enough?
17:46:29 <sunbiz> nope... needs to be in the header I think
17:47:39 <sunbiz> so u need a cookie with that actually passed in the header
17:47:59 <sunbiz> so... u can directly authenticate with Basic auth like "curl -u -i admin:test http://localhost..."
17:48:22 <sunbiz> or u can pass a cookie with "jsessionid=..."
18:03:54 *** nadee has quit IRC
18:04:33 <sunbiz> kavuri: curl --cookie "jsessionid=E021A24E5D64348A1077AC683EA94D94" https://localhost:8773/openmrs/ws/rest/v1/person?q=John
18:05:29 <djazayeri> rafa, finbrein: why are both of you editing the REST Web Service Resources wiki page?
18:05:39 <djazayeri> is coordination needed?
18:05:52 <djazayeri> or is this no problem?
18:06:00 <kavuri> sunbiz: but I should have logged in to get a valid session id. If I do a curl get, then I get a url with a session id
18:06:13 <kavuri> but thats not the authenticated one..
18:06:35 <finbrein> djazayeri: this is the page i'm editing https://wiki.openmrs.org/display/docs/POST+Create+Patient
18:07:01 <finbrein> djazayeri: i made a link from REST Web Service Resources to it
18:07:05 <djazayeri> finbrein: okay, I got an email saying you edited the resources page
18:07:30 <djazayeri> I see. Adding a link within the text of the resources page will surely be clobbered next time someone pastes a new version of the auto-generated docs
18:07:44 <djazayeri> but it will still exist as a child page if you made it one
18:07:51 *** mathiaslin has quit IRC
18:08:47 <finbrein> i thought about that
18:09:36 <finbrein> the link will break the next time some overwrite
18:09:55 <finbrein> i'll just remove the link
18:10:11 <djazayeri> finbrein: no need to remove the link, just remember that it will be lost next time. :-)
18:11:07 <sunbiz> kavuri there is always the /session resource... that will respond telling u if the session is authenticated or not... and use that for next calls. - https://localhost:8773/openmrs/ws/rest/v1/session
18:16:30 *** mvorobey has quit IRC
18:20:09 <finbrein> djazayeri: is this okay and enough information provided - https://wiki.openmrs.org/display/docs/POST+Create+Patient?
18:21:56 <djazayeri> finbrein: should we indicate which properties are supported and which of those are required/optional?
18:22:37 <finbrein> djazayeri: i was about to ask same question
18:23:01 <finbrein> i think it is better that way to have table of properties and description
18:23:18 <djazayeri> finbrein: seems like it would be useful, but is there a way to tell from the code?
18:24:55 <djazayeri> would we want methods like getDelegatingResourceDescriptionForCreate and getDelegatingResourceDescriptionForUpdate?
18:25:08 <djazayeri> maybe this ties into the subclass discussion going on on RESTWS-221 too
18:25:32 <kavuri> sunbiz: yes, I understand that there is a session resource associated with an authenticated session, but how to authenticate in the first place is what i am missing
18:26:05 <kavuri> sunbiz: if there is a java auth client, that would help too
18:26:14 <djazayeri> finbrein: so, I suggest that you do the docs for just this one resource in the wiki page, in the way that seems most intuitive for an end-user, that would help
18:26:43 <kavuri> sunbiz: I am trying to use the org.apache.http.* class set to achieve this
18:26:44 <djazayeri> finbrein: I mean: that would be great, and then move onto another ticket while we digest that and figure out how to automate the generation of that documentation
18:26:51 <djazayeri> kavuri: http://svn.openmrs.org/openmrs-contrib/examples/webservices/hackyswingexample
18:27:15 <kavuri> djazayeri: the auth part in that example is dummy and commented out
18:27:18 <finbrein> djazayeri: ok
18:27:58 <djazayeri> kavuri: I'm pretty sure that the Authenticator bit is actually being used
18:27:59 <sunbiz> kavuri: I had added an example in one of the tickets
18:28:07 <sunbiz> kavuri: lemme find u the ticket
18:28:13 <djazayeri> kavuri: the commented-out code must be unnecessary, because the example actually worked
18:28:53 <sunbiz> !RESTWS-192
18:28:54 <OpenMRSBot> sunbiz: Error: "RESTWS-192" is not a valid command.
18:28:58 <kavuri> djazayeri: this is the login method:
18:28:59 <kavuri> public static boolean login() throws Exception {
18:28:59 <kavuri> /*
18:28:59 <kavuri> String resultString = getRootResource().path("session").accept(MediaType.APPLICATION_JSON_TYPE).get(String.class);
18:28:59 <kavuri> Map<String, Object> result = handleJsonObject(resultString);
18:29:00 <sunbiz> !ticket RESTWS-192
18:29:00 <kavuri> if (result.get("authenticated").equals("true")) {
18:29:01 <OpenMRSBot> sunbiz: [#RESTWS-192] Using jsessionid authentication doesnt work - OpenMRS JIRA - https://tickets.openmrs.org/browse/RESTWS-192
18:29:02 <kavuri> // sessionid = result.get("session");
18:29:04 <kavuri> return true;
18:29:06 <kavuri> }
18:29:08 <kavuri>
18:29:10 <kavuri> return false;
18:29:12 <kavuri> */
18:29:14 <kavuri> return true;
18:29:16 <djazayeri> kavuri: look at MyAuthenticator and where it's used
18:29:18 <kavuri> }
18:29:33 <sunbiz> kavuri: that ticket has an example for apache HTTPClient
18:30:36 *** karesh has quit IRC
18:31:25 *** rubailly has joined #openmrs
18:33:41 <kavuri> sunbiz: thanks for the pointer, will check it out
18:40:54 *** Goutham_ has joined #openmrs
18:43:24 <rubailly> hi MarkG
18:43:39 <rubailly> do you have a second?
18:44:01 <rubailly> I'd like to ask you a question about htmlformentry
18:45:13 *** snoppy has joined #openmrs
18:45:59 <MarkG> rubailly: what's up?
18:46:22 <rubailly> yeah
18:46:36 <rubailly> I'm good how r you
18:46:50 <rubailly> it is about the relationship tag
18:46:55 <MarkG> rubailly: doing well
18:47:00 <MarkG> rubailly: sure, what about it?
18:48:07 *** dkayiwa has quit IRC
18:48:31 <rubailly> We are currently, here at Rwinkavu hospital, trying to update one of our forms (the pmtct ddb) so that it can issuea warning the form is saved and the patient doesn’t have a mother relationship
18:48:37 *** wyclif has quit IRC
18:49:19 *** sgithens_ has quit IRC
18:49:27 <MarkG> rubailly: okay... so you want to know if there is a way to do validation on relationships?
18:49:30 <rubailly> The warning shouldn’t prevent the form from being saved but should act as a reminder (so the cancel button cancels the submit and allows the user to go back and update the form, the ok button continues with the submit).
18:49:30 *** dkayiwa has joined #openmrs
18:50:39 <rubailly> I know it is currently not possible but I'd like to know the best way to add this functionality
18:51:09 <MarkG> rubailly: okay... i'
18:51:42 *** mseaton has joined #openmrs
18:51:42 *** ChanServ sets mode: +v mseaton
18:51:50 <MarkG> rubailly: i'm not entirely sure of the best way,but my gut would be to add some sort of javascript... you could add this to your form without having to modify the htmlformentry module
18:53:25 <MarkG> rubailly: i would say you'd want a pop-up to come up saying "no mother relationship specified, are you sure you want to save this form?" (or something like that) and then yes / no buttons.
18:54:07 <rubailly> yes
18:54:10 <rubailly> I was thinking about having an additional attribute to the submit tag which takes in the name of a javascript function, then updating the tag so that if the javascript function is present that function should be called prior to continuing with the submit functionality.
18:54:38 <rubailly> would that be easy to add to the submit tag?
18:55:47 <MarkG> rubailly: that probably makes sense, let me look into a bit...
18:56:04 *** Echidna has quit IRC
18:57:13 <rubailly> ok
18:57:40 *** Echidna has joined #openmrs
18:57:40 *** ChanServ sets mode: +v Echidna
19:00:42 <rubailly> cause, maybe any other person wanting to do something before submitting the form will have to just create a javascript function and this function will get called before submit
19:01:48 <MarkG> rubailly: actually, i wasn't sure. but i checked and functionality similiar to this already exists that would probably serve your purpose:
19:01:55 <MarkG> https://wiki.openmrs.org/display/docs/HTML+Form+Entry+JavaScript+Reference
19:02:13 <MarkG> Look at the "Defining javascript functions to call before form validation and submission"
19:02:55 *** rohitgoyal18 has quit IRC
19:03:38 <MarkG> rubailly: we may need/want to add getField functionality for the relationship tag similiar to the getField functionaly that exists for obs and encounter information (this is also described on the page I linked to above)
19:03:43 *** Rahul has joined #openmrs
19:04:00 <MarkG> rubailly: take a look and let me know what you think
19:07:06 *** rubailly has quit IRC
19:08:43 *** goutham has joined #openmrs
19:08:59 *** rubailly has joined #openmrs
19:08:59 *** goutham has quit IRC
19:09:47 <rubailly> @Mark.. I got disconnected..
19:09:53 <rubailly> thanks
19:09:55 <rubailly> I think this will definitely solve my problem
19:10:10 <MarkG> rubailly: great!
19:11:08 *** kavuri has quit IRC
19:11:16 *** Goutham_ has quit IRC
19:11:33 *** goutham has joined #openmrs
19:11:50 *** goutham has quit IRC
19:13:19 *** snoppy has quit IRC
19:18:08 *** Rahul has quit IRC
19:23:22 *** sunbiz has quit IRC
19:23:26 *** sunbiz1 has joined #openmrs
19:23:39 *** sunbiz1 has left #openmrs
19:24:57 *** Mkop has quit IRC
19:25:32 *** Mkop has joined #openmrs
19:25:32 *** ChanServ sets mode: +v Mkop
19:40:10 *** mseaton has quit IRC
19:40:16 *** dkayiwa has quit IRC
19:41:11 *** dkayiwa has joined #openmrs
19:43:07 *** Rahul has joined #openmrs
19:53:28 *** dkayiwa has quit IRC
19:56:03 *** james_regen has quit IRC
19:57:55 *** dkayiwa has joined #openmrs
20:20:00 *** suranga has quit IRC
20:25:00 *** Mkop has quit IRC
20:25:23 *** Mkop has joined #openmrs
20:25:23 *** ChanServ sets mode: +v Mkop
20:27:30 *** rafa has quit IRC
20:45:26 *** rubailly has quit IRC
20:59:31 *** rafa has joined #openmrs
20:59:31 *** ChanServ sets mode: +v rafa
21:00:19 *** rafa has quit IRC
21:05:39 *** bryq has quit IRC
21:09:19 *** mseaton has joined #openmrs
21:09:19 *** ChanServ sets mode: +v mseaton
21:45:25 *** wyclif has joined #openmrs
22:33:21 *** mseaton has left #openmrs
22:37:39 *** MarkG has quit IRC
22:38:06 *** MarkG has joined #openmrs
22:42:31 *** MarkG has quit IRC
23:09:27 *** dkayiwa has quit IRC
23:40:53 *** mathiaslin has joined #openmrs
23:54:29 <finbrein> djazayeri:Are resources in the OpenMRS API represented in JSON data format only?
23:54:47 <djazayeri> finbrein: at some point we'll support xml
23:54:53 <djazayeri> but not really now
23:55:01 <finbrein> ok