00:10:30
|
*** AndersG has joined #openmrs
|
00:13:40
|
*** AndersG has quit IRC
|
00:21:42
|
*** [mharrison] has joined #openmrs
|
02:51:32
|
*** OpenMRSBot` has joined #openmrs
|
02:51:33
|
*** OpenMRSBot has quit IRC
|
02:51:37
|
*** OpenMRSBot` is now known as OpenMRSBot
|
02:51:52
|
*** ChanServ sets mode: +o OpenMRSBot
|
04:21:57
|
*** sioraiocht has joined #openmrs
|
04:21:57
|
*** ChanServ sets mode: +v sioraiocht
|
06:23:21
|
*** TorLye has joined #openmrs
|
06:39:56
|
*** upul has quit IRC
|
06:47:23
|
*** huntp_ has joined #openmrs
|
06:49:37
|
*** huntp has quit IRC
|
06:53:28
|
*** james_regen has joined #openmrs
|
06:53:29
|
*** ChanServ sets mode: +v james_regen
|
07:05:54
|
*** bwolfe has joined #openmrs
|
07:05:54
|
*** ChanServ sets mode: +o bwolfe
|
07:40:21
|
* r0bby takes bwolfe's wallet
|
07:41:59
|
* bwolfe laughs maniacally
|
07:42:22
|
* bwolfe then remotely blows up the fake wallet
|
07:42:42
|
* r0bby dies
|
07:44:22
|
<r0bby> class time :>
|
08:48:52
|
*** atomicturtle has quit IRC
|
08:55:27
|
*** upul has joined #openmrs
|
09:23:39
|
*** atomicturtle has joined #openmrs
|
09:39:27
|
*** sioraiocht has quit IRC
|
09:45:49
|
*** nribeka_ has joined #openmrs
|
09:47:52
|
*** nribeka has quit IRC
|
09:49:57
|
*** TorLye has quit IRC
|
10:29:18
|
*** ChanServ sets mode: +v atomicturtle
|
10:29:25
|
*** atomicturtle has left #openmrs
|
10:31:13
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #827 (task closed): EncounterService.saveEncounter(Encounter) breaks instead of creating new Obs <http://dev.openmrs.org/ticket/827#comment:1> || OpenMRS Tickets: Ticket #992 (defect created): Person Attribute Type Changed By date doesn't change when Person Attribute Types are changed <http://dev.openmrs.org/ticket/992>
|
10:34:06
|
*** upul has quit IRC
|
11:09:34
|
*** TorLye has joined #openmrs
|
11:15:49
|
*** sprasanna has joined #openmrs
|
11:16:01
|
<sprasanna> bwolfe: hi ben
|
11:16:26
|
<sprasanna> bwolfe: now i am almost done with that patientForm...
|
11:16:53
|
<sprasanna> bwolfe: things go fine with new address creation and updating the first address created...
|
11:17:01
|
<sprasanna> bwolfe: but in all other cases it fails
|
11:17:54
|
<sprasanna> bwolfe: i mean like if i create a new secondary address it works fine but when i try to edit it fails but this is only with the secondary addresses primary address works fine everytime...
|
11:58:25
|
<bwolfe> sprasanna: ok
|
11:58:34
|
<bwolfe> so you are not using the dwr save anymore ?
|
11:58:59
|
<sprasanna> bwolfe: no i dont i just thought i could use but that made things too complicated
|
11:59:09
|
<bwolfe> sprasanna: good to hear! :-)
|
11:59:17
|
<bwolfe> is your latest code what you committed today ?
|
11:59:27
|
<sprasanna> bwolfe: yeah thats the latest
|
11:59:31
|
<bwolfe> can I check it out and it will display this error you're saying ?
|
11:59:48
|
<sprasanna> bwolfe: but dont get scared on seeing those codes.. you might get confused also :P
|
11:59:59
|
<sprasanna> bwolfe: i need to clean up them a lot ;)
|
12:00:20
|
<bwolfe> sprasanna: ok, no problem...theres plenty of time to clean up the code and make it neat and well commented.
|
12:00:32
|
<bwolfe> I understand that it is not the "final product" yet
|
12:00:35
|
<bwolfe> brb
|
12:00:40
|
*** bwolfe has quit IRC
|
12:00:42
|
<sprasanna> bwolfe: thank you
|
12:06:18
|
*** bwolfe has joined #openmrs
|
12:06:18
|
*** ChanServ sets mode: +o bwolfe
|
12:08:06
|
<bwolfe> sprasanna: checking out addresshierarchy now...
|
12:08:35
|
<sprasanna> bwolfe: thank you ben
|
12:12:12
|
<sprasanna> bwolfe: actually with a discussion with daniel i have implented one extra thing that user can edit the hierarchy components... like sub location 1 --> "SOME NAME" as they wish... so that it becomes more flexible
|
12:12:53
|
<bwolfe> I dont understand, do you mean the label is different or the column name is different ?
|
12:15:08
|
<sprasanna> bwolfe: yeah we dont touch column names at all.. we just let the user to rename if he wishes in the manage hierarchy page so that he sees them in the newPatientForm patientDashboard and PatientForm
|
12:15:23
|
<bwolfe> I see
|
12:15:32
|
<sprasanna> bwolfe: users are not allowed to change the column names right?
|
12:15:46
|
<bwolfe> not usually
|
12:16:23
|
<sprasanna> bwolfe: like instead of having things like sub location 1 2 3 and all we let users to have their own names... only for frontend alone...
|
12:16:24
|
*** bwolfe has quit IRC
|
12:17:12
|
*** bwolfe has joined #openmrs
|
12:17:12
|
*** ChanServ sets mode: +o bwolfe
|
12:17:39
|
<sprasanna> bwolfe: like instead of having things like sub location 1 2 3 and all we let users to have their own names... only for frontend alone...
|
12:18:06
|
<bwolfe> sprasanna: right now users can define their own address layouts in the openmrs-servlet.xml
|
12:18:27
|
<bwolfe> that allows them to label each with whatever they want
|
12:18:40
|
<sprasanna> bwolfe: with addresshierarchy module they can just do that in the manage hierarchy page
|
12:18:48
|
<bwolfe> but its not easy for an end-user or end-admin to edit the openmrs-servlet.xml
|
12:19:53
|
<sprasanna> bwolfe: yeah thats why we came up with such an idea.. he can either have sub location 1 2 3 etc or country state district taluk panchayat village etc etc
|
12:20:02
|
<bwolfe> right
|
12:20:04
|
<bwolfe> good
|
12:20:09
|
<sprasanna> :)
|
12:20:30
|
<bwolfe> I would like to see those xml address layouts in openmrs-servlet.xml move to global properties
|
12:21:08
|
<sprasanna> bwolfe: wouldnt that make things complicated?
|
12:21:23
|
<bwolfe> how so ?
|
12:22:16
|
<sprasanna> bwolfe: you mean just grabbing the things from openmrs-servlet.xml and dropping them into global properties?
|
12:22:52
|
<bwolfe> sprasanna: yes, taking what is there now, and putting it in everyone's database in the global property table
|
12:23:05
|
<bwolfe> then make a jsp page that lets a user add/edit each of those
|
12:23:31
|
<bwolfe> right now, in order to add/edit an address layout, you have to edit openmrs-servlet.xml and _rebuild_ openmrs....
|
12:23:43
|
<bwolfe> end-admins do _not_ want to rebuild openmrs! :-)
|
12:24:24
|
<sprasanna> bwolfe: yeah you are right... even in addresshierarchy module when you remove the module everything goes back to actual architecture...
|
12:24:57
|
*** nribeka_ has quit IRC
|
12:25:08
|
<sprasanna> bwolfe: how long did it take for you to build this entire openmrs system?
|
12:25:33
|
<sprasanna> sprasanna: last week i had a presentation in my class and people were wondering about things done in openmrs
|
12:26:29
|
<bwolfe> sprasanna: I started with openmrs exactly 3 years ago in 4 days
|
12:26:43
|
<bwolfe> sprasanna: but it wasn't just me...there are 5-6 other guys that also contribute a lot
|
12:26:53
|
<bwolfe> what were they wondering about openmrs?
|
12:27:15
|
<bwolfe> were they wanting to do projects for openmrs?? :-D
|
12:27:22
|
<sprasanna> sprasanna: they were just amazed by the way everything organized...
|
12:27:50
|
<bwolfe> are you talking to yourself sprasanna ? :-)
|
12:28:06
|
<bwolfe> the way the code is organized or the way the developers are organized ?
|
12:28:23
|
<sprasanna> bwolfe: yeah few of my friends are looking out for the projects in the projects page... hopefully you can expect 5 ppl from my class by next month :)
|
12:28:36
|
<bwolfe> sprasanna: very nice. well done!!
|
12:28:52
|
<bwolfe> sprasanna: I've been adding more small projects to the projects page recently for just htose kinds of people
|
12:28:56
|
<sprasanna> bwolfe: everything is really fine with openmrs... i cant find even a small scratch anywhere..
|
12:29:24
|
<bwolfe> haha, you're too kind. there are many small scratches...some are just too small to see without being close to it!
|
12:29:47
|
<bwolfe> sprasanna: you can also tell them to watch for minor or trivial tickets
|
12:30:06
|
<sprasanna> bwolfe: actually we have a cancer institute next to our college campus thinking about deploying openmrs there... but thats a government hospital so thats not so easy but we can implement this in our college hospital..
|
12:31:15
|
<sprasanna> bwolfe: yeah i will tell them to have a look at tickets...
|
12:31:59
|
<sprasanna> bwolfe: but even i dont have full knowledge about openmrs... its very vast actually...
|
12:32:43
|
<bwolfe> sprasanna: yeah, its getting to the point where even _I_ don't know everything about openmrs
|
12:33:06
|
<sprasanna> bwolfe: hehe...
|
12:33:16
|
<sprasanna> bwolfe: you are such a liar always :P
|
12:40:15
|
<bwolfe> sprasanna: two problems:
|
12:40:27
|
<bwolfe> 1) the "preferred" address is not showing up as the first one
|
12:40:29
|
<sprasanna> bwolfe: oh... thanks finally you found it
|
12:40:46
|
<sprasanna> oh,... i dint notice that
|
12:40:54
|
<sprasanna> i will do that right away
|
12:41:00
|
<bwolfe> 1) or maybe thats a different problem...but either way, the "preferred" address is always first in the patients .getAddresses() list
|
12:41:27
|
<bwolfe> 2) the reason its not saving is because you dont' have the right name attribute in the <input name="_____"> boxes
|
12:42:04
|
<bwolfe> for the second address in the patient, the names should be address[1].____
|
12:42:14
|
<sprasanna> bwolfe: actually im renaming everything dynamically to addresses[0].country etc etc
|
12:42:17
|
<bwolfe> just like for the first address for each patients its address[0].____
|
12:42:43
|
<sprasanna> bwolfe: it should be addresses right?? or should it be address??
|
12:43:10
|
<bwolfe> you are right, it should be addresses[1]....
|
12:44:06
|
<sprasanna> bwolfe: acutally im renaming everything dynamically when page loads addresses[0] for first address and addresses[1] for second and so one
|
12:44:12
|
<sprasanna> *so on
|
12:44:38
|
<bwolfe> but I'm not seeing addresses[1] for hte second one
|
12:44:43
|
<bwolfe> I see id1, etc
|
12:45:13
|
<sprasanna> bwolfe: actually id10 is id... in name you can find addresses[1]
|
12:45:18
|
<bwolfe> id10, id11 are address1 and address2 for the patient's second address
|
12:45:50
|
<bwolfe> ah yes, you ar eright again, I was looking at the "th" tag
|
12:46:28
|
<sprasanna> actually with addresses[0] everything just works find
|
12:46:28
|
<bwolfe> as and aside: "name" is not valid on a "th", is it ?
|
12:46:59
|
<sprasanna> bwolfe: not valid? is it so?
|
12:47:42
|
<sprasanna> bwolfe: all the problems comes when addresses are updated from addresses[1] [2] and so on
|
12:51:38
|
<bwolfe> sprasanna: the addresses[1] etc elements, are they in a div with id "addressData" ?
|
12:52:25
|
<sprasanna> bwolfe: yeah addresses[1] with address1Data addresses[2] with address2Data
|
12:53:07
|
<bwolfe> sprasanna: ok, well, look at the main <form> element on the editPatient page
|
12:53:34
|
<bwolfe> it has an onSubmit="removeBlankData()" call that is called when the user clicks "save"
|
12:53:45
|
<bwolfe> it deletes all html elements with id="addressData"
|
12:54:21
|
<bwolfe> (it is meant to delete the "empty" address element that is used by javascript to create an empty address for a user if they need it)
|
12:55:51
|
<sprasanna> bwolfe: yeah i get that and the when we click "new add address" the data is pulled from addressData right?
|
12:56:20
|
<bwolfe> sprasanna: yes.
|
12:56:57
|
<bwolfe> sprasanna: but the editPatient form removes all elements with id=addressData. so if you are naming your div that contains address[1]... "addressData", then it gets removed before the form is submitted
|
12:57:39
|
<sprasanna> bwolfe: no no i am not naming addresses[1] under addressData.. i place it under address1Data...
|
12:57:50
|
<bwolfe> I see
|
12:57:50
|
<bwolfe> ok
|
12:58:06
|
<sprasanna> bwolfe: under addressData elements will have only names like country stateProvince but not addresses
|
12:58:25
|
<sprasanna> bwolfe: and i guess thats the way it use to be in the actual page
|
12:58:43
|
<bwolfe> yeah
|
12:58:45
|
<bwolfe> you ar eright
|
12:59:59
|
<sprasanna> bwolfe: so now addresses[0] and elements in addressData i mean for new address creation works fine.. but the rest fails :(
|
13:05:30
|
*** nribeka has joined #openmrs
|
13:05:39
|
<bwolfe> sprasanna: seems like the addresses[0] is getting saved on top of addresses[1]
|
13:06:22
|
<sprasanna> bwolfe: oh no... how come thats possible?? because the patient form controller takes everything in an array na
|
13:13:46
|
<bwolfe> sprasanna: you have <input value="" name="addresses[1].country" id="addresse[0].country" type="text">
|
13:13:55
|
<bwolfe> does that effect anything ?
|
13:14:02
|
<bwolfe> are you getting things by id before submission ?
|
13:14:19
|
<bwolfe> all of you ids are missing a last "s" too
|
13:14:45
|
<sprasanna> bwolfe: actually im not... actually i dont need ids at all just for identifications i have that now...
|
13:15:11
|
<sprasanna> bwolfe: actually form controller pulls everything with names so we need not bother about ids
|
13:15:19
|
<bwolfe> right
|
13:15:28
|
<bwolfe> ok
|
13:15:44
|
<bwolfe> I just didn' tknow if you were doing some javascript that was copying things, etc
|
13:18:17
|
<sprasanna> bwolfe: no i thought i could do it that way but that was making things so complicated so im trying to fit it with the controller
|
13:18:25
|
<sprasanna> bwolfe: actually thats the best way
|
13:41:52
|
*** sprasanna has quit IRC
|
14:05:29
|
*** sioraiocht has joined #openmrs
|
14:05:29
|
*** ChanServ sets mode: +v sioraiocht
|
14:46:11
|
*** bwolfe_ has joined #openmrs
|
14:46:11
|
*** ChanServ sets mode: +o bwolfe_
|
14:48:13
|
*** bwolfe has quit IRC
|
14:48:38
|
*** bwolfe_ is now known as bwolfe
|
15:15:30
|
*** james_regen has quit IRC
|
15:39:28
|
*** nribeka has quit IRC
|
15:52:34
|
*** sioraiocht has quit IRC
|
16:20:55
|
*** nribeka has joined #openmrs
|
16:32:13
|
*** bwolfe has quit IRC
|
16:41:58
|
*** Keelhaul has quit IRC
|
17:15:44
|
*** bwolfe has joined #openmrs
|
17:15:44
|
*** ChanServ sets mode: +o bwolfe
|
17:30:34
|
*** TorLye has quit IRC
|
19:15:23
|
*** atomicturtle has joined #openmrs
|
19:28:22
|
*** OpenMRSBot has joined #openmrs
|
19:37:05
|
*** OpenMRSBot has joined #openmrs
|
19:41:07
|
*** OpenMRSBot has joined #openmrs
|
19:44:55
|
*** OpenMRSBot has joined #openmrs
|
19:50:01
|
*** OpenMRSBot has joined #openmrs
|
19:56:37
|
*** OpenMRSBot has joined #openmrs
|
20:00:57
|
*** OpenMRSBot has joined #openmrs
|
20:00:57
|
<bwolfe> just me and the bot ??
|
20:00:59
|
<bwolfe> wow
|
20:01:04
|
<bwolfe> echo
|
20:01:05
|
<bwolfe> echo
|
20:01:08
|
<bwolfe> echo
|
20:01:10
|
*** nribeka has joined #openmrs
|
20:01:10
|
*** atomicturtle has joined #openmrs
|
20:01:10
|
*** huntp_ has joined #openmrs
|
20:01:10
|
*** [mharrison] has joined #openmrs
|
20:01:10
|
*** jacobb has joined #openmrs
|
20:01:10
|
*** Echidna has joined #openmrs
|
20:01:10
|
*** r0bby has joined #openmrs
|
20:01:10
|
*** hexmode has joined #openmrs
|
20:01:10
|
*** irc.freenode.net sets mode: +v r0bby
|
20:01:10
|
<bwolfe> echo
|
20:01:12
|
<bwolfe> hellooooooooo
|
20:01:13
|
<bwolfe> oooooooo
|
20:01:16
|
<bwolfe> ooooooo
|
20:01:18
|
<bwolfe> ooooo
|
20:01:19
|
<bwolfe> o
|
20:01:38
|
<nribeka> alone bwolfe :P
|
20:01:51
|
<bwolfe> I was there for a while
|
20:01:58
|
<bwolfe> just me and the bot :-)
|
20:02:08
|
<nribeka> hahaha ...
|
20:02:26
|
<nribeka> how's the junit going?
|
20:03:50
|
<bwolfe> its done
|
20:03:59
|
<bwolfe> the junit-a-thon anyway
|
20:03:59
|
<nribeka> i wish i'm good at writing test. any good point out for writing junit bwolfe?
|
20:04:03
|
<nribeka> i mean something like books or wikis
|
20:04:25
|
<bwolfe> those links I sent to the dev list are good
|
20:04:29
|
<bwolfe> they're pretty simple
|
20:04:38
|
<bwolfe> !junit
|
20:04:38
|
<OpenMRSBot> bwolfe: "junit" --- OpenMRS uses unit testing. See http://openmrs.org/wiki/Unit_Testing and http://openmrs.org/wiki/Module_Unit_Testing
|
20:05:24
|
<nribeka> i like the idea of behavior testing :D
|
20:14:02
|
* nribeka is listening some old song :D
|
20:44:21
|
<bwolfe> nribeka: is that what you were wanting...or were you wanting something else to read?
|
20:45:14
|
<nribeka> yeps. i'm reading the best practice right now
|
20:45:25
|
<nribeka> sometime i just clueless on what to test
|
20:45:49
|
<nribeka> i'm clueless on what to write in the test bwolfe
|
20:46:11
|
<bwolfe> nribeka: ah yes
|
20:47:26
|
<bwolfe> well, thats why we're going to annotate the code with @should statements that say what needs tested
|
20:47:52
|
<bwolfe> then you could come along later and write a quick unit test that implements one of those @should 's if you wanted to :-)
|
20:47:53
|
<nribeka> @should will be put in the api methods?
|
20:47:59
|
<bwolfe> yeah
|
20:48:10
|
<nribeka> ah ic ic
|
20:48:23
|
<nribeka> how would you decide on where to put the should bwolfe?
|
20:49:43
|
<bwolfe> what do you mean ?
|
20:50:33
|
<bwolfe> nribeka: http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/ is pretty good too
|
20:50:38
|
<OpenMRSBot> <http://ln-s.net/2:be> (at www.cavdar.net)
|
20:50:53
|
<nribeka> bookmarking
|
20:52:22
|
<nribeka> say we have 10 method in our class. do we need to test all of them bwolfe?
|
20:52:46
|
<bwolfe> yep, probably
|
20:52:51
|
<bwolfe> probably a few tests for each of them
|
20:53:55
|
<nribeka> a few test? can you explain more on that bwolfe? :D
|
20:54:10
|
<nribeka> *late night junit with bwolfe*
|
20:54:29
|
<bwolfe> each method probably has a few different "behaviors"
|
20:54:44
|
<bwolfe> meaning that each method can be used with a few different parameters, a few different environments, etc
|
20:55:38
|
<bwolfe> so you have to write the "happy test" where the parameters and environment are all what you would expect them to be
|
20:56:15
|
<bwolfe> and then you have a write a test where you get bad input from the user or the database has some bad data
|
20:57:07
|
<nribeka> wow ...
|
20:57:31
|
<nribeka> so to sum it up. the rule of thumb is (more-less):
|
20:58:27
|
<nribeka> - write few test for EACH method based on the input parameters and test it also using bad input
|
20:59:20
|
<bwolfe> yep
|
20:59:24
|
<bwolfe> thats it exactly
|
20:59:34
|
<bwolfe> it takes 20 milliseconds for a test to run
|
20:59:52
|
<nribeka> wow ... so there's tons of test to write then? *wheeeww*
|
21:00:05
|
<bwolfe> so having a whole lot of them is not bad
|
21:00:13
|
<bwolfe> yep, tons of tests to write
|
21:01:38
|
<nribeka> how's the junit-a-thon? how many test do we get?
|
21:02:26
|
<bwolfe> well, we didn't end up writing that many
|
21:02:41
|
<bwolfe> as paul said, us writing tests would have "been peeing in the ocean"
|
21:02:42
|
<bwolfe> :-)
|
21:03:08
|
<bwolfe> but we did figure out a process for testing and a way forward for other devs (like you and other students) to help us with it!
|
21:06:43
|
<nribeka> ah sure :)
|
21:06:54
|
<nribeka> will be happy to help :D
|
21:09:09
|
<nribeka> hope i can learn lots about junit hehehe
|
21:15:56
|
<bwolfe> eh, if you know java, you know junit
|
21:21:10
|
*** upul has joined #openmrs
|
21:54:45
|
<nribeka> i know junit :D
|
21:54:54
|
<nribeka> *was on phone*
|
22:07:51
|
*** bwolfe has quit IRC
|
22:46:54
|
*** nribeka has quit IRC
|
23:09:38
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1002 (defect created): Add commenting to concepts in occ <http://dev.openmrs.org/ticket/1002> || OpenMRS Tickets: Ticket #1001 (enhancement created): Add "I don't like this concept" button in occmodule <http://dev.openmrs.org/ticket/1001> || OpenMRS Tickets: Ticket #1000 (task created): Create a scheduled task to "send concpets to occ" in occmodule <http://dev.openmrs.org/ticket/1000> || OpenMRS Tickets: Ticket #999 (defect created): Fix occ concept name display <http://dev.openmrs.org/ticket/999> || OpenMRS Tickets: Ticket #998 (task created): Create occ page to see the just uploaded concepts <http://dev.openmrs.org/ticket/998> || OpenMRS Tickets: Ticket #997 (task created): Add ability to browse occ results in occmodule <http://dev.openmrs.org/ticket/997> || OpenMRS Tickets: Ticket #996 (task created): Fix OCC Concept results/listing to be smart about mappings <http://dev.openmrs.org/ticket/996> || OpenMRS Tickets: Ticket #995 (defect created): Fix the OCC Database connection timeout <http://dev.openmrs.org/ticket/995> || OpenMRS Tickets: Ticket #994 (task created): Create a new Auto Mapping page <http://dev.openmrs.org/ticket/994> || OpenMRS Tickets: Ticket #993 (task created): Write "Add User" capability to OCC <http://dev.openmrs.org/ticket/993>
|
23:45:01
|
*** huntp_ has quit IRC
|