Evergreen ILS Website

IRC log for #evergreen, 2013-10-25

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat

All times shown according to the server's local time.

Time Nick Message
04:59 kayals_ joined #evergreen
06:38 kbeswick joined #evergreen
07:37 rjackson-isl joined #evergreen
07:42 jboyer-isl joined #evergreen
07:50 jboyer-isl joined #evergreen
08:19 adbowling-isl joined #evergreen
08:27 Shae joined #evergreen
08:31 timlaptop joined #evergreen
08:34 kbeswick joined #evergreen
08:39 akilsdonk joined #evergreen
08:45 Dyrcona joined #evergreen
08:51 mmorgan joined #evergreen
09:05 ericar joined #evergreen
09:14 mmorgan Seems like it shoul be possible to block a patron for an invalid mailing address, is it?
09:14 tsbere mmorgan: You can block for anything you want. Automatically block for is a different story...
09:15 mmorgan I do mean automatically...
09:16 rfrasur joined #evergreen
09:16 mmorgan In the INVALID_PATRON_ADDRESS standing penalty, I added a block list and changed staff_alert to TRUE, but it doesn't do anything.
09:18 jeff mmorgan: did you confirm that the penalty shows up on the patron account?
09:18 jeff mmorgan: are you manually adding the penalty?
09:19 mmorgan The penalty doesn't show up on the patron account. I didn't add it manually.
09:19 jeff typically that penalty is added when a patron is saved and they have an address marked "invalid", but only if the org unit setting circ.patron_invalid_address_apply_penalty is set.
09:20 jeff have you checked that org unit setting?
09:20 mmorgan That's what I was hoping to do. I'll check the org unit setting.
09:26 mmorgan Ok, fixed the org setting, but I'm not seeing a penalty get added when I invalidate an address. Is there anything else to check?
09:29 jeff is your INVALID_PATRON_ADDRESS penalty id 29 in config.standing_penalty?
09:29 mmorgan Yes, it is id 29
09:30 jeff After retrieving a patron, then marking an address as invalid and saving the patron, did you refresh or re-retrieve the patron in a new tab, and you don't see the invalid address penalty?
09:32 mmorgan Yes, I retrieved a patron, unchecked the "valid address" checkbox and saved. Then re-retrieved the patron, even logged out and in again. I see (Invalid Address) in red below the patron's name, but no penalty :-(
09:34 jeff odd. if you query the database, can you see an invalid address penalty for that patron? SELECT * FROM actor.usr_standing_penalty WHERE usr = 123 AND standing_penalty = 29;
09:35 jeff if you see it in the db but not in the staff client, you might be running into a user home_ou vs workstation ws_ou combined with depth of penalty issue.
09:37 mmorgan Yes! it is in the usr_standing_penalty table.
09:38 jeff aha. so, next question... what is the depth of the penalty as configured -- SELECT org_depth FROM config.standing_penalty WHERE id = 28;
09:38 mmorgan org_depth for the penalty is blank. If I want it to appear everywhere, should I set it to 0?
09:39 mmorgan SELECT org_depth FROM config.standing_penalty WHERE id = 28 gives me NULL
09:42 mmorgan AHA! Working now! I did set the org depth to 0 and that did the trick.
09:42 jeff What is the org_unit value for the actor.usr_standing_penalty entry for that user for standing_penalty 28?
09:42 jeff sounds reasonable!
09:43 jeff i expect that the entry in actor.usr_standing_penalty for standing_penalty 28 for that user had an org_unit value of the user's home_ou, and that likely was different from your workstation ou.
09:45 mmorgan yes, the workstation ou is different from the patron's home ou. A lot of the standing penalties have no value in org_depth. Sounds like they should have a value there.
09:46 mmorgan I will need to think on that. Thanks jeff!! You have been extremely helpful!
09:46 mmorgan jeff++
09:50 jeff mmorgan: you're welcome!
09:56 jeff I am wondering about useful defaults for org_depth, especially on that particular penalty.
10:01 yboston joined #evergreen
10:03 mmorgan Useful defaults for the org_depth on the standing penalties would be, well, useful.
10:04 jeff I'm trying to think of any cases where a null depth is useful for that penalty.
10:05 mmorgan I would think that the standing penalties should work in some predictable manner out of the box. I'm not sure what the NULL does there - except make it not work predictably.
10:06 jeff in the case of this penalty, the null depth means that the invalid address penalty is set at the user's home library, and no higher.
10:07 jeff so if you retrieved that patron on a workstation associated with that patron's home library, you'd have seen the penalty, received the alert, circ would have been blocked, etc.
10:07 jeff actually, the block might have taken effect on a wider scale.
10:07 jeff i'd have to research.
10:08 jeff i know that there was (at least at one time) a bug where you could have penalties that blocked but did not display in the staff client.
10:08 tsbere jeff: At this point I think you can do that intentionally...
10:10 mmorgan So, for this penalty, would the NULL act the same way as if the org_depth were set at 3 (assuming the patron's home ou is at that depth)?
10:10 jeff yes. the null in this case just says "don't do any depth adjustment when setting the penalty"
10:11 tsbere null depth I think means "use workstation library when it is set", not the home library...
10:11 jeff tsbere: it depends on if you're setting manually. in this case, it was a system set (at update user time) penalty.
10:12 jeff but tsbere raises a good point. if you had set the penalty manually from the staff client, it would have been set at your workstation_ou, with no adjustment for depth.
10:12 jeff from the perl code where this penalty is set, the logic is:
10:12 jeff my $ctx_org = $U->org_unit_ancestor_at_depth($patron->home_ou, $depth) if defined $depth;
10:12 jeff $ctx_org = $patron->home_ou unless defined $ctx_org;
10:13 jeff
10:13 jeff and $depth here is the value from config.standing_penalty.org_depth
10:13 tsbere ok
10:13 alexlazar joined #evergreen
10:13 tsbere didn't know that part of the code did the check that way, I was thinking of other code I poked at recently
10:23 mrpeters joined #evergreen
10:29 Bmagic Anyone know the DB flag that makes the staff client  show red unpaid fines? We have  some actor.usr rows that show in the staff client as good standing even though they clearing have a bill
10:30 Bmagic s/clearing/clearly/g
10:32 mmorgan Our fines show red if the amount exceeds the group penalty threshold, not if it's under.
10:35 jeff Bmagic: where in the staff client are you expecting to see the red color?
10:36 Bmagic on the patron screen
10:36 Bmagic lookup patron by barcode, type barcode, press enter, the resulting screen
10:36 * rfrasur really wants an on-site maintenance person.
10:37 jeff Bmagic: okay, where exactly on that screen?
10:38 Bmagic The rectangle around the name of the patron I guess. We expect it to at least alert  "unpaid fines" without having to look at the bills section
10:39 Dyrcona Bmagic: I believe it does that already.
10:39 jeff Bmagic: you should see a (Has bills) indicator beneath the patron and a dollar amount under Bills, as well as a dollar amount in the patron summary labeled Bills: -- do you not see any of those?
10:39 Bmagic These bills were inserted into the DB directly using sql. Not using the fine_generator. I assume that we missed something
10:40 jeff Bmagic: If you don't see something like (Maximum Bills) or a specific color around the patron, you may find that the Refresh button will cause those to show up -- in that case, it's a matter of the system-maintained penalties needing to be re-calculated.
10:40 Bmagic we do not get that (Has Bills)
10:40 jeff Ah. I'd assume you missed something also.
10:40 Bmagic refresh does not create that alert
10:40 jeff In this case, I would no longer expect it to.
10:40 Dyrcona Bmagic: You have voided your Evergreen warranty. We cannot help you. :p
10:40 RoganH joined #evergreen
10:41 Bmagic :)
10:41 jeff Some of us are willing to try, though. :-)
10:41 Bmagic we had incorrect loan rules when we migrated the data in
10:42 Bmagic we corrected the loan rules, then removed all of the auto generated fines
10:42 Bmagic and ran fine_generator again
10:42 Bmagic basically
10:42 rfrasur Evergreen_Warranty++
10:42 jeff Bmagic: start with examining the entries in money.materialized_billable_xact_summary that have a usr column matching the user id you are examining.
10:43 Bmagic alrighty
10:43 jeff see if the values match with reality.
10:43 Dyrcona Bmagic: Did you do the above or did you insert the billings with SQL?
10:43 jeff and also, how did you remove all of the auto generated fines?
10:44 RoganH I'm in the middle of a meeting and have a quick "is this viable" question.  I haven't done much with the OPAC search features in a while but can I have the default search in staff client exclude an item form?
10:44 Bmagic delete from money.billing where xact=(select xact from money.billable_xact where............
10:45 Dyrcona jeff Bmagic Looks like that would do it provided the subquery is correct.
10:45 Bmagic we are happy with the results
10:45 Dyrcona Bmagic: Did you also reset the stop-fines etc, on the transactions.
10:45 Bmagic weeks later, we find that there is this (Has Bills) issue
10:46 Bmagic yep
10:46 rfrasur Um, this conference is giving 2-3 day attendees a Google Chromebook...and 2 day registration is $325.   You basically get the conference for $25.
10:46 rfrasur https://hecc.k12.in.us/conference/
10:48 jeff RoganH: quick response is, maybe, but bordering on the maybe not side of maybe. what exactly do you mean by item form, and what's the underlying idea?
10:48 jeff Bmagic: what version of Evergreen are you on?
10:48 Bmagic jeff: 2.4.2
10:49 dbs rfrasur: Chromebooks have become pretty good recently; my wife has been using the first commercially available one (Samsung series 5 from 2011) as her primary laptop for the past year
10:49 Bmagic jeff: correction 2.4.1
10:50 RoganH jeff: evergreen 2.4 one library has a lot of electronic holdings added and they're marked in the 007 with the c but it's flooding seaches in opac for other libraries
10:50 rfrasur dbs: I've been rolling the idea around of getting 5 or 6 to loan out to patrons.  So long as they have decent internet connection (which of course they do) and access to some decent productivity software...they're a nice, inexpensive solution.
10:51 * rfrasur happens to also be a bit of a Samsung fangirl
10:51 DPearl1 joined #evergreen
10:53 jeff Bmagic: the (Has bills) indicator in the staff client uses an API call that consults the view money.materialized_billable_xact_summary
10:53 jeff er.
10:53 jeff scratch that. mispaste.
10:53 Bmagic I think my problem is a row needs to be in actor.usr_standing_penalty
10:53 jeff the API call uses the database view money.open_usr_summary which is based on the materialized view money.materialized_billable_xact_summary
10:53 dbs rfrasur: yeah, I'm away from the day-to-day business of our library at the moment, but as soon as the Acer C720 or HP 11 are available in Canada I'm going to suggest we buy those instead of trying to keep ailing Windows-based laptops running
10:53 rfrasur dbs++
10:54 DPearl joined #evergreen
10:54 dbs (our university adopted Google Apps recently so the students should even be able to log into their proper accounts!)
10:55 rfrasur We have TWO (pointless) laptops of the clunky Toshiba traditional HD variety...from 2009 which we could use for staff...and stop pretending that people are borrowing them for college homework...
10:55 rfrasur They're borrowing them to get on Facebook...and a Chromebook would be more than enough for that.
10:55 Bmagic jeff: ok, I think your right:   select * from money.open_usr_summary where usr = (select id from actor.usr where usrname='xxxxx')
10:56 jeff Bmagic: the (Has bills) indicator in the staff client does not depend on any standing penalties being set.
10:56 rfrasur dbs: I'm trying desperately to now force our patrons/staff to go to all Google all the time...but it's hard when the products are so good and so cheap (usually free).
10:56 Dyrcona The red box does, like patron exceeds fines, or lost items and so on.
10:56 jeff Dyrcona: yup
10:56 Bmagic jeff: So, the question is, how do I get the DB to re-calculate money.open_usr_summary ?
10:56 dbs rfrasur: Agreed - assuming you mean "not" instead of "now" :)
10:57 rfrasur dbs: s/now/not
10:57 * Dyrcona suspects Google of being clandestinely evil.
10:57 rfrasur hah!  snow not.  snow snot.  squirrel.  Okay...must go administer.
10:58 rfrasur Dyrcona: come to the dark side.
10:58 Dyrcona I have an Android phone, so..... I'm already there.
10:59 rfrasur_administ At least we get red light sabres...sabers...thingies.
10:59 jeff Bmagic: if you have time and means to pick a user, obscure the user details per your preferences, and paste the output of some queries, let me know.
10:59 dbs Dyrcona: casually evil, maybe
10:59 jeff Bmagic: alternately, if you're talking about a small enough batch of users/transactions that you don't care about re-creating every row in that materialized view, let me know that too. :-)
11:00 Bmagic this cant be done in mass?
11:00 * Dyrcona wonders if "casually evil" is meant to be "better" than just evil.....
11:01 jeff Bmagic: no, it should be able to be done i a big batch... it's just i don't know what "big" means in your case.
11:02 * dbs steps away from the "evil" discussion to avoid diminishing the impact that real evil has had on the world historically
11:03 jeff Bmagic: doing some digging is probably required to see what's wrong before just attempting to re-generate the rows in money.materialized_billable_xact_summary
11:05 * Dyrcona agrees with jeff.
11:06 Bmagic select usr,total_paid,total_owed,balance_owed,(select sum(amount) from money.billing where xact in(select id from money.billable_xact where usr=a.usr)) from money.open_usr_summary a where balance_owed=0 and usr in(select id from actor.usr where home_ou in(148,150))
11:07 Bmagic seems to show me the 0 balance people against the total of money.billing
11:07 RBecker joined #evergreen
11:08 jeff Bmagic: do the transactions in question have corresponding rows in money.materialized_billable_xact_summary?
11:08 Bmagic yes
11:09 Bmagic looks like I am talking about 209 users that have balance=0 when money.billing adds up to > 0
11:10 Dyrcona I don't think deleting from money.billing affects money.materialized_billable_xact_summary does it?
11:10 Dyrcona That could be out of whack.
11:11 Dyrcona Someone should look at the triggers again to verify either way.
11:11 jeff there's a trigger that should account for that: CREATE TRIGGER mat_summary_del_tgr BEFORE DELETE ON money.billing FOR EACH ROW EXECUTE PROCEDURE money.materialized_summary_billing_del ();
11:11 jeff (i'm consulting rel_2_4, not Bmagic's live db)
11:12 Dyrcona OK. I would have looked at my development db.
11:12 jeff now that the formerly not-materialized view just points at the materialized view, i don't think that there's an easy way to re-gen mmbxs.
11:13 Bmagic it's not as simple as update balanced_owed?
11:13 jeff though if the rows exist in mmbxs, in theory you could force a run of the update trigger by adding a zero billing. :-)
11:13 eeevil jeff: that can be regenerated ... sec
11:13 jeff eeevil: thanks!
11:13 jeff eeevil++
11:16 Bmagic I did a quick query to see where balanced_owed != sum(money.billing.amount) and found lots
11:18 jeff well, keep in mind that the results of that query likely did not take into account payments.
11:19 jeff comparing sum(money.billing.amount) and money.materialized_billabl​e_xact_summary.total_owed (i'm going to start calling it mmbxs again now) might be a useful comparison for you.
11:19 Bmagic jeff: Im slowly understanding more, and that dawned on me
11:20 jeff for speed, the mmbxs table exists as a "materialized view" -- a view that isn't a view, but has triggers which are intended to keep it up to date as the data in other tables changes.
11:21 eeevil jeff: I LIED! at least, there's no way in the db, but 080.schema.money.sql has the spell to do it
11:21 jeff in your case, i think the migration and post migration cleanup may have gotten it out of sync.
11:21 jeff eeevil: liar! :-)
11:22 eeevil lines 215-260, just replace the CREATE TABLE with a TRUNCATE
11:23 jeff Bmagic: as eeevil indicated, the source sql file 080.schema.money.sql should give you the info you need to rebuild that materialized view -- but i'd recommend caution. test on a non-production copy of your database, and read / understand / ask questions here until you're comfortable with doing it.
11:24 * dbs swore there was a "refresh materialized billable xact summary" function, too
11:25 eeevil dbs: I couldn't find it, but, yeah, I thought there was one
11:26 Bmagic jeff: Right on. I'm working with test db right now. Just so I understand, the operation would be to delete all rows inside of the  mmbxs , the recreate with the 080.schema.money.sql ?
11:26 eeevil dbs: I bet we're thinking of the "simple record extracts" matview
11:26 jeff I think it used to be "truncate mmbxs and insert from mbxs", but for a while now mbxs has just been a pointer to mmbxs.
11:27 jeff Bmagic: essentially, but you can use TRUNCATE on the mmbxs table, and you don't need all of that sql file to re-create things.
11:27 * dbs might have built a refresh_mmbxs function locally after a botched upgrade in the long past...
11:28 jeff dbs: that also rings a bell, i just thought it existed in at least an upgrade script -- i might also be thinking of part of 0174.schema.money.nulls-in-mmbxs-fix.sql
11:29 jeff (which uses the truncate then insert from mbxs method)
11:29 Bmagic it will take me some time to have results, Thank you everyone for pointing me in the right direction!
11:30 jeff Bmagic++
11:30 jeff good luck!
11:34 frank____ joined #evergreen
11:35 frank____ hi there, I'd want to know if someone knows why if I create another administrator account, this doesn't have the same permissions as the admin?
11:38 jeff frank____: in addition to the profile group for the user, there are explicit permissions and a user flag that can come into play on the original admin user. thereis a super_user field in actor.usr and an EVERYTHING permission.
11:41 Dyrcona frank____: Users can also be added to extra groups via permission.usr_grp_map in the database. There's an interface in the GUI for that somewhere.
11:42 Dyrcona For instance, my profile is one thing that grants little permission, but by having an entry in usr_grp_map, I have more permissions.
11:42 Dyrcona If I know longer work here, that entry can be removed, and I am a regular user again.
11:44 frank____ I have in usr_perm_map the flag -1 in the id user value
11:45 Dyrcona frank____: Does your new admin user have a usr_work_ou_map entry?
11:46 Dyrcona If not, add one. If so, the permission likely only applies at that ou and its children.
11:46 Dyrcona If you want it to apply everywhere, then set usr_work_ou_map to 1.
11:47 frank____ OK, then do I have to run something?
11:48 Dyrcona frank____: Might have to quit the client and then log back in.
11:51 frank____ Dyrcona: I did it, but I can't get that the new admin user could edit an mfhd, It can create, but not update or delete
11:51 jeff just as a troubleshooting step... can the existing/original admin user update or delete that same record?
11:52 Dyrcona frank____: What version of Evergreen?
11:52 frank____ 2.4.2
11:53 Dyrcona Well, then it is probably not what I was thinking.
11:53 frank____ jeff: yes
11:53 Dyrcona There was a bug that if permissions didn't exist, then even users with EVERYTHING could still not do them.
11:53 Dyrcona That was fixed long before 2.4.0, so....
11:56 frank____ the weird part is that all the other permissions work fine
11:57 Dyrcona frank____: Can you paste any error messages you get to this page: http://paste.evergreen-ils.org/
11:57 Dyrcona be back in a few minutes. going to pick up some lunch.
11:58 frank____ thanks
12:37 kmlussier joined #evergreen
12:52 Bmagic jeff: so, new information, the xact_finish date seems to be my problem. The rows are there in mmbxs but they are not surfacing in money.open_usr_summary because xact_finish != null
12:53 jeff ah!
12:53 jeff yep, that would do it. closed transactions with non-zero balances.
12:53 Bmagic jeff: when does a transaction get closed?
12:54 jeff usually when it hits a zero balance -- AND when there is a checkin_time, in the case of circ transaction.
12:54 Dyrcona Bmagic: When Jupiter aligns with Mars.... Oh wait. That's something else.
12:54 Bmagic :)
12:55 Dyrcona If there is a zero balance when it is checked in, too. Just to be perfectly clear.
12:56 jeff Bmagic: i suspect you're running into things where they did not have fines, were checked in, then you added fines manually to the db.
12:56 rfrasur okay...does this sound crazy?  having the library provide each and every staff member (in this case...9 employees...including pages) with some type of computing device...like either a nexus tablet or a chromebook? (not TOO expensive)
12:56 Dyrcona rfrasur: Do they need it to do their job?
12:57 rfrasur of course.  We work in a library.
12:57 jeff rfrasur: not unheard of. i've also heard of workplaces giving employees an equipment subsidy combined with a "bring your own device" program.
12:57 rfrasur If nothing else, they need to use them to know how to teach patrons.
12:57 Bmagic jeff: That is probably it, so, I need to nullify those? is that safe?
12:58 rfrasur so...in a perfect world...if you were doing something like that for your staff? and could choose between three devices...what three would you go with?
12:59 jeff Bmagic: off the top of my head, setting the affected entries in action.circulation to have a NULL xact_finish value should help you out here, yes.
12:59 rfrasur umm...in a perfect, cheapish world
12:59 Bmagic jeff: would that trigger money.billable_xact to get the same update?
12:59 jeff Bmagic: yes, because action.circulation is a child table of money.billable_xact
13:00 * Dyrcona doesn't work in an actual library and probably has a higher equipment budget than rfrasur, so won't answer.
13:00 jeff rfrasur: consider having one of each for staff to evaluate, and let them choose?
13:00 rfrasur Dyrcona: forget the budget...and just think about entry levelish.
13:01 jeff rfrasur: also, it's worth doing a quick inventory of "these are the things that we can do on both the devices and on our library desktop/laptop computers"
13:01 Dyrcona rfrasur: Until there are decent Evergreen tools for Android, I would probably just get cheapish laptops.
13:01 jeff rfrasur: for example, without a remote desktop client or citrix client, you're not going to be running the full evergreen staff client on a chromebook or nexus today.
13:02 rfrasur I'm not worried about running the staff client on whatever it is.
13:02 rfrasur We have stuff already for that.
13:02 jeff just making sure. :-)
13:02 Dyrcona Well, what are these going to be used for?
13:03 rfrasur Just because...and so they become more comfortable in the mobile (but not necessarily mobile connection), digital environment.
13:04 rfrasur So they understand the diff between the internet and internet explorer and email vs. an email client because they're practicing.
13:05 Dyrcona rfrasur: Good luck with that!
13:05 rfrasur So they can download a digital book/audiobook with ease.  So they can communicate with all the people about all the things (okay...that's maybe a little much)
13:06 Dyrcona Buy them a bag of Dum-Dums.
13:06 rfrasur that'd be too obvious :D
13:07 ericar joined #evergreen
13:09 jcamins rfrasur: and the idea is that the staff members would be taking the tablets home with them and therefore using the for fun and profit?
13:10 rfrasur jcamins: They'd be theirs to use with the stipulation that I'd be periodically assess their knowledge with it...and at the end of a year, they'd own it.
13:10 rfrasur I wouldn't actually look where they were surfing or anything...but just assess benchmarks (can you download an app from the app store...have you accessed your library account...or whatever).
13:11 jcamins rfrasur: Maybe I'm just a luddite, but I feel like after the first... week... the novelty would wear off, and I'd stop learning how to use it.
13:12 rfrasur jcamins: well...here's the thing.  We're going to be instituting mandatory technology benchmarks that staff HAVE to meet...and I'm trying to go the positive reinforcement way rather than the negative consequence way (even though it'll still be there)
13:12 jcamins Could you do some sort of rotation thing, so that everyone could try each one?
13:12 rfrasur a spoonful of sugar and all that.
13:13 Dyrcona "mandatory technology benchmarks that staff HAVE to meet" That's a novel concept.
13:13 jcamins I mean, if you're giving them three options, how do they know they made the best choice if they don't get to try any of the other options?
13:13 rfrasur yes...except I think that some of them will only ever do one aspect...and I'd theoretically like to play to their strengths and interests.
13:13 Dyrcona I shall reiterate: rfrasur, I wish you were a director in my consortium.
13:14 Dyrcona I don't think it matters so much which device you get them.
13:14 rfrasur jcamins, we'd do some matching beforehand...but not a full petting zoo...although...actually, I might be able to do that...hmmm.
13:14 rfrasur Dyrcona: have I mentioned how desperately sick I am of libraries trailing in the information game?
13:14 * rfrasur is desperately sick of it.
13:14 Dyrcona The key thing would be to get some instructional sessions and exercises that will lead to understanding.
13:15 rfrasur of course
13:15 jcamins Sure, I wouldn't expect them to *master* every single aspect of every device. But if you are learning because you want to know which device is best for you,  you have a double incentive.
13:15 * Dyrcona is also.
13:15 jcamins I don't really know how to use my smartphone.
13:15 rfrasur jcamins: good point.
13:15 jcamins The one I've had for almost three years.
13:15 Dyrcona I find that library staff in general lack the basic frame of reference to make good use of technology.
13:15 rfrasur but you know how to use it for what you use it for
13:15 jcamins If you were to give me two phones, and say "choose one," I would probably learn to use both.
13:16 jcamins I mean, really learn.
13:16 jcamins Not just bang-phone-on-table-until-something-happens.
13:16 rfrasur Dyrcona: yes...and I'm not sure I can completely address that...but can at least get a few things dialed in...maybe.
13:16 Dyrcona rfrasur: I like them to pacific islanders in 1947 with coconuts strapped to their heads and waving palm fronds at the end of a cracked runway.
13:16 * rfrasur is gonna at least try.
13:17 Dyrcona s/like/liken/
13:17 jcamins (and, yes, my smartphone requires periodic banging on the table to function)
13:17 rfrasur Dyrcona: That's just about right.
13:17 rfrasur jcamins: Mine requires a battery reset often...another reason I don't want an iphone...the fear that I can't take the battery out.
13:18 jcamins rfrasur: the banging on the table is part of the process for getting it open to remove the battery.
13:18 rfrasur haha!  yes!
13:21 Dyrcona I think it would be better to have a variety of devices so that they can learn that they are not all the same, but at the same time have many concepts in common.
13:21 jcamins Agreed.
13:21 rfrasur yeah, I think you're both right.  The state library actually has a collection of devices that they loan out to libraries that would be a good place to start and then go from there.
13:22 jcamins And you can use this as an opportunity to discuss Ranganathan's rules.
13:22 rfrasur So staff could touch them and then see what type of thing is the best fit.
13:22 rfrasur jcamins: no
13:22 jcamins "Every device its person," "every person its device."
13:22 Dyrcona jcamins++
13:23 * rfrasur isn't going to bring up anything that sounds like a fantasy novel character.  Even if it's a good one.
13:23 jcamins Speaking of fantasy novels, I'd forgotten how enjoyable a writer Lois McMaster Bujold was.
13:23 jcamins Just thought I'd share that thought.
13:24 jcamins What kinds of devices does the state library have?
13:24 rfrasur I don't remember beyond basic tablets and ereaders.  Trying to get someone on the phone...since I can't find the list on the website.
13:24 ningalls joined #evergreen
13:24 Dyrcona jcamins: I think many librarians forget the fifth law, or rather preferred it didn't apply to them as well.
13:25 kmlussier rfrasur: In my previous job, we pulled together a technology sandbox that we would bring to libraries to get them to try out lots of different devices. We had a lot of fun with it.
13:25 jcamins Heh.
13:25 rfrasur Dyrcona: Yes
13:26 rfrasur kmlussier: that's what the state library has...and I'm honestly not sure how much it gets utilized...which is kinda sad.
13:26 kmlussier While we were out and about, we also came across some libraries that had formed these technology groups among staff that would get together for dinner on a regular basis (maybe monthly) to talk about what was new in technology.
13:26 kmlussier These groups tended to have those who were very tech savvy along with those who were trying to come up to speed.
13:27 kmlussier rfrasur: Ours got used a lot.
13:27 rfrasur kmlussier: THAT sounds nigh unto nirvana
13:28 Dyrcona We have a Key Users' Group in MVLC that is supposed to be more or less like that.
13:28 rfrasur (and not the band)
13:28 kmlussier IIRC, they really evolved as a grass roots thing among the staff. I think that was the key to making it fun.
13:28 Dyrcona Some have questioned whether or not it should continue to exist because recent topics have focused more on reference and collection development type discussions.
13:28 rfrasur well, I'm hopeful.  We'll have some benefit money at the end of the year that I'd like to use for that rather than just transferring to another fund.
13:29 jcamins Dyrcona: Key Users?
13:29 rfrasur Dyrcona: It sounds more like...rather than it continuing to exist...it just needs its focus adjusted.
13:30 rfrasur But..I need to go get pretzels and frosting...or get someone else to do it.
13:30 Dyrcona jcamins: I believe it was originally thought of as the "key" user at the library for communicating technology related problems to central site.
13:30 rfrasur (The guy I just fired works at the grocery store)
13:30 * rfrasur opts for the second idea because I'm still a bit of a chicken.
13:32 Dyrcona gmcharlt++ # For maintaining CPAN packages related to MARC
13:32 jcamins rfrasur: ouch.
13:34 dbs Am I crazy or is the current set of pgTAP tests basically fetching a list of objects from the PostgreSQL info schema, then iterating over that list to verify that those objects exist?
13:36 dbs Seems like it is a test of PostgreSQL's info schema, with very little Evergreen-specific testing
13:37 gmcharlt dbs: I believe the idea is that you would run make-pgtap-tests.sql on a known-clean database, then use them to test a production database for schema variances
13:37 gmcharlt where "them" == the generated tests
13:38 jeff oh. that sounds useful. i might look at that.
13:38 dbs gmcharlt: oh. are there any separate pgTAP tests for Evergreen-specific functions?
13:39 * dbs has just added one for ingesting a record and checking the md5 hash of the MARC to ensure the processing has proceeded as expected
13:39 gmcharlt dbs: a few -- see Open-ILS/src/sql/Pg/t
13:40 dbs gmcharlt: ah, the make-pgtap-tests.pl in sql/Pg/ threw me off
13:41 gmcharlt make-pgtab-schema-tests.pl might be a better name
13:42 dbs Might be useful to add some comments about the intended usage  into make-whatever-tests.pl too
13:46 dbs might add a pointer to "pg_prove" in t/README too. This is good stuff
13:52 jboyer-isl rfrasur: You had your gadget discussion while I was at lunch, but I wanted to throw a couple cents at it. JCPL picked up a few gadgets (similar to the ISL kit, but hand-picked by me) with things like every type of available kindle, a chromebook, ipod, ipad, galaxy tab, and some nooks
13:52 jboyer-isl Staff could check out devices to learn on, or to show patrons how to use Overdrive, ebrary, etc.
13:53 jboyer-isl they also made an appearance at a staff day, as a kind of tech petting zoo.
13:53 jboyer-isl Much better outlay of cash than a 1-1 gadget to staff program where they get to keep something.
13:55 dMiller_ joined #evergreen
13:59 rfrasur jboyer-isl: sorry..was covering the desk for a few minutes.  reading back.
14:01 rfrasur jboyer-isl: do you know offhand what's in the ISL kit?
14:02 jboyer-isl Nope. I suppose I could go down the hall and ask around.
14:02 jboyer-isl We'll see if anyone's actually here on a Friday.
14:02 rfrasur I tried calling several phones and apparently not many people are there on Friday.
14:02 smyers_ joined #evergreen
14:02 smyers__ joined #evergreen
14:06 jboyer-isl I just talked to Shauna, and she'll email us both what's in them. (from memory, I'd say an ipad, kindle fire, and some no-names, either readers or android tablets)
14:07 rfrasur I know there's a sony reader (woo) and maybe a nook (woo....bleh)
14:07 jboyer-isl Nooks used to be all the rage before Od got on Amazon's good side. (and let them spam patrons...)
14:08 jcamins You don't like the Nook? I thought it was supposed to be better than the Kindle for compatibility.
14:08 * rfrasur zips lip
14:08 rfrasur jcamins: not anymore...but there's a catch.
14:08 jeff spam patrons? you mean in the "this library checkout has expired, but you can click here to purchase a copy from amazon", or something else?
14:08 rfrasur Now Amazon..at the end of an OD circulation tries to sell them the book
14:09 jcamins Really?!?
14:09 jcamins That's absurd.
14:09 jboyer-isl "spam" might be a bit harsh. I don't remember if there's actually an email involved, but yes, that,
14:09 rfrasur more like "allowed to confuse"
14:09 jeff just checking.
14:09 jcamins But you just checked out the book! Why would you buy it?
14:09 jcamins (silly question, I know, don't mind me)
14:09 jeff jcamins: it only appears at the end of the checkout period.
14:09 * jboyer-isl is a terrible library user. I don't even d/l my freegal songs.
14:09 jeff jcamins: it's the "this isn't yours to view anymore" placeholder.
14:10 jcamins jeff: I guess because you can't just renew a book from overdrive?
14:10 rfrasur jboyer-isl: me too.  I'm the one that checks out stuff, leaves it on the coffee table, and returns it late.
14:10 jcamins I'm old-fashioned, and do... that.
14:10 jeff jcamins: supposedly you can renew books now, but i don't know how it works yet -- i haven't experimented, and it's new as of a month or so ago.
14:11 rfrasur oh...you can renew stuff now?  I haven't tried that yet either.
14:11 jcamins Being a fast reader, I tend not to either not need to renew, or just return it fashionably late.
14:12 akilsdonk joined #evergreen
14:12 Dyrcona Usually, if I haven't finished a book in a week, I'll never finish it. There have been exceptions.
14:12 rfrasur I used to be a fast reader until I began to feel obligated to read purposeful stuff instead of interesting stuff.
14:13 jeff Dyrcona: yep, i can relate to that.
14:13 rfrasur (it's like teaching yourself to like broccoli)
14:14 jcamins Heh. I justify reading genre fiction by telling myself that all the content in IRC balances out the fluff.
14:14 jeff yboston, other DIG folk... has there been much thought about source documentation that includes "this is developer specific" vs "this is general" in the same document, then output is generated with that developer-only bit either excluded or called out in a specific way, allowing non-developers to skip over it?
14:14 jeff is this a terrible idea, or something interesting?
14:14 tspindler joined #evergreen
14:15 rfrasur jeff: as far as I know...no, BUT that'd be awesome.
14:15 jeff okay, one vote for not-terrible
14:16 yboston jeff: I am not sure if I understand your idea correctly
14:17 kmlussier jeff: We haven't discussed that specific idea, but there was an e-mail discussion a few months back where we discussed the idea of including end-user, technical documentation in the same place. Not the same thing, but similar?
14:18 jeff yboston: for a specific example, say i'm writing up details on standing penalties, and going into detail on system-maintained standing penalties. as a developer, i might want to call out the places (an sql function, a function called within Actor.pm, etc) where system penalties are maintained...
14:18 jeff That doesn't strike me as something that's relevant to all but the most interested of end-users, but is useful for developers.
14:18 kmlussier This: http://georgialibraries.markma​il.org/thread/twcwas7r4yuavxcq
14:19 jeff one option is to have developer documentation and user documentation, and have a pointer from one to the other (perhaps).
14:19 jeff What I just asked about was an idea that I had, and was wondering what others thought. :-)
14:19 yboston jeff: are you referring to having a small sub-sections warning this part "is geared for developers" ?
14:19 * jeff reads the linked thread
14:19 yboston jeff: I think I am understanding
14:20 kmlussier Yet another e-mail discussion I started and then never did anything with. :(
14:20 jeff well, there could be two outputs -- one with the developer sections and one without, or there could be one output with developer bits called out as "feel free to skip this part"
14:20 jeff but the real idea is just that there's documentation in one place, that can generate any of the above.
14:20 gmcharlt I like the idea of having a single document be the source of all the knowledge, tagged so that it could be sliced and diced as needed
14:20 jeff rather than two places, with potentially conflicting info later, etc.
14:21 kmlussier jeff: My take from that discussion is there was general consensus to put it all in one place. Being able to do two different outputs is gravy IMO. :)
14:21 jeff this is the thread that was at least partially in the back of my mind when i was wondering about this approach. thanks, kmlussier!
14:21 yboston yes, I would be weary of keeping the docs separate in case the get out of sync. 
14:22 yboston with asciidoc we might be able to use custom background color styles for technical sections or perhaps use footnotes?
14:22 jeff while i have the attention of some DIG folk, I'll ask another question that may or may not have been previously answered -- is there thought/plans around integrating content from Evergreen in Action and "the docs"?
14:23 yboston Kathy, dbs, and others have down some integration already
14:23 dbs jeff: I think I mentioned something about this pre-DIG, basically auto-hiding the API / database schema docs associated with a given feature  but making them visible via CSS + JS or whatever
14:23 kmlussier dbs and I converted the first few chapters to AsciiDOC and then added them to the docs. But then I had other things pull on my time, and we never got other volunteers to carry o.
14:24 jeff dbs: oh, good. i didn't think it was a particularly new idea that i had had. :-)
14:24 yboston that could eb something to try at the DIG hackfest
14:24 yboston also, Evergreen In Action was geared for EG 2.3(?) so it needs a few updates at the very list. But I still learned a lot from it
14:26 jeff yeah. it's an amazing bit of work. i haven't read it cover to cover, but was thinking i should. :-)
14:26 jeff yboston++ kmlussier++ dbs++ DIG++
14:27 yboston actually, I did not contribute at all to the book, I did not make the trip out to california
14:28 jeff lacking any specific ideas about how to present the output, if i was going to draft a section and wanted to mark advanced/developer topics (say, a few paragraphs here and there, does anyone have a pointer as to what markup i should start with?
14:28 jeff yboston: my karma incrementing there wasn't exclusively for Evergreen In Action. :-)
14:29 dbs rsoulliere++
14:29 dbs lindsay_stratton++
14:29 yboston rsoulliere++
14:29 jeff rsoulliere++ lindsay_stratton++
14:30 yboston off the top of my head, I would use the "information" admonition block
14:30 yboston these are the sections with a cutesy icon that you see in docs; like the one that says "warning"
14:30 yboston with a stop sign
14:32 yboston http://www.methods.co.nz/a​sciidoc/userguide.html#X28
14:35 jeff thanks.
14:35 pastebot "yboston" at 64.57.241.14 pasted "How to use the "tip" admonition block" (13 lines) at http://paste.evergreen-ils.org/30
14:35 dbs jeff: Long run, I think we could use a [role="developer"] attribute to denote that the following block is for devs; in HTML output it should generate <p class="developer"> and then we could add the appropriate style/JS widgetry.
14:35 yboston I was wrong, I would use the "TIP" admonition block
14:36 yboston not the (nonexistent) "information" block
14:36 jeff oh, neat! i was looking through asciidoc and the cheat sheet for something generic/extensible like that.
14:36 dbs Might get tricky to process the PDF appropriately but getting access to custom CSS classes is helpful :)
14:36 jeff yboston++ dbs++
14:37 yboston yes, this is only a basic suggestion to at least we can easily spot the technical section easier
14:37 jeff yep. i'm sure there'll be a change to how we identify such sections (if we even choose to go that route in the end), but this is a good start.
14:41 rfrasur (what the heck is a hanspad?)
14:42 Dyrcona HANNSpad is apparently a crappy tablet.
14:42 rfrasur Dyrcona: yes...as is an ematic
14:43 dbs Nexus 7 (2013 edition) or bust
14:44 rfrasur dbs++
14:44 rfrasur jboyer-isl: I can see why you handpicked your own collection for your library.
14:46 jboyer-isl I also didn't want to have to worry about getting them back, etc. I also thought that if a library can afford a set of things (which we were also using for patron training) better we buy our own than keep one of those kits long term.
14:46 jboyer-isl Also, I like unpacking new gadgets.
14:46 rfrasur true true all of that
14:53 rfrasur /me is preparing for what will hopefully be a Tom Sawyer program that doesn't suck.
14:53 rfrasur or...
14:53 * rfrasur is preparing
14:53 rfrasur will have to look at tech stuff later.  meh
15:10 Bmagic jeff: If I compare sum(money.billing.amount) to mmbxs.total_paid where xact_finish is not null - would I find the troubled rows?
15:11 jeff by my understanding of your situation, the mmbxs materialized view is fine, and it's just that you have xact_finish set on some transactions that shouldn't be "finished" yet.
15:13 Bmagic that's what I mean
15:13 Bmagic I need to find those that are not finished
15:13 Bmagic and my approach would be to find non-null xact's that have $0 paid and have a sum(money.billing.amount) > 0
15:14 jeff i think you could just use this query: select id from money.materialized_billable_xact_summary mmbxs where xact_finish is not null and balance_owed > 0;
15:15 Dyrcona Bmagic: Best thing to do at this point: Grant a general amnesty.
15:16 Dyrcona The reason I say that is I'm starting to suspect that you can't rely on any of the billing information your system, at least as regards the records in question.
15:16 Bmagic that query seemed to be smaller than the one that I came up with
15:16 Bmagic select (select usrname from actor.usr where id=ba.usr),id,billingsum,total_paid,xact_finish from(select usr,id,(select sum(amount) from money.billing where xact=a.id) "billingsum",total_paid,xact_finish from money.materialized_billable_xact_summary a where usr in(select id from actor.usr where home_ou in(148,150)) and total_paid=0 and xact_finish is not null) as ba where billingsum>0
15:18 jeff Bmagic: one thing off the top of my head is that your query isn't taking into account things like voided billings.
15:18 Bmagic Dyrcona: That still might be an option but I have a drive to figure this out. :)
15:18 jeff Bmagic: but if you're wondering, you could look at a transaction that shows up in your query but not mine, and examine it in detail to see if the mmbxs entry for that transaction appears accurate.
15:19 Bmagic ah! that fixed it
15:19 jeff sounds good. what fixed it? :-)
15:19 Bmagic take out the voided billings and the results are only 1 row different than your query suggestion
15:19 jeff aha
15:19 jeff cool.
15:20 jeff now you could rip into that one different row if you're really curious. i probably would, but that's just me.
15:20 Bmagic jeff: Oh, already working on it!
15:21 dbs /win/win 11
15:21 dbs meh
15:21 dbs /lose/lose :)
15:26 Bmagic jeff: LOL - it's the row that I fixed as a test
15:27 jeff aha. :-)
15:27 jeff which query did it show in?
15:28 Bmagic I used a "not in" strategy there
15:28 jeff or was it just because you had the output of one of the two queries from before you fixed it, and now both queries return the same data?
15:28 Bmagic select * from money.materialized_billable_xact_summary mmbxs where mmbxs.balance_owed>0 and mmbxs.xact_finish is not null and mmbxs.usr in(select id from actor.usr where home_ou in(148,150)) and id not in(
15:28 Bmagic select id from(select usr,id,(select sum(amount) from money.billing where xact=a.id and voided='f') "billingsum",total_paid,xact_finish from money.materialized_billable_xact_summary a where usr in(select id from actor.usr where home_ou in(148,150)) and total_paid=0 and xact_finish is not null) as ba where billingsum>0
15:28 Bmagic )
15:29 * Dyrcona would like to point out that Evergreen is not accounting software, so do not expect accurate billing numbers. ;)
15:29 jeff if you fixed the xact in question by setting xact_finish, it shouldn't have shown up in either query.
15:30 jeff oh, actually it might have shown in your query, if the user had another xact that was still affected.
15:30 jeff that's probably it.
15:32 Bmagic you're right, I think it's something like that, it's not the one I fixed because I fixed it by updating action.circulation set xact_finish = null
15:34 akilsdonk joined #evergreen
15:35 Bmagic jeff: It was total_paid > 0 however total_paid < balance_owed
15:35 jeff ah! that would do it too. :-)
15:35 Bmagic my query was flawed in that it assumed that total_paid was 0
15:36 Bmagic jeff: your query is superior and much simpler
15:38 Bmagic jeff: update action.circulation set xact_finish = null where id in(select id from money.materialized_billable_xact_summary mmbxs where mmbxs.balance_owed>0 and mmbxs.xact_finish is not null)  ::crossfingers::
15:47 jeff Bmagic: good luck! :-)
15:48 mrpeters left #evergreen
15:50 JennB joined #evergreen
15:52 tspindler joined #evergreen
16:01 stevenyvr2 joined #evergreen
16:10 akilsdonk joined #evergreen
16:17 kmlussier tspindler: I added your Funding Sources issue to bug 1032171.
16:17 pinesol_green Launchpad bug 1032171 in Evergreen "EDI Accounts Display" (affected: 2, heat: 12) [Undecided,Triaged] https://launchpad.net/bugs/1032171
16:18 kmlussier Hmmm...maybe I should change the title for that bug now.
16:29 tspindler kmlussier: thanks
16:29 tspindler left #evergreen
17:07 mmorgan left #evergreen
18:16 smyers_ joined #evergreen
21:18 stevenyvr2 left #evergreen
21:45 fparks joined #evergreen
23:34 pinesol_green [evergreen|Dan Wells] Tweak TPAC header layout styles - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=a5d6c25>
23:48 pinesol_green [evergreen|Dan Wells] Match main-content right margin to left - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=ee026c9>
23:51 RBecker joined #evergreen
23:58 pinesol_green [evergreen|Dan Wells] Touch-up record detail extras display - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=3505045>

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat