IRC Chat : 2008-05-27 - OpenMRS

00:08:19 *** Keelhaul has quit IRC
00:22:51 <cancerb01> r0bby: ru there??
00:27:50 <r0bby> yeh
00:27:56 <r0bby> was typing my blog podt
00:28:04 <r0bby> http://robbyoconnor.blogspot.com/2008/05/readysetcode-google-summer-of-code-has.html
00:28:05 <OpenMRSBot> <http://ln-s.net/1tCL> (at robbyoconnor.blogspot.com)
00:28:25 <r0bby> cancerb01: whats up
00:30:29 <cancerb01> r0bby: do you know how this person table differ's from patient table??? they both are for patient records only right??
00:30:51 <r0bby> I do know the data model yet
00:31:09 <r0bby> I'm gonna need to though since my forms will bind to it
00:31:41 <r0bby> First 2 weeks are gonna be spent setting up the directory structure/metadata parsing and such :)
00:32:02 <cancerb01> ok i just now saw ur project plan
00:32:08 <cancerb01> thats cool man
00:32:13 <r0bby> how is it?
00:32:21 <r0bby> I left the last week free
00:32:52 <cancerb01> hehehe... hope i will finish my plan today and start coding
00:33:26 *** njero has quit IRC
00:34:41 <cancerb01> r0bby: i ve sent u an gtalk request
00:39:04 *** nribeka has quit IRC
00:42:46 <upul> cancerb01: i think person is the base class of patient and user
00:43:09 <upul> so patient data is stored in person and patient tables
00:44:21 <upul> for a single patient there will be one row in patient table and one row in person table
00:44:38 *** [OmegentooX] has quit IRC
00:46:38 <cancerb01> upul: thanks man... i got it already.. i had a small confusion but i gone thro the data model and cleared it
00:55:17 *** njero has joined #openmrs
00:55:17 *** ChanServ sets mode: +v njero
01:03:28 <r0bby> Okay folks im gonna go to bed
01:03:38 <r0bby> so I actually be able to think in the AM
01:06:46 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: Repeated Form Processing Errors Logged in hl7_in_error <http://forum.openmrs.org/viewtopic.php?f=3&t=377#p1241> || Robby O'Connor: Ready...Set...Code: Google Summer of Code has started! <http://feeds.feedburner.com/~r/robbyoconnor/~3/298860872/readysetcode-google-summer-of-code-has.html>
01:10:28 <r0bby> \FFS
01:10:33 <r0bby> i wrote intern instead of mentor
01:36:02 *** [OmegentooX] has joined #openmrs
01:36:02 *** ChanServ sets mode: +v [OmegentooX]
01:42:57 *** malduarte has joined #openmrs
01:44:25 *** b0nd has joined #openmrs
01:46:57 *** sioraiocht has joined #openmrs
01:46:57 *** ChanServ sets mode: +v sioraiocht
01:54:45 *** sioraiocht_ has quit IRC
01:56:43 <r0bby> hey [OmegentooX]
01:56:48 <r0bby> hows your first coding day goin
02:01:28 <upul> is [OmegentooX] doing a project?
02:11:07 <r0bby> upul: not for OpenMRS
02:11:11 <r0bby> but yes
02:11:46 <upul> ah, ok
02:24:49 <[OmegentooX]> My mentor and I are meeting for some hacking this weekend/next week so we're both just playing with jQuery for now
02:26:55 *** cancerb0y has joined #openmrs
02:37:05 *** pombreda has joined #openmrs
02:37:05 *** ChanServ sets mode: +v pombreda
02:41:21 <pombreda> mshanks: howdy
02:41:43 <pombreda> mshanks: I have the privilege to be your humble co-mentor for the gsoc
02:42:43 <pombreda> mshanks: I am travelling until the end of the week, but I am sending you instructions with some starting point.
02:43:05 <pombreda> mshanks: please keep a log of everything you do, in order to update the doc at the same time.
02:43:29 *** cancerb01 has quit IRC
02:44:36 *** TorLye has quit IRC
02:50:37 <r0bby> pombreda: I didn't put the nick together
02:51:11 <pombreda> r0bby: howdy ? you mean pombreda on me? or mshanks?
02:51:31 <r0bby> well i didnt put the nick with the name :P
02:51:41 <r0bby> Personally, i dont even use eclipse
02:51:53 <r0bby> I may be the ONLY OpenMRS dev who isn't!
02:52:45 * r0bby humps IntelliJ :)
02:53:09 <pombreda> r0bby: that is fine :-P we need some resistance. you can be a guinea pig. what would it take for you to use it? what do you use? why?
02:53:22 <r0bby> pombreda: Nothing :P
02:53:27 <r0bby> I'm just comfortable in IDEA
02:53:38 <pombreda> ij is a superb idea :-P
02:53:49 <r0bby> I have everythig at my finger tips
02:54:08 <r0bby> SVN in the toolbar to commit, revert, annotate source code, etc
02:54:17 <pombreda> and yes, when you have keys engraved in your finger tips, chnging would be mostly stupid, until there are really major feature that could help
02:55:09 <r0bby> :)
02:55:10 <pombreda> r0bby: which could be the case if mshanks can provide enough specific openrms stuffs in his project :-P
02:55:31 <r0bby> pombreda: for one project?
02:55:35 <pombreda> r0bby: I feel that if IJ was using swt, it would be prefect
02:55:46 <pombreda> r0bby: ?
02:56:34 <r0bby> pombreda: One of the problems i've noted several times on the list: is new users typically forget to change the project name in their .project file
02:56:50 <r0bby> and pombred: i was referring to switching IDEs
02:56:58 <r0bby> i *DO* have Eclipse installed
02:57:04 <r0bby> i think 3.4
02:57:37 <pombreda> r0bby: I am not sure why a uiser would need the .project file... that does not soudns right to me at all :-)
02:57:57 <pombreda> r0bby: something that should/could be fixed with appropriate wizards
02:58:32 <r0bby> pombreda: eclipse project files? :P
02:58:56 <r0bby> I have *SOME* faith that Matt will finish it this summer
02:59:09 <r0bby> mark my word! I have hitmen on speeddial!
03:00:26 * r0bby gets crazy and hyper
03:00:42 <pombreda> :-)
03:00:52 <r0bby> e/j #open-laszlo
03:00:58 <pombreda> ?
03:01:03 <r0bby> nothing :P
03:01:11 <pombreda> r0bby: what about laszlo ?
03:01:17 <r0bby> nothing :P
03:01:21 * r0bby looked at your /whois :P
03:01:28 * r0bby lurks in a shitload of channels
03:01:28 <pombreda> the channel is #laszlo afaik :-)
03:01:34 <pombreda> :-)
03:02:13 <r0bby> yeh its dead
03:02:30 <r0bby> no use in idling in a dead channel just to watch the tumbleweeds roll by
03:03:23 <pombreda> :-D
03:05:10 <r0bby> My module is reinventing grails more or less :P
03:05:43 <r0bby> I'm gonna see how much work Graeme Rocher truly put into grails :P
03:06:25 <r0bby> !learn groovyforms module as http://openmrs.org/wiki/GroovyForms_Module
03:06:25 <OpenMRSBot> r0bby: The operation succeeded.
03:06:32 <r0bby> !groovyforms module
03:06:32 <OpenMRSBot> r0bby: "groovyforms module" --- http://openmrs.org/wiki/GroovyForms_Module
03:07:02 *** upul has quit IRC
03:07:15 <r0bby> !learn groovyforms module as An amazing module to dynamically create forms with ease, and without microsoft products (InfoPath, access, etc)
03:07:15 <OpenMRSBot> r0bby: The operation succeeded.
03:07:20 <r0bby> !groovyforms module
03:07:20 <OpenMRSBot> r0bby: "groovyforms module" --- (#1) http://openmrs.org/wiki/GroovyForms_Module, or (#2) An amazing module to dynamically create forms with ease, and without microsoft products (InfoPath, access, etc)
03:07:24 *** upul has joined #openmrs
03:07:57 <r0bby> !forget groovyforms module 1
03:07:57 <OpenMRSBot> r0bby: The operation succeeded.
03:08:01 <r0bby> !groovyforms module
03:08:01 <OpenMRSBot> r0bby: "groovyforms module" --- An amazing module to dynamically create forms with ease, and without microsoft products (InfoPath, access, etc)
03:09:09 <pombreda> r0bby: you could plug that in with a visual groovy forms designer in eclipse ;-)
03:09:18 <pombreda> if you have some guts that is
03:09:20 <r0bby> !learn as groovyforms module project wiki is: http://openmrs.org/wiki/GroovyForms_Module -- it has the project plan as well as other project-related information
03:09:20 <OpenMRSBot> r0bby: The operation succeeded.
03:09:39 <r0bby> pombreda: Hell
03:09:40 <r0bby> No
03:10:04 <r0bby> pombreda: this will create HTML forms :P
03:10:23 <pombreda> r0bby: then what? that is a restriction of a visual editor :-)
03:10:24 <r0bby> and I REFUSE to use Visual Editors for even swing on principle!
03:10:38 <pombreda> r0bby: you may, but user may no.
03:10:57 <pombreda> r0bby: whne you code for others, what you like is irrelevant :-)
03:10:59 <r0bby> pombreda: Have you looked at Matisse's generated code?
03:11:10 <pombreda> r0bby: quite a bit indeed.
03:11:11 <r0bby> That could be a future enhancement
03:11:21 <r0bby> But that's for WAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY later
03:11:47 <pombreda> r0bby: I am a committer on eclipse visual editor, and we have a contribution to generate visual stuffs based on groovy
03:12:25 <r0bby> pombreda: I could write the model processor in a way that its not tied to anything specific
03:12:45 <pombreda> r0bby: and in contrast with matisse, eclipse ve does not use an xml forms file, it parse and reverse engineers teh code and roundtrips directly
03:13:01 <r0bby> in a clean way?
03:13:04 <pombreda> yes
03:13:28 * r0bby used eclipse LITERALLY for MAYBE a week :P
03:13:47 <pombreda> r0bby: matisses forms are hell. they fall out of sync with code, as soon as you edit the code mostly
03:13:59 <r0bby> pombreda: no shit
03:14:26 <r0bby> Right now I wanna get shit working and have grown bitter towards it :P
03:14:36 *** [OmegentooX] has quit IRC
03:14:45 <r0bby> hrm where is the VE
03:15:12 <r0bby> but yeh
03:15:16 <pombreda> http://eclipse.org/vep
03:16:17 <r0bby> I'm sure burke would be thrilled if we could do that at some point
03:17:02 <pombreda> r0bby: and the groovy codegen bits contributed are here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=204901
03:17:04 <r0bby> I'm kinda envisioning a way of plugging into the groovyforms system and being able to pull the forms up using swing, but that'd be hell
03:17:05 <OpenMRSBot> <http://ln-s.net/1tDC> (at bugs.eclipse.org)
03:17:23 <r0bby> groovy IDE support is subpar right now
03:17:30 <pombreda> correct
03:17:37 <pombreda> r0bby: that will be your next project
03:17:41 <r0bby> it's why im avoiding it
03:17:51 <r0bby> Actually, groovy has some guys working on it
03:18:32 <r0bby> pombreda: writing swing in groovy is piss easy :P
03:18:38 <r0bby> SwingBuilder ftw!
03:19:02 <pombreda> r0bby: swt too: http://groovy.codehaus.org/GroovySWT
03:19:40 <pombreda> and once you have tasted swt, swing is hard to swallow
03:19:56 * r0bby hasn't
03:19:56 <r0bby> :P
03:20:33 <r0bby> What would be neat is if: you have a swing app -- it polls the groovyforms module -- module sends back a list of forms
03:20:53 <r0bby> you click a form, it generates a swing form and it has all the functionality there :>
03:21:09 <r0bby> sending over the controller/model :)
03:21:22 <r0bby> ahh a pipe dream of over-engineering
03:21:38 <r0bby> I should probably stop thinking ahead :X
03:22:20 <r0bby> What's funny about groovy's IDE support: Groovy DEVS USE IDEA!
03:22:25 <r0bby> my IDE!
03:24:03 <upul> how much is IDEA r0bby
03:24:06 <r0bby> anwyays
03:24:13 * r0bby ducks
03:24:23 <r0bby> $250 i think
03:24:40 <upul> i think 700 for professionals
03:24:54 <upul> but something like 100 for university students
03:28:24 <upul> single user is 250, you are right
03:28:45 <r0bby> i gotta go to bed
03:28:54 <r0bby> pombreda: nice meeting you
03:29:17 <r0bby> http://openmrs.org/wiki/GroovyForms_Module is a good example for matt (and others) :P
03:29:26 <r0bby> apparently burke linked it
03:29:34 <r0bby> That's mine :)
03:30:28 <pombreda> r0bby: :-)
03:30:45 <pombreda> r0bby: you seem full of enthusiasm and energy :-P
03:31:15 *** malduarte has quit IRC
03:31:21 <r0bby> and a tad obsessive :P
03:31:31 <r0bby> I think this may have gotten me accepted though :p
03:32:34 <r0bby> i need sleep
03:33:36 <upul> good night r0bby
03:39:26 <r0bby> pombreda: nice meeting you
04:07:32 *** njero has quit IRC
04:13:10 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: Repeated Form Processing Errors Logged in hl7_in_error <http://forum.openmrs.org/viewtopic.php?f=3&t=377#p1242>
04:15:28 *** sioraiocht_ has joined #openmrs
04:29:53 *** sioraiocht has quit IRC
04:31:31 *** b0nd has quit IRC
05:13:23 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #782 (defect created): CRITICAL bug in obsDisplay <http://dev.openmrs.org/ticket/782> || OpenMRS Tickets: Ticket #781 (defect created): syncing concepts w/ from/import export module fails after api refactoring merge <http://dev.openmrs.org/ticket/781>
05:43:29 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #783 (defect created): formimportexport's conceptsynonymconverter expects Strings for Locales <http://dev.openmrs.org/ticket/783>
06:37:07 *** bwolfe has quit IRC
06:38:55 *** nribeka has joined #openmrs
06:42:01 *** james_regen has joined #openmrs
06:42:01 *** ChanServ sets mode: +v james_regen
06:46:49 *** upul has quit IRC
07:01:55 *** cancerb01 has joined #openmrs
07:07:47 *** pombreda has quit IRC
07:11:28 *** pombreda has joined #openmrs
07:11:28 *** ChanServ sets mode: +v pombreda
07:13:31 *** bwolfe has joined #openmrs
07:13:31 *** ChanServ sets mode: +o bwolfe
07:20:31 *** cancerb0y has quit IRC
07:29:59 *** pombreda has quit IRC
07:43:58 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #782 (defect closed): CRITICAL bug in obsDisplay <http://dev.openmrs.org/ticket/782#comment:2>
07:44:14 *** pombreda has joined #openmrs
07:44:14 *** ChanServ sets mode: +v pombreda
08:01:36 *** pombred1 has joined #openmrs
08:08:31 *** pombreda has quit IRC
08:15:29 *** upul_ has joined #openmrs
08:16:42 *** atomicturtle has quit IRC
08:19:32 <bwolfe> upul_: did you ever create the project page for this?
08:20:40 *** upul_ is now known as upul
08:21:02 <upul> bwolfe: haven't created a separate page
08:21:54 <upul> i tried the tribe project yesterday
08:23:04 <upul> just to see how it goes, backend parts came out okay
08:23:53 <upul> but there will be things to think when connecting to existing web interface, i think
08:26:07 *** bmckown has joined #openmrs
08:26:07 *** ChanServ sets mode: +o bmckown
08:26:25 <bwolfe> upul: what do you mean "connection to existing web interface" ?
08:28:10 <upul> there are places which has tribe displayed as part of patient like it's part of patient
08:28:28 <upul> those things will completely go out, i guess
08:34:45 <mshanks> stupid question, but whats the seperator for email addresses?
08:34:50 <mshanks> , or ;
08:35:07 <upul> ,
08:35:42 <bwolfe> mshanks: both might work. I usually use commas as well though
08:36:37 <bwolfe> upul: yeah, those will just disappear from the display. they can be redisplayed by users via the Manage Person Attribute Types and setting 'Tribe' to the list in the 'patient listing' input box
08:39:09 <upul> i was creating a new module and removing parts from openmrs
08:39:17 <mshanks> gravy
08:39:18 <upul> how do i go with it
08:39:29 <mshanks> right. off to the gym. iron to be pumped. bbl
08:43:07 <bwolfe> upul: the parts you're removing from trunk you should submit as a patch. we'll apply that to trunk
08:43:35 <bwolfe> upul: create (or find) a ticket for the 'remove tribe from trunk' and attach the patch there
08:43:46 <bwolfe> the patch shouldn't delete the tribe table
08:43:57 <bwolfe> just remove all tribe stuff from the display
08:47:24 *** pombred1 has quit IRC
08:48:14 *** pombreda has joined #openmrs
08:48:14 *** ChanServ sets mode: +v pombreda
09:01:57 *** njero has joined #openmrs
09:01:58 *** ChanServ sets mode: +v njero
09:21:30 *** atomicturtle has joined #openmrs
09:33:11 <nribeka> bwolfe: i will need to ask lots of questions about the OpenMRS patient table :P
09:34:15 <bwolfe> nribeka: ok
09:34:40 <bwolfe> nribeka: you should have taken notes when I reviewed the data model with you. ;-)
09:35:17 <nribeka> bwolfe: hehe ... that was an overview :D
09:35:34 <nribeka> now i need an in really - really depth review :D
09:36:21 <bwolfe> nribeka: hmm, its actually not really a deep thing...what I gave you was pretty much it!
09:36:28 <bwolfe> nribeka: it just /looks/ large...but its really very simple
09:37:12 <nribeka> !data model
09:37:12 <OpenMRSBot> nribeka: Error: "data" is not a valid command.
09:37:26 <bwolfe> !datamodel
09:37:26 <OpenMRSBot> bwolfe: Error: "datamodel" is not a valid command.
09:37:32 <nribeka> it large and complex bwolfe :P
09:39:48 <nribeka> there's no irc command for the data model link?
09:40:41 <bwolfe> apparently not
09:41:20 <bwolfe> !learn datamodel as The OpenMRS data model is described here: http://openmrs.org/wiki/Data_Model
09:41:20 <OpenMRSBot> bwolfe: The operation succeeded.
09:41:24 <bwolfe> now it is :-)
09:42:25 <nribeka> now i need to learn the pink area ... :P
09:43:51 <bwolfe> the pink area is tiny!
09:44:04 <bwolfe> its just that a patient object can have 0 to n identifiers
09:44:12 <bwolfe> an identifier is something like a Social Security Number
09:44:18 <bwolfe> or a Hospital ID number
09:44:31 <bwolfe> or a driver's license number
09:45:12 <upul> bwolfe: which should i use for openmrs development, jdk 6 + tomcat 6?
09:45:27 <nribeka> jdk 5 i think :D
09:45:36 <bwolfe> yes upul, those will work
09:45:42 <bwolfe> just set your jdk compatibility to 1.5
09:45:51 <bwolfe> we aren't requiring end users to have 1.6 yet
09:46:11 <nribeka> bwolfe: so a patient can have multiple id?
09:46:20 <nribeka> or a single id with any of those type?
09:46:21 <upul> i just want an exact environment set from the beginning
09:46:41 <bwolfe> nribeka: they have one patient_id...htat is the internal openmrs primary key for that patient object
09:46:50 <bwolfe> nribeka: but they can have more than one SSN, drivers license number, etc
09:47:00 <bwolfe> an "id" is different from an "identifier"
09:47:22 <bwolfe> upul: yep, makes sense. I personally use jdk 1.6 and tomcat 6
09:47:37 <bwolfe> (tomcat 6 is a lot better than 5.5...many internal memory/speed enhancements)
09:53:32 <nribeka> bwolfe: ttl. need to switch to vista ...
09:53:50 *** nribeka has quit IRC
10:05:12 <cancerb01> bwolfe: hi ben thanks for the suggestion.
10:12:38 <upul> is this a know issue:
10:12:39 <upul> ERROR - ForEachDisplayAttributeTag.prepare(60) |2008-05-27 20:40:04,728| Error getting attributes
10:12:40 <upul> org.openmrs.api.APIException: listing is an invalid value for 'displayType' attribute
10:12:40 <upul> at org.openmrs.api.impl.PersonServiceImpl.getPersonAttributeTypes(PersonServiceImpl.java:737)
10:13:14 <cancerb01> bwolfe: could you please explain me your point?
10:13:29 <cancerb01> bwolfe: i think im bit confused
10:13:44 <bwolfe> upul: fixing that with a commit in about 30 seconds. :-)
10:14:13 <upul> ok, i think i will have to work with that when doing tribe thing
10:14:32 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [4383]: logic-api-refactoring:added to grammar to support call in action slot, few … <http://dev.openmrs.org/changeset/4383> || OpenMRS Changesets: Changeset [4382]: logic-api-refactoring:default path and output folder <http://dev.openmrs.org/changeset/4382> || OpenMRS Changesets: Changeset [4381]: patientmatching: use the 1.3.0 Openmrs-api.jar <http://dev.openmrs.org/changeset/4381> || Sri Prasanna: Address Hierarchy Support Project Plan <http://cancerb0y.wordpress.com/2008/05/27/address-hierarchy-support-project-plan/> || OpenMRS Changesets: Changeset [4380]: patientMatching:changed line 138 from - … <http://dev.openmrs.org/changeset/4380> || OpenMRS Changesets: Changeset [4379]: dss: pass specific extension - .java or .mlm in lookForRules() <http://dev.openmrs.org/changeset/4379> || OpenMRS Changesets: Changeset [4378]: Applying obs group patch - #782 Author: catullus <http://dev.openmrs.org/changeset/4378> || OpenMRS Changesets: Changeset [4377]: form_import_export_module: setting svn:ignore on build and dist <http://dev.openmrs.org/changeset/4377> || OpenMRS Changesets: Changeset [4376]: Fixing awful bug that causes a stack overflow when trying to view … <http://dev.openmrs.org/changeset/4376>
10:15:38 <bwolfe> upul: ok, just committed in 4384...svn update and it should be fine
10:16:12 <upul> that was a fast response :-)
10:17:20 <cancerb01> bwolfe: the "12" in the example goes to the column address_attribute_type_value_id. which is nothin but the last member of the hierarchy's location_attribute_type_value_id from the table address_hierarchy_type_value table
10:17:43 <bwolfe> upul: I aim to please
10:19:11 <cancerb01> bwolfe: ??
10:19:54 <bwolfe> cancerb01: yeah, I guess I'm just not a fan of the new column "address_attribute_type_value_id"
10:20:12 <bwolfe> cancerb01: you /should/ be able to just populate each of the person_address fields
10:20:18 <bwolfe> and not have to add the column
10:20:34 <bwolfe> not entirely sure how to do that right now though
10:21:03 <bwolfe> your module would have to override the personAddress portlet
10:21:23 <bwolfe> that might be the solution
10:21:55 <bwolfe> cancerb01: add your other two hierarchy tables with one small change
10:22:11 <bwolfe> cancerb01: make the hierarchy tables know which field they will be filling in in the person_address table
10:22:21 <bwolfe> cancerb01: the admin can assign that when they are defining the hierarchy
10:24:03 <cancerb01> bwolfe: could you please explain it with a small example?
10:31:20 <cancerb01> bwolfe: ??
10:33:26 <cancerb01> bmckown: wat would be your suggestion??
10:40:45 <bwolfe> cancerb01: looks like the portlet is called addressLayout.jsp
10:41:06 <bwolfe> cancerb01: that portlet is what is displayed on newPatientForm.jsp
10:41:37 <bwolfe> that displays the address view type that the admin has chosen with the address.layout global property (us view, versus kenya view, etc)
10:42:14 <r0bby> im trying to wqaKE P HERE
10:42:44 <bwolfe> cancerb01: your module could override that portlet so that when you portlet is loaded, it doesn't display that addressLayout object from openmrs-servlet.xml, but rather displays the information from your tables
10:43:22 <bwolfe> the html in the backend would still have to point at person_address.address1, person_address.address2, person_address.country, person_address.district, etc
10:44:03 <bwolfe> so if each row in your hierarchy table knew which person_address column it mapped to, you could display some html fairly simply
10:44:39 <bwolfe> cancerb01: does that make sense at all?
10:44:50 <bwolfe> cancerb01: how can I describe it further?
10:44:55 <cancerb01> bwolfe: yeah sense clearer
10:45:47 <cancerb01> bwolfe: so i have to think a way to map the person_address columns and the hierarchy table columns
10:53:10 * r0bby dances
10:53:22 <r0bby> first method to create the form structure is being written
10:55:13 <r0bby> bwolfe: would it be a bad idea to test every method i write (AKA test driven development or would that take too much time?
10:55:42 <bwolfe> r0bby: that would be good form
10:55:48 <bwolfe> I would recommend it
10:56:53 <r0bby> I dont care if i run out of time
10:57:10 <r0bby> I'd rather have good code then shit code
10:57:19 <r0bby> I've been taught to do it
10:59:42 <r0bby> bwolfe: bah i dont feel like using reviewboard
11:00:19 <r0bby> bwolfe: is there an openmrs javadoc page somewhere?
11:01:23 <bwolfe> doc.openmrs.org
11:01:32 <bwolfe> or http://openmrs.org/docs
11:01:34 <bwolfe> I can't remember
11:01:49 <bwolfe> its updated every 8 hours off of trunk
11:02:20 *** [OmegentooX] has joined #openmrs
11:02:20 *** ChanServ sets mode: +v [OmegentooX]
11:03:46 <cancerb01> bwolfe: what if the patient's address has more no of hierarchy components which exceeds the no of columns in person_address table??
11:04:38 <bwolfe> cancerb01: then we should increase the number of columns in person_address because it isn't meeting people's needs. :-)
11:04:46 <bwolfe> there are 8 columns I think...that won't be enough?? :
11:05:12 <r0bby> bwolfe: are you gonna be around usually daily?
11:05:24 <r0bby> so that if burke is busy (I don't wanna bother him too much)
11:05:48 <bwolfe> ha! how come I'm more botherable than burke? :-/
11:07:02 <r0bby> Because burke is a doctor :P
11:10:14 <r0bby> was the getApplicationDataDirectory(String) method added recently?
11:10:22 <r0bby> it's not in the jar im using?
11:12:21 <bwolfe> r0bby: it was added in 1.2 sometime
11:12:24 <bwolfe> its been a while
11:12:41 <r0bby> bwolfe: As per my project plan -- the final week two weeks (after i've ironed out the rough edges, i wanna present the module to some implementors to fiddle with?
11:12:48 <r0bby> and battle test :)
11:13:03 *** upul has quit IRC
11:13:16 <r0bby> no it wasn't
11:13:38 <cancerb01> bwolfe: but the fields name would confuse someone who looks the database... for example in india we have one more hierarchy component between district and city... if the patient location is a village then it increases by 2 or 3...
11:13:54 <r0bby> it's only finding the no-arg version
11:14:14 <r0bby> that method would make mylife a HELL of a lot easier
11:14:28 <r0bby> I need burke :|
11:15:48 <bwolfe> r0bby: ......and the version you have is.......
11:16:08 <bwolfe> cancerb01: yeah, the naming of the columns in person_address and location is kind of arbitrary
11:16:23 <r0bby> 1.3 4267
11:16:31 <bwolfe> we have since decided that we want to rename all of the columns to address1, address2, address3, adddress4, etc so that we don't have that issue
11:17:29 <bwolfe> r0bby: 1) control-shift-t. 2) type OpenmrsUtil 3) select the version from trunk 4) control-f 4) search for getDirectoryInApplicationDataDirectory 5) voila! its there!
11:18:12 <r0bby> UGH
11:18:33 <bwolfe> r0bby: 1) (svn) team-->show annotation 2) see that that line has been there since at least revision 4095
11:18:40 <bwolfe> r0bby: (teaching you to fish....) :-)
11:18:52 <bwolfe> cancerb01: I think there is a ticket for the changing fo the column names
11:19:13 * r0bby uses intelliJ
11:19:22 <r0bby> may 4th
11:19:55 <r0bby> cattullus
11:20:02 <cancerb01> bwolfe: oh wats the ticket number?
11:20:27 <bwolfe> !ticket 412
11:20:27 <OpenMRSBot> bwolfe: Ticket #412: http://dev.openmrs.org/ticket/412
11:24:06 <cancerb01> bwolfe: wat if the hierarchy components exceed??? we are not sure about hierarchy of different countries...
11:24:42 <bwolfe> cancerb01: can you do some research on that one? find a place in the world that has more than 8
11:24:56 <bwolfe> if there are more, we can add some columns to the person_address table
11:24:57 <cancerb01> :P
11:25:03 <cancerb01> sorry about that
11:25:22 <bwolfe> if you can't find any, then don't worry about it for now. in version 3 of your module you can add in something that will fix that
11:28:40 <r0bby> I thought id get a lot of work done
11:28:51 <r0bby> and not worry about packaging a new jar
11:31:08 *** sunbiz has joined #openmrs
11:34:13 <sunbiz> hi guys !!
11:36:31 <bmckown> Hi, sunbiz
11:39:05 <r0bby> i committed the jars
11:39:52 <r0bby> ...
11:39:56 <r0bby> i think i found a bug in IDEA
11:40:07 <sunbiz> what bug ??
11:40:24 *** Nzeyi has joined #openmrs
11:40:50 <r0bby> YAY!
11:40:52 <r0bby> I gound a bug!
11:44:57 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #695 (task closed): Use a modified obsDateVoided time in ObsServiceTest <http://dev.openmrs.org/ticket/695#comment:1>
11:46:49 * r0bby fights with openmRS :|
11:47:35 <r0bby> bwolfe ping
11:47:36 <sunbiz> I bet $20 on r0bby... who else on the fight bet??
11:48:16 <bwolfe> r0bby: yes r0bby ?
11:49:30 *** sioraiocht_ has quit IRC
11:49:48 <r0bby> what the f is going on here
11:50:43 <r0bby> wtf
11:50:56 <r0bby> /home/rob/openmrs/openmrs-modules/groovyforms/src/org/openmrs/module/groovyforms/GroovyFormsUtil.java (24:25) getApplicationDataDirectory() in org.openmrs.util.OpenmrsUtil cannot be applied to (java.lang.String)
11:51:01 <r0bby> /home/rob/openmrs/openmrs-modules/groovyforms/src/org/openmrs/module/groovyforms/GroovyFormsUtil.java:24: getApplicationDataDirectory() in org.openmrs.util.OpenmrsUtil cannot be applied to (java.lang.String)
11:51:05 <r0bby> THAT
11:51:18 * r0bby is gonna go postal soon
11:52:24 <r0bby> oh FUCKS
11:52:34 <r0bby> nevermind
11:53:38 <r0bby> I cant read apparently
11:53:41 <bwolfe> r0bby: seriously, try to keep this room family friendly
11:54:02 <bwolfe> I don't want you corrupting bmckown's precious ears
11:54:04 <r0bby> sorry
11:54:17 <r0bby> I'm pretty sure bmckown has heard worse
11:54:51 <bwolfe> r0bby: getApplicationDataDirectory returns a File object...I assume thats what you just figured out?
11:54:52 <bmckown> r0bby you gotta try to stop going postal.
11:55:21 <bwolfe> r0bby: nah, brian is so young and naive, he's never heard that kind of language... ;-)
11:55:23 <r0bby> I know what it returns
11:55:40 <r0bby> Fater soc i'll make a file scrubber
11:55:51 <r0bby> After*
11:56:11 <r0bby> and we'll scrub the cursewords right out so bmckown doesn't get corrupted furthur...
11:56:18 <r0bby> I heard the curse words young :)
11:56:39 <bmckown> I'm sure I have made up words you could never imagine, r0bby, but I don't use them on irc.
11:57:00 * bmckown says "kids"
11:57:24 <r0bby> yet
11:57:39 <r0bby> you haven't seen me when im frustrated :P
11:57:42 <r0bby> just wait :)
11:58:08 <bmckown> r0bby goes into pm and comes out ybb0r
11:58:59 *** Nzeyi has quit IRC
12:00:45 <cancerb01> bmckown: hi Brian..
12:00:59 <cancerb01> bwolfe: did you see Ben's suggestion??
12:01:54 <cancerb01> sorry last message was for bmckown and not for bwolfe :P
12:01:58 <bmckown> Hi, cancerb01
12:02:35 <cancerb01> bmckown: disturbed you a lot in the weekend eh?
12:03:03 <bmckown> Not really. It was good interaction.
12:03:11 <bmckown> I think your plan looks very good.
12:04:32 <cancerb01> bmckown: but ben suggested another way.. storing all the values in the person_address table itself.. he has commented it in my project page
12:04:54 <bmckown> okay
12:05:27 <bwolfe> (sorry, I always come in and spoil all the fun)
12:05:49 <cancerb01> bwolfe: i always like to face complications :)
12:05:58 <cancerb01> bwolfe: and love to solve it :)
12:10:07 <r0bby> ffs
12:10:11 <r0bby> it's storming
12:10:28 <r0bby> if the electric goes out im screwed
12:10:40 <r0bby> my laptop's screen resolution is bad
12:12:00 <r0bby> Okay part 1 of weeks 1 and 2 is complete the activator creates the groovyforms directory in the openmrs application directory
12:20:51 * r0bby spends hours writing a single method
12:24:56 <r0bby> you guys are gonna hate the way i cde
12:27:19 <r0bby> i'
12:27:29 <r0bby> m using groovy to write my tests :)
12:28:09 <r0bby> screw it
12:45:12 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #702 (task closed): Make standard regimens configurable by the end user <http://dev.openmrs.org/ticket/702#comment:4> || OpenMRS Tickets: Ticket #784 (task created): Refactor standard drug regimens <http://dev.openmrs.org/ticket/784> || OpenMRS Tickets: Ticket #691 (task closed): tests-openmrs-api jar file has two initialInMemoryTestDataSet.xml files. <http://dev.openmrs.org/ticket/691#comment:2> || OpenMRS Tickets: Ticket #641 (task closed): Move everything out of the hackathon package <http://dev.openmrs.org/ticket/641#comment:3> || OpenMRS Tickets: Ticket #650 (task closed): Investigate strange try/catch block in HibernatePatientDAO.getPatient(Integer) <http://dev.openmrs.org/ticket/650#comment:1> || Nzeyimana Antoine: OPENMRS: GSoC 2008 Coding Starts <http://nzeyi.wordpress.com/2008/05/27/openmrs-gsoc-2008-coding-starts/>
13:29:23 *** nribeka has joined #openmrs
13:30:24 *** nribeka has quit IRC
13:39:05 *** sunbiz has left #openmrs
13:43:23 *** nribeka has joined #openmrs
14:15:04 <r0bby> bwolfe: ping
14:15:12 <bwolfe> >?
14:20:16 <[OmegentooX]> Your question mark is angry
14:20:38 <r0bby> nevermind
14:20:50 <r0bby> I'm writing the xstream code
14:20:59 <r0bby> :x
14:21:03 <r0bby> one of my tests fails
14:21:06 <r0bby> due to dep \
14:21:08 <r0bby> s
14:21:21 <r0bby> ill track down the problem later
14:22:01 *** sgrannis has joined #openmrs
14:22:01 *** ChanServ sets mode: +v sgrannis
14:32:12 <r0bby> where would I be w/o the ability to change commit msgs after the fact...
14:32:37 <bwolfe> NJ?
14:37:52 <r0bby> prolly :P
14:40:03 <cancerb01> bwolfe: hi Ben i have updated the project page :)
14:40:16 <bwolfe> cancerb01: yep, just read through it.
14:40:19 <cancerb01> bwolfe: i need your comments :)
14:40:28 <bwolfe> looks like you're going to tackle ticket 412 ?
14:40:56 *** atomicturtle has quit IRC
14:41:31 <cancerb01> yeah.. so ru ok with the plan?? or should i do any modification?? please advice me
14:42:21 <bwolfe> cancerb01: I like it
14:42:38 <bwolfe> cancerb01: the only change I would make is to call the tables address_hierarchy and address_hierarchy_type
14:42:48 <bwolfe> (and change the primary key names to match)
14:43:16 <bwolfe> otherwise, looks good, my 100% blessing is given! ;-)
14:43:40 <cancerb01> ok. I will do it. thanks for your suggestion and blessings too :)
14:44:07 *** atomicturtle has joined #openmrs
14:44:58 <bwolfe> run it by daniel and start then start coding! :-)
14:45:10 <r0bby> oh for fucks sake
14:45:13 <r0bby> er language
14:45:14 <r0bby> sorry
14:46:05 <cancerb01> bwolfe: yeah im gonna start today :) 1.30 am may 28 in india
14:46:39 <bwolfe> r0bby--
14:46:49 <bwolfe> less karma for you everytime from now on :-p
14:47:08 <bwolfe> I wonder if the bot can store numbers that low though...
14:47:49 <r0bby> okay this is a weird design
14:48:25 <r0bby> I have a utility method to create the directory, then i return a File
14:48:28 <cancerb01> bwolfe: I am going to bed now. Got university exam tomo morning. Will catch you tomorrow 8-)
14:48:40 <r0bby> I have a utility method which returns the GroovyForm model class
14:48:42 <bwolfe> cancerb01: good luck
14:48:45 <bwolfe> and good night
14:48:48 <r0bby> I got rid of my DTD
14:49:01 <r0bby> was gonna become the pain in my you know what
14:50:27 *** cancerb01 has left #openmrs
14:52:56 <r0bby> Thank god i specified 2 week blo0cks
14:56:40 <r0bby> is it bad when a method has 9 arguments?
14:58:36 <[OmegentooX]> yes
14:58:54 * r0bby sighs
14:59:12 <r0bby> my GroovyForm model class has 9 fields that are each a child element
14:59:16 <r0bby> xstream++
15:04:53 <nribeka> class time haha ...
15:05:57 *** sgrannis_ has joined #openmrs
15:06:42 *** sgrannis_ has quit IRC
15:08:15 *** james_regen has quit IRC
15:23:04 *** sgrannis has quit IRC
15:23:17 <bmckown> We like the number of method parameters to be divisible by four.
15:23:40 <bmckown> Nobody take that seriously, please.
15:27:36 *** nribeka has quit IRC
15:29:19 <r0bby> 9/4 2 remainder 1 :P
15:29:36 <r0bby> it still works
15:29:37 <r0bby> :)
15:29:47 <r0bby> note: you didn't say EVENLY :)
15:30:23 <r0bby> wow I need to get more work done
15:31:42 <r0bby> need more coffee
15:31:45 *** njero has quit IRC
15:33:13 * r0bby wonders if it'd be easier to store form metadata in the database
15:36:09 <r0bby> bmckown: do you happen to know specifically where XStream serializes to XML in the OpenMRS core?
15:36:50 <bmckown> actually, no.
15:36:58 <r0bby> gah
15:37:06 <r0bby> I'm probably not understanding this
15:37:19 <r0bby> but all these cases are pupping in my head
15:37:22 <bmckown> simpleframework?
15:37:25 <r0bby> popping up*
15:37:46 <bmckown> spring binding?
15:37:50 <bmckown> annotations?
15:37:52 <r0bby> WHat if the object state changes? Is it automatically re-serialized? do I need to do it? :|
15:38:02 <r0bby> No http://xstream.codehaus.org
15:38:17 <r0bby> serializes classes to XML (both from and to)
15:38:23 *** nribeka has joined #openmrs
15:38:32 <r0bby> i should say *OBJECTS*
15:38:52 <r0bby> I'm starting to think the front-end would have been better to start with, but oh well
15:39:14 <bmckown> CTRL-H in Eclipse shows that xstream is only used in DrugOrderSupport
15:40:09 <r0bby> Yeh, that's all i found too
15:41:57 <bmckown> Probably initiated by Darius?
15:42:23 <bmckown> Thought we mainly were using simple framework for that.
15:42:40 <bmckown> And maybe migrating towards xstream?
15:42:48 <r0bby> yeh it seems so
15:42:52 <r0bby> xstream is amazing
15:42:59 <r0bby> I'm using annotations :)
15:43:52 <bmckown> Well it sounds like simple is becoming too simple from some of the talk in Developers Conference Call.
15:51:33 <r0bby> yeh caught Darius
15:51:41 <r0bby> im an idiot i missed the .fromXML() call
15:51:54 *** bwolfe has quit IRC
16:18:27 *** nribeka has quit IRC
16:30:12 <r0bby> sporkspork
16:47:51 *** bmckown has quit IRC
16:53:54 <r0bby> ...
16:53:56 *** pombreda has quit IRC
17:42:02 *** pearlbear has joined #openmrs
17:42:02 *** ChanServ sets mode: +v pearlbear
17:42:28 <r0bby> michelle!
17:42:30 <r0bby> hai :)
17:43:04 <pearlbear> hi r0bby, and everyone
17:43:17 <pearlbear> how was your memorial day weekend, r0bby?
17:44:18 <r0bby> good
17:44:29 <r0bby> adding openmrs to the hackontest site
17:47:52 <pearlbear> hackontest?
17:48:28 *** nribeka has joined #openmrs
17:49:04 <nribeka> !projects
17:49:04 <OpenMRSBot> nribeka: "projects" --- OpenMRS Projects: http://projects.openmrs.org
17:49:32 <r0bby> nribeka: this is _NOT_ as easy as i thought it would be
17:50:12 <nribeka> r0bby: which one?
17:50:14 <r0bby> Okay I seriously need to disconnect from this screen session
17:50:24 <nribeka> the groovy?
17:50:40 <nribeka> r0bby: what's wrong?
17:51:32 <nribeka> omg, windows is so horrible
17:51:51 <nribeka> took around 2 hours to uninstall IIS
17:52:22 <nribeka> stay away from windows guys
17:54:59 <pearlbear> nribeka: I gladly do
17:55:55 <nribeka> pearlbear: :( it took 2 hours to uninstall IIS but in the end it failed
17:56:04 <nribeka> damn i hate windows ...
17:56:19 <pearlbear> fsck that's a pain
17:57:12 <nribeka> yeah, somehow my IIS installation is broken and I need to do unistall and install cycle
17:57:21 <nribeka> stupid IIS
17:57:39 <nribeka> if it was apache httpd it would take just a couple mins
18:10:12 *** sunbiz has joined #openmrs
18:14:13 <sunbiz> any1 awake ??
18:14:48 <sunbiz> I get this error when trying to COMMIT:==> Error: CHECKOUT of '/!svn/ver/4193/openmrs-modules/registration': 403 Forbidden (http://svn.openmrs.org)
18:14:55 <sunbiz> any help ??
18:15:45 <nribeka> hi
18:16:00 <sunbiz> hi nribeka
18:16:12 <nribeka> you have the permission right sunbiz?
18:16:32 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #783 (defect closed): formimportexport's conceptsynonymconverter expects Strings for Locales <http://dev.openmrs.org/ticket/783#comment:1> || OpenMRS Tickets: Ticket #781 (defect closed): syncing concepts w/ from/import export module fails after api refactoring merge <http://dev.openmrs.org/ticket/781#comment:2>
18:16:39 <sunbiz> I asked Ben... and he told me when creating the folder
18:16:50 <sunbiz> How do check if I got the permission or not ??
18:19:11 <nribeka> that's is i don't know sunbiz :P
18:19:39 <nribeka> i believe you already ask bwolfe for the login right?
18:20:32 <sunbiz> hmmm... I guess only the Ben and Justin would know
18:20:36 <sunbiz> yes
18:21:26 <nribeka> yeah, you should ask them :D
18:24:45 *** pearlbear has quit IRC
18:31:19 <r0bby> Darius also
18:37:56 <mshanks> woooooooo
18:37:58 <mshanks> what a work out
18:38:10 <mshanks> man I've got to do this more often. working out at 11pm kicks ass
18:38:34 <r0bby> fucker
18:38:38 <r0bby> s/fucker//
18:38:42 <r0bby> r0bby--
18:38:42 <OpenMRSBot> r0bby: Error: You're not allowed to adjust your own karma.
18:39:04 <nribeka> need a hand to lower it r0bby?
18:39:06 *** r0bby_ has joined #openmrs
18:39:13 <r0bby_> r0bby--
18:39:16 *** r0bby_ has quit IRC
18:39:29 <r0bby> !karma r0bby
18:39:29 <OpenMRSBot> r0bby: Karma for "r0bby" has been increased 4 times and decreased 5 times for a total karma of -1.
18:40:05 <r0bby> I'm spending time hating my design
18:41:14 *** atomicturtle has quit IRC
18:42:01 <nribeka> i think you're design is good r0bby
18:42:05 *** pearlbear has joined #openmrs
18:42:05 *** ChanServ sets mode: +v pearlbear
18:42:44 <nribeka> restart
18:42:50 <nribeka> windows habit
18:42:53 *** nribeka has quit IRC
18:46:50 *** sunbiz has left #openmrs
18:58:33 *** burke_away has joined #openmrs
18:58:33 *** ChanServ sets mode: +o burke_away
18:58:40 *** burke_away is now known as burke
18:59:10 <burke> r0bby: ping
18:59:35 <r0bby> hey
19:00:02 <r0bby> Basically
19:00:16 <r0bby> I'm creating all the Serialization stuff in a utility class with static methods
19:00:36 <burke> http://xstream.codehaus.org/tutorial.html
19:00:43 <r0bby> I was using that
19:00:57 <burke> Have you defined the GroovyForms class?
19:01:10 <r0bby> http://papernapkin.org/pastebin/view/962/
19:01:17 <r0bby> burke: WAYYYY ahead of you :P
19:01:29 <r0bby> I also made a GroovyFormsContainer which contains *ONLY* a List
19:01:41 <r0bby> that list contains GroovyForms only
19:01:56 <r0bby> and I figure i'll add the groovyforms to that
19:02:26 <burke> Oh. I thought GroovyForms was the container... containing List<GroovyForm> :-)
19:02:33 <r0bby> er no
19:02:44 <r0bby> GroovyForm is the actual XML definition
19:03:02 <r0bby> I needed a way to serialize the object to XML (this is the metadata)
19:03:16 <r0bby> Im having a hard time getting off the ground
19:03:28 *** pearlbear has quit IRC
19:03:32 <r0bby> (as you can see)
19:04:17 <burke> I don't think you need all the XStreamAlias() directives
19:04:30 <r0bby> I wanted to ensure it maps the way i want
19:04:35 <burke> why?
19:04:44 <r0bby> call me anal retentive
19:04:49 <burke> hehe
19:05:00 <r0bby> I know how i want things
19:05:02 <burke> how about getting it working and then bending it to your will. :-)
19:05:20 <r0bby> It's already bent at my will, i'm not unbending this
19:05:22 *** pearlbear has joined #openmrs
19:05:22 *** ChanServ sets mode: +v pearlbear
19:05:28 <r0bby> =)
19:06:39 <r0bby> I was thinking to create the directory structure, i'll code a quick groovy script
19:06:58 <r0bby> rather than writing a ton of java code
19:07:05 <burke> should be easy to do in java or groovy
19:07:23 <r0bby> new File(...).mkdir();
19:07:31 <burke> yup
19:07:53 <r0bby> but it needs to be done recursively
19:08:03 <r0bby> the groovyforms directory is created when the module is loaded
19:08:31 <r0bby> I set that up
19:09:02 <r0bby> so the structure is pretty much done
19:09:54 <r0bby> I'll have the following in the utility class: 1) a method that creates the structure for the given form 2) a method that returns a "pretty printed" XML String courtesy of xstream
19:10:04 <r0bby> 3) a method to write that String to a file
19:10:24 <r0bby> 4) a method to sync the global file with the new one
19:10:35 <r0bby> :x
19:10:57 <r0bby> am I over thinking?
19:12:03 <r0bby> let me get coding a bit
19:12:05 <burke> no. sounds good. but i'd just use the XML as a persistence mechanism -- i.e., don't worry about the XML so much
19:12:26 <r0bby> so keep an instance of GroovyFormContainer
19:12:33 <r0bby> perhaps keep the list as a static member?
19:12:48 <r0bby> then serialize when the module is unloaded?
19:12:59 <r0bby> or whatever
19:13:21 <burke> make utility methods for writeGroovyFormList(groovyFormList) and GroovyFormList readGroovyFormList()
19:13:32 <r0bby> ah okay
19:13:39 <r0bby> I was gonna =)
19:13:57 <r0bby> List<GroovyForm> getGroovyFormList { ... }
19:14:22 <r0bby> void addForm(GroovyForm(GroovyForm) { ... }
19:14:28 <r0bby> how I plan on doing it
19:14:55 * r0bby doesn't wanna bug you too much :<
19:15:03 <r0bby> I may need a recommendation from you
19:15:17 <r0bby> "Needs his hand held every step of the way" is NOT what iu wanna see
19:15:18 <burke> instead of void addForm(GroovyForm(GroovyForm) { ... }, I'd suggest: GroovyFormList.add(groovyForm); saveGroovyFormList(groovyFormList);
19:15:31 <r0bby> ah
19:15:36 <r0bby> static member
19:15:45 <r0bby> ?
19:16:29 <r0bby> ah right :)
19:17:18 <burke> I wouldn't use static methods / properties unless you absolutely need to -- i.e., have a really good reason to.
19:17:26 <r0bby> yeh
19:17:32 <r0bby> the only case where I don't
19:17:36 <r0bby> is GroovyForms
19:17:40 <r0bby> they NEED to be unique
19:17:57 <r0bby> GroovyFormContainer is just that a container
19:18:42 <r0bby> I have a clear vision of how i want things to go
19:18:51 <r0bby> this is a VERY well planned out project
19:19:13 <r0bby> I noticed you used my wiki page as an example, thanks :)
19:19:17 <burke> If you get GroovyFormContainer from a method and then get / add individual GroovyForm objects from that container, then the need for static or not is an implementation issue internal to those classes (not a concern of the rest of the code)
19:19:33 <r0bby> yes
19:19:50 <r0bby> I'm going for clean design
19:20:21 <r0bby> GroovyFormContainer will have a static List, and will have a method to add to that list
19:20:33 <r0bby> let me count the ways that can go awry
19:21:11 <burke> fyi - we don't put attribution into code (e.g., @author tags). when we find them, we remove them. attribution comes through commits or via commit comments when patches are applied for others. that eliminates the issues of "when do I get to add my name to the code"
19:21:28 <r0bby> okay
19:21:37 <r0bby> I do that in an IDEA template
19:21:43 <r0bby> let me remove that
19:23:42 <r0bby> okay
19:23:49 <r0bby> wehen i commit the attribute will be gone
19:25:21 <r0bby> template for classes changed :)
19:29:04 *** pearlbear has quit IRC
19:35:10 <r0bby> burke: more or less the aliases are there to keep me happy :)
19:35:25 <r0bby> they make me sleep easy at night knowing that it's working the way I want :)
19:35:36 <r0bby> if they make you uneasy :x
19:36:51 <burke> nope. just trying to keep it simple. I thought xstream would use the property name by default, so an alias would only be necessary if the XML needed a different name from the property
19:39:20 <r0bby> I don't know
19:39:27 <r0bby> When i get to that point i'll try removing it
19:39:38 <r0bby> if it doesn't do what I want, then i'll add them back
19:39:53 <r0bby> right now i'm trying to get the pieces in place
19:40:00 <r0bby> this is the boring part
19:40:59 <r0bby> I want to get this working by the final 2AT LEAST Aug 11
19:41:09 <r0bby> s/the final 2//
19:41:38 <r0bby> so i can get it battle tested :)
19:41:50 <r0bby> literally.
19:49:08 *** docpaul has joined #openmrs
19:49:08 *** ChanServ sets mode: +o docpaul
19:49:10 <r0bby> burke: actually -- I camel-case property names -- I don't want it camel-cased in the xml
19:49:21 <docpaul> happy gsoc day #1!
19:49:23 <docpaul> :
19:49:25 <docpaul> :)
19:50:05 <r0bby> strike that
19:54:27 <r0bby> Okay =)
19:54:35 <r0bby> that's commited =)
19:56:32 <r0bby> it should be straight forward
19:56:40 <r0bby> the id is what we actually use to find the form
19:56:50 <r0bby> the name is the well name
19:57:01 <r0bby> say the form is for example: Intake Form
19:57:15 <r0bby> I'd remove the space from the name
19:57:24 <r0bby> the id will become
19:57:28 <r0bby> intakeform
19:57:34 <r0bby> i'll do
19:57:57 <r0bby> id = name.replaceAll("\\s+","").toLowerCase();
19:58:36 <r0bby> Sound reasonable
19:59:14 <r0bby> the id isn't given, it's derived from the name
20:14:12 <burke> r0bby: until we put the groovy forms module to use, it'll be hard to know if an id generated from the name vs. an internally generated id will work best. i think at a minimum you'll need to guarantee that the id is unique, so you may need to append a number or something if the name has been used before.
20:15:47 <burke> with FormEntry we've seen folks tend to create a form and then make several versions of it... so maybe appending the version number might get you closer to a guaranteed-to-be-unique id. you could even enforce this -- i.e., if you try to create a form with the same name & version of an existing form, it fails with a "groovy form already exists" error.
20:16:41 <r0bby> burke: oh you can still set it
20:16:46 <r0bby> im not touching the setters/getters
20:17:09 <r0bby> just at construction it's set up trhat way
20:18:21 <r0bby> http://dev.openmrs.org/changeset/4399
20:18:23 <r0bby> what I did
20:20:02 <r0bby> hrm yeh
20:20:22 <burke> oky-doky
20:20:51 <r0bby> But like i said -- I'm leaving the setter in place
20:21:20 <r0bby> so it *IS* mutable, just is auto-generated at construction =)
20:22:57 <r0bby> the FormEntry module is a whole other beast
20:26:12 <burke> my point is that people will likely create a groovy form, give it a name, and then want to create multiple versions of it (same name, different version numbers)
20:27:06 <r0bby> so how do I differentiate
20:27:17 <r0bby> there needs to be a unique way to identify it
20:27:35 <r0bby> I figured the id would be the way to do that
20:27:42 <r0bby> I *COULD* do
20:27:46 <r0bby> the way i did it
20:27:48 <r0bby> +version
20:28:04 <r0bby> that would work
20:29:25 <r0bby> Or actually -- I could construct the GroovyForm; search for the form with that id -- if it exists; append a random number to the id
20:29:47 <r0bby> (i kept the setter in place remember =)
20:29:48 <burke> you could build the id from name (as you are) plus version number -- e.g., r0bbysniftyform1.0
20:29:53 <mshanks> righty i'm off to bed. night all
20:30:05 <r0bby> mshanks: sleep is for the weak foo
20:30:08 <burke> g'night mshanks
20:30:18 <mshanks> got to completely re-do one of my damn courseworks from a month ago tomorrow... stupid lecturer has lost it
20:30:20 <mshanks> what a tool
20:30:21 <r0bby> I'll do that =)
20:30:36 <r0bby> mshanks: make him give you credit anyways
20:30:41 <r0bby> it's his own damn fault
20:30:43 <mshanks> have already put in a formal complaint
20:30:57 <r0bby> good
20:31:05 <mshanks> but would rather just knock it out and be done with it then have to worry about making an appeal after results come out
20:31:09 <mshanks> pointless hassle i don't need right now!
20:31:48 <mshanks> and will be handy to do anyway as it's java and I've been doing C/C++ all year
20:31:53 <mshanks> need to get back into the right mindset haha
20:31:57 * mshanks ko's
20:32:07 <burke> r0bby: btw, you'll need to filter out some characters that wouldn't work well (especially in Windoze) -- e.g., `~!@#&*'"\/
20:32:26 <r0bby> that's the front-ends job
20:32:43 <r0bby> or will happen at the level there
20:32:57 <burke> business logic should not be done in the UI ... IMHO
20:33:35 <r0bby> burke: at the controller level then :P
20:33:42 <r0bby> This is the model -- nothing more :P
20:33:58 <r0bby> The servlet will handle the validation of input
20:35:28 <r0bby> I'll write a utility method to strip out invalid input
20:35:29 <burke> so are you saying that you won't allow these characters in the name? why not?
20:35:55 <r0bby> name? The name has zilch to do w/ fs stuff
20:36:05 <r0bby> the id is where it needs to be stripped
20:36:35 <burke> I wanna name my form "Burke's Groovy I/O ~ test!"
20:36:45 <r0bby> okay =)
20:36:48 <r0bby> that's valid
20:37:20 <r0bby> so that would basically become burkesgroovyiotest
20:37:20 <burke> but you'll have a problem creating a folder "burke'sgroovyi/o~test!" :-)
20:37:33 <burke> yupper. sounds good.
20:37:34 <r0bby> I know :P
20:37:46 <r0bby> let me write that method now
20:38:57 <r0bby> ugh
20:39:02 <r0bby> scaping that is gonna be a bitch
20:39:19 <r0bby> what's invalid in windows
20:39:30 <r0bby> just `~!@#&*'"\/
21:06:34 <r0bby> "Burke's Groovy I/O ~ test!"
21:06:50 <r0bby> "Burke's Groovy I/O ~ test!".replaceAll( `~!@#&*'"\/
21:10:06 <burke> what about colon?
21:10:13 <burke> or semicolon?
21:12:23 <burke> more potentially bad chars (esp in windoze) that may be worth filtering: <>?:;+=
21:13:54 <r0bby> this is getting annoying
21:14:22 <burke> hehe. just wait. you ain't seen nothin' yet. :-)
21:15:23 <r0bby> you have no idea how annoying it is
21:26:10 <burke> r0bby: http://rafb.net/p/wRJVLv98.html
21:26:43 <r0bby> thank you burke
21:26:49 <docpaul> :)
21:26:50 <docpaul> hi
21:27:36 <burke> all you have to do is write the xml to file. then you can read it in with FooBar fb = (FooBar)xstream.fromXML(xml);
21:27:38 <r0bby> I know how to use Xstream though but good to know
21:27:52 <docpaul> argh, emails suck!!!!
21:28:02 <r0bby> :d
21:28:05 <r0bby> :D
21:28:11 <burke> but you said you were stuck?!?
21:28:22 <r0bby> well
21:28:26 <r0bby> I was stuck on updating :P
21:28:32 <r0bby> and persisting
21:28:41 <r0bby> i had gotten that far
21:28:49 <r0bby> thanks =)
21:29:04 <r0bby> and such
21:29:06 <burke> oh. yeah. separate them. like we discussed. the toXML & fromXML are buried in the util. then you only need to manipulate java objects. :-)
21:29:22 <burke> and i know r0bby can manipulate the heck out of java objects ...
21:29:31 <burke> even *without* closures. ;-)
21:30:04 <burke> ok boyz. i gotta hit the sack. i've got some sleep debt to pay
21:30:21 <r0bby> heh have fun
21:30:25 <r0bby> I'll be okay
21:30:45 <burke> r0bby: xstream should go in common-lib in the module. make sure we've got the same version that OpenMRS is using.
21:31:09 <r0bby> I do
21:32:26 <burke> k. 'night.
21:32:48 *** burke is now known as burke_fading
21:33:10 *** burke_fading is now known as burke_snoring
21:33:35 *** burke_snoring is now known as burke_in_rem
21:33:41 <docpaul> night burke
21:33:45 *** burke_in_rem has quit IRC
21:34:11 <docpaul> heya robbo
21:34:17 <r0bby> heya =)
21:34:25 <docpaul> feeling more confident now?
21:37:41 *** upul has joined #openmrs
21:38:54 <r0bby> a lil yes
21:39:07 <r0bby> I dived in this morning and was like oh god
21:39:25 <r0bby> escaping is gonna be fun
21:47:18 <docpaul> :)
21:47:22 <docpaul> escaping what? :)
21:48:39 *** maveriick has joined #openmrs
21:49:02 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Modules: Form Data Export 0.8 uploaded to OpenMRS Module Repository <https://dev.openmrs.org/modules/view.jsp?module=formdataexport&version=&0.8>
21:50:14 <maveriick> hi docpaul
21:50:22 <docpaul> hi. :)
21:51:24 <maveriick> is there any restriction in OpenMRS to use IDE's other than Eclipse, specially using any proprietary IDE like IntelliJ Idea?
21:53:31 <docpaul> no
21:53:44 <docpaul> we just all have used eclipse, and know it works well
21:53:58 <docpaul> as long as you stick to our basic conventions, it should be fine
21:55:12 <r0bby> mshanks: im using IDEA :P
21:55:17 <r0bby> er maveriick
21:55:29 <r0bby> docpaul
21:55:37 <maveriick> I am not sure which will I use eventually, but I'm comfortable in using IDEA...
21:55:38 <r0bby> i need to escape -> `~!@#&*'"\/<>?:;+=
21:55:56 <maveriick> r0bby, how did you ignore the project files?
21:56:36 <maveriick> docpaul, to made OpenMRS to ignore IDEA project files we need to set more properties in svn:ignore...
21:56:48 <r0bby> maveriick: i didn't
21:56:52 <r0bby> they're in there
21:57:18 <r0bby> you set the svn:ignore property
21:57:31 <maveriick> r0bby, you committed the property files altogether?
21:57:37 <r0bby> er no.
21:57:45 <r0bby> i commited the project filkes
21:58:29 <maveriick> setting the svn:ignore require you to commit that ....we may d that for our own module ..but to do that in the trunk requires permission, I guess.
21:58:53 <r0bby> er no
21:59:01 <maveriick> ??!
21:59:07 <r0bby> you have rights to commit everywhere -- you're just not supposed to
22:00:04 <maveriick> I just meant that as the ignore property affects everyone shouldn't we discuss it prior with others :) ?
22:00:33 <maveriick> r0bby, did you already commit the ignore property to trunk?
22:00:38 <r0bby> er no
22:00:50 <maveriick> I would be glad if you already did it :-D
22:01:49 <maveriick> docpaul, any problem in setting and committing those ignore property for IDEA project files in trunk?
22:02:26 <r0bby> just maveriick done
22:02:43 <r0bby> *.ipr *.iws *.iml
22:04:22 <r0bby> maveriick: I did the change
22:05:08 <maveriick> r0bby, great!!! thanks!! you are so quick!
22:05:33 <r0bby> and its in.
22:06:31 <r0bby> maveriick: svn up =)
22:08:40 <maveriick> r0bby, got it :-D
22:10:17 <r0bby> maveriick: you'll need to set the svn:ignore property for your module
22:10:34 <r0bby> it's set per-directory i believe
22:12:54 *** nribeka has joined #openmrs
22:19:53 *** njero has joined #openmrs
22:19:56 *** ChanServ sets mode: +v njero
22:31:57 <r0bby> =)
22:32:16 <r0bby> docpaul: this is gonna REALLY be cool
22:32:37 <r0bby> I just created a facility to search for forms!
22:33:06 <r0bby> I have utility methods to write tomorrow
22:33:23 <docpaul> i look forward to seeing it
22:33:56 <r0bby> http://dev.openmrs.org/browser/openmrs-modules/groovyforms/src/org/openmrs/module/groovyforms/metadata/model/GroovyFormsContainer.java?rev=4416
22:33:57 <OpenMRSBot> <http://ln-s.net/1tLx> (at dev.openmrs.org)
22:33:59 <r0bby> =D
22:34:21 * r0bby dances
22:35:01 <r0bby> docpaul: at the end (final 2 weeks or so) I wanna show implementors
22:35:30 <r0bby> I wanna make sure i didnt miss any bugs
22:39:44 *** bmckown has joined #openmrs
22:39:44 *** ChanServ sets mode: +o bmckown
22:40:19 <docpaul> sounds like a good plan
22:41:41 <bmckown> Thought my student might be here.
22:42:54 <r0bby> bmckown: do you have his/her gmail/google talk/aim etc?
22:43:14 <r0bby> docpaul
22:43:24 <r0bby> do I need to be worried about thread-safety with modules?
22:43:37 <r0bby> ie is an ArrayList okay or should it be syncronized?
22:43:59 <bmckown> Isn't irc and skype sufficent?
22:44:13 <bmckown> and alas e-mail
22:46:39 <bmckown> Okay. Well took care of that. Is e-mail the new snail-mail?
22:47:49 <bmckown> We do not synchronize our ArrayLists
22:48:07 <bmckown> As according to the Sun javadoc.
22:48:25 <bmckown> That is not anywhere in OpenMRS as of yet.
22:49:14 <bmckown> Probably do not need to worry about thread safety as long as you're not coding in Groovy.
22:49:39 <bmckown> (just teasing again with the last part) :-)
22:51:28 <bmckown> Okay. Gotta go. Bye.
22:51:33 *** bmckown has quit IRC
23:08:43 <r0bby> http://icanhascheezburger.files.wordpress.com/2008/05/funny-pictures-clue-cat-dead.jpg
23:08:44 <OpenMRSBot> <http://ln-s.net/1tM4> (at icanhascheezburger.files.wordpress.com)
23:31:34 <njero> r0bby: you around?
23:45:08 *** atomicturtle has joined #openmrs
23:46:23 <r0bby> yeh
23:46:33 <r0bby> docpaul your birthday is in 2 days apparently
23:46:38 <r0bby> gonna be an old(er) man :P
23:46:52 <r0bby> njero: pong
23:48:29 <r0bby> ...
23:54:07 <njero> r0bby: I didn't understand your email... why is ajax not possible?
23:58:26 <r0bby> my email?
23:58:32 <r0bby> it's 100% possible
23:58:44 <r0bby> but you have to understand the not even the backend is in place :P
23:59:03 <r0bby> a shitload of things need to happen behind the scenes to create the forms
23:59:32 <r0bby> including binding data types to form components :P
23:59:46 <r0bby> and templating :P