Open Source Integrated Library System

Evergreen on IRC

#evergreen Logs for Monday, November 21st, 2011

< Sunday, November 20th, 2011Raw Log FileTuesday, November 22nd, 2011 >
#TimeNickMessage
#00:26:17Dyrcona has quit IRC
#00:29:20pmpafk is now known as pmpcat
#01:07:29darshan has joined #evergreen
#01:10:46darshanWhen I am taking reference of any record and importing that record ,I am receiving error mention in 1error.log file, After that when I am placing hold for my patron I am receiving error mention in 2error.log file, Then at time of capturing hold ,I am receiving error mention in 3error.log file. Atlast ,I want to set action trigger and for that I have set hook for hold.available and hold.capture but after doing set up also ,mail is
#01:11:00darshanthe links are-- 1error file-http://www.woofiles.com/dl-272575-iTt6ZCIw-1error.log 2error file-http://www.woofiles.com/dl-272576-q4Ru51P6-2error.log 3error file-http://www.woofiles.com/dl-272577-OxGOv9ye-3error.log
#01:12:05darshanne1 plz try to solve it
#04:10:40tfaile_ has joined #evergreen
#04:10:50adrienne_ has joined #evergreen
#04:11:48tfaile has quit IRC
#04:11:48adrienne has quit IRC
#05:38:42darshanplz ne1 ,plz answer me ,i have been stuck here from last many days
#06:41:17darshan has quit IRC
#08:02:36collum has joined #evergreen
#08:17:25Dyrcona has joined #evergreen
#08:24:46gdunbar has joined #evergreen
#08:46:58Shae has joined #evergreen
#08:52:47bwicksall has joined #evergreen
#08:54:57tater-laptop has joined #evergreen
#09:00:44dkyle has quit IRC
#09:06:42Meliss has joined #evergreen
#09:31:00Meliss has quit IRC
#09:31:48Meliss has joined #evergreen
#09:32:16csharperrors from Makefile.install for 2.1.1 on debian squeeze: http://pastebin.com/hiQewpcF
#09:32:47csharpnote that this is using my customized PINES repo, but I have not edited Makefile.install
#09:33:48jenny1 has joined #evergreen
#09:34:51dkyle has joined #evergreen
#09:34:52csharp sees that he had the same error with this version of SimpleServer.pm in August: http://open-ils.org/irc_logs/evergreen/2011-08/%23evergreen.23-Tue-2011.log (around 14:04)
#09:35:37tsbereSo SimpleServer setup stinks. Good to know. :P
#09:35:50tsbereOr you are missing some other dep
#09:36:47csharpyep
#09:39:16Dyrconalooks like yaz isn't installed.
#09:39:31Dyrconaor at least, yaz-dev
#09:42:17csharpyaz's are installed: http://pastebin.com/XLEL4zzH
#09:44:17DyrconaSeach path for SimpleServer must be wrong.
#09:45:37Dyrconacsharp: I'll bet you have to change -I/usr/local/include to -I/usr/include.
#09:48:56bericktsbere: btw, the opensrf Perl code does support attaching handlers to app sessions that fire when the session ends (aka death callbacks). i'm still confused why/how the C code doesn't. may be worth pinging eeevil to see if there is something going on with C code that allows us to kill open transactions when a session ends.
#09:49:32tsbereberick: session->userDataFree
#09:49:36tsbereSo it seems
#09:49:40tsbereProvided that userData has been set
#09:49:49alynn26 has quit IRC
#09:50:06alynn26 has joined #evergreen
#09:50:07tsbereWhich means if I provide a function for "set audit info" in the cstore/rstore/pcrud code I can ensure userData *is* set
#09:50:07bericktsbere: aha!
#09:50:13berickyes, there it is
#09:50:24Dyrconacsharp: Might also be that SimpleServer has been updated to expect a newer version of yaz. I don't find the missing facet.h in /usr/include/yaz on my Ubuntu system, which is based on debian.
#09:50:27berick sees the rollback in oils_sql.c now
#09:51:32bericktsbere: you'll have to navigate the fact that userDataFree is already used when in a transaction
#09:52:10csharpDyrcona: intresting - I don't see facet.h either
#09:52:29tsbereberick: No I won't. I plan on adding a "clear audit info" to userDataFree....in general. Regardless. :P
#09:53:12Dyrconacsharp: If this is a test machine, I'd try removing the yaz packages and installing the most recent yaz from source to see if that helps.
#09:53:38tsbere has not, however, decided how to handle the *set* audit info......he can probably make the SQL query himself, or he can figure out how to json_query it....but *storage* will need one too and doesn't appear to have a json query equiv, and thus needs a manually constructed one anyway.....
#09:53:45Dyrconacsharp: There is also the possibility that a particular version of SimpleServer is just plain broken.
#09:54:54tsbereberick: Do you know offhand if I need to add a new call to the "main" storage list of calls when I add it to the Pg driver? (if only as a no-op, I guess)
#09:55:19bericktsbere: i don't believe so
#09:56:22bericktsbere: are you globally increasing the number of SQL calls by 200%? :)
#09:56:51berickwell, no
#09:57:10berickthere would be 2 additional calls per transaction or per one-off cstore (etc) query?
#09:57:48tsbereI plan on adding a "Set SQL Audit" type call to cstore, rstore, and storage. When you disconnect from them I plan on adding a clear audit info call. If you do 9 transactions via one cstoreeditor then I will be hopefully only be adding 2 new sql calls, and one of them will be after you finish.
#09:58:31tsbereAlso, I ran thousands of the calls through paces for testing and didn't hit a full half second. :P
#09:59:09csharpDyrcona: I'll try installing yaz from source next
#09:59:12berick takes a step back
#09:59:24bericktsbere: what happens when a user rolls back a transaction. is the audit info removed?
#10:00:06tsbereberick: The audit info is nothing more than a couple of variables hiding in the Pg Perl layer so that audit triggers know what user and workstation is doing stuff.
#10:00:44berickok, so if the xact is rolled back, no audit table entries are added, so no removal required?
#10:00:47tsbereClearing them is because a new client hitting the same cstore/rstore/storage block may not *have* a user/workstation. So on disconnect I clear it.
#10:02:34tsbere runs a 10,000 count "set audit info" run on a VM-based postgres install and is done in 443ms
#10:03:53tsbereHmmm. Full get and set run took 1461 ms, that is 10,000 sets and 10,000 gets
#10:05:13berickhow does the audit info get passed to cstore, etc.?
#10:05:37tsbereI plan on adding a .set_audit_info(authtoken) function to sit alongside things like .transaction.begin
#10:06:03tsbereWhich will require me finding anywhere a transaction.begin is added, for example, and if an authtoken is available I need to pass it on
#10:06:40berickand then cstore, etc. will call out to open-ils.auth to get the user data from the cache?
#10:06:49csharpargh - nevermind - this is dependency hell
#10:07:22tsbereberick: I was thinking I might do something nutty and make cstore and rstore act like they are pcrud for that call ;)
#10:07:45tsberestorage would, however, do that. Unless I decide to just have whatever has the authtoken pass the user and workstation id numbers through for me. Haven't decided which is easier yet
#10:07:45berickoh, does pcrud talk directly to the cache?
#10:07:58csharp attempts to push through anyway
#10:08:02tsberepcrud requires an authtoken on *every call*, and loads/caches it
#10:08:43tsbereand pcrud shares the oils_sql.c file with cstore/rstore. So if I make the .set_audit_info call just act like it is pcrud *all the time*....
#10:08:54berickright, just wasn't sure if it called out to open-ils.auth or not
#10:09:01tsbereI believe it does
#10:09:04berickk
#10:09:11tsbere hasn't decided which method is the better one yet either way
#10:09:38berickfwiw, i'm more concerned about extra opensrf calls than extra db calls, from the load perspective
#10:09:49berickpassing the values in directly would help that, of course
#10:10:25berickbut, i may be prematurely optimizing
#10:10:34tsbereI could say "give me an authtoken, a user id, and a workstation id" and then only do the auth lookup if I am pcrud or wasn't given a user id?
#10:11:06berickyeah
#10:11:29csharpDyrcona: installing the newest debs from http://ftp.indexdata.dk/pub/yaz/debian/squeeze/ allowed installation to work
#10:11:34tsberepcrud won't be an issue. It needs the token either way, so why trust the provided user id / workstation?
#10:11:48Dyrconacharp: good to know.
#10:12:13Dyrconaoops. :0
#10:12:27berickagreed re: pcrud
#10:13:35tsbereactually, I probably won't make pcrud expose the set_audit_info call. Just make it do that transparently.
#10:17:03DyrconaFor the logs: Looks like these might be a good choice on Ubuntu Lucid http://ftp.indexdata.dk/pub/yaz/ubuntu/10.04/
#10:17:21Dyrcona thinks he'll try them on his home dev server.
#10:18:56csharpfor the logs, I apt-get removed yaz and libyaz4*, then apt-get installed tcl8.4 libicu-dev libicu44, then installed yaz, libyaz4 and libyaz4-dev
#10:19:14csharpDyrcona: however, it was *master* I was testing, not 2.1.1
#10:19:28csharp didn't check out rel_2_1_1 ;-)
#10:19:32Dyrcona only runs master on dev machine.
#10:19:35Dyrconamachines.
#10:19:36csharpgood
#10:20:14csharpI was wondering my my lucid test machine was not barfing in the same way ;-)
#10:20:58Dyrconacsharp: one of my dev machines has two yaz installations, one in /usr and one in /usr/local, but neither has facet.h.
#10:21:09Dyrconait's ubuntu lucid.
#10:24:37yboston has joined #evergreen
#10:28:45csharpDyrcona: yeah - what I mean is that I was intending to test 2.1.1 (which I was sucessfully doing on my lucid machine), but I forgot to git checkout the branch on my squeeze one ;-)
#10:29:06Dyrconaok
#10:29:13tsbere has failed to elevate a new staff member to staff level in the ILS
#10:29:20csharp lives unwittingly on the bleeding edge
#10:29:34tsbereWe hired someone with multiple family members in our consortia that has no active library card!
#10:30:31Dyrconatsbere: I believe that.
#10:31:42Dyrcona plays with his dog for a bit.
#10:37:37dbs has joined #evergreen
#10:43:17Dyrconacsharp: what version of yaz 4 did you install?
#10:45:26dbs reads scrollback a bit
#10:45:48dbsmaster now installs yaz-4 from source + simpleserver 1.15
#10:48:25dbs4.2.17 to be exact - that was what worked with simpleserver 1.15 at the time of installing on debian squeeze when I put the branch together
#10:49:08Dyrconadbs: thanks.
#10:50:52csharpDyrcona: I installed 4.2.20 (yaz, libyaz4, libyaz4-dev)
#10:51:18Dyrconacsharp: thanks. I was considering trying that version since it is the latest.
#10:51:35csharpsince I'm on the PINES branch, it's likely that the master there is out of date
#10:52:02Dyrcona puts off playing with yaz.
#10:53:19csharp is initially alarmed to see his G+ friends appear in his pidgin window
#10:57:59dbs would have to lose a lot of weight to fit in there
#10:58:29csharp;-)
#10:59:27bshumHmm
#11:00:09bshumSimpleServer seems different than Simple2ZOOM
#11:00:23bshumIs this something different that ought to be reflected in the z39.50 setup instructions?
#11:01:40bshumOr you know what, it's probably all different in 2.1+ and I should just go poke at it some more before asking that question :S
#11:02:11Dyrconabshum: I still use simple2zoom with master.
#11:02:32Dyrconabshum: I believe the simple2zoom instructions still work.
#11:03:45jeffoh no! we're missing courtesy data for today! -- oh, no. three days from today is thanksgiving.
#11:04:58Dyrcona is finding it tricky to pick up something that he last worked on over a month ago.
#11:05:07dbsbshum: Simple2ZOOM is the SRU piece, Net::Z3950::SimpleServer is the Z39.50 piece
#11:05:23dbs(working from memory, so qualify the truthiness appropriately)
#11:06:59bshumjeff++
#11:07:12bshum starts to formulate that reply for our libs now...
#11:07:45bshumAhh, dbs++
#11:07:48bshumThat makes sense now.
#11:08:08bshumI was just peeking to see what we had installed on our z3950 server and got the simpleserver name wrong when checking the module.
#11:09:59Dyrconatsbere: is there an easy way to say commit changes I'm making now into a commit four commits back in git?
#11:10:11alynn26 has left #evergreen
#11:10:19tsbereDyrcona: Commit to new commit, rebase -i, move line up, set to fixup?
#11:10:45Dyrconatsbere: thanks, that's easier than what I was thinking.....
#11:11:11Dyrconai figured I have to make an unnamed branch and jump through flaming hoops.
#11:15:27dbs enjoys rebase -i
#11:16:01tsbere enjoys rebase in general ;)
#11:17:35alynn26 has joined #evergreen
#11:19:51tsbereeeevil: http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/tsbere/auditor_boost if you want to start having people look at the DB side of things ;)
#11:20:31Dyrconatsbere: I think that worked.
#11:38:09mrpeters-isl has quit IRC
#11:44:26tspindler has joined #evergreen
#11:53:33tsbereIt is good when you know your editor's command line options :D
#11:57:28bericktpac/html design question... i'd like to prevent users from re-submitting the credit card payment form. my first thought was to take the user to a "processing.." page after clicking Submit, then submit the form from this new page.
#11:57:40berickwithout JS, though, the only way I can think to do that is with a meta refresh that has the form variables all crammed into the refresh URL, which feels a little dirty (though the user would never see it).
#11:58:18dbsI think at some point JS is reasonable
#11:58:26berickalternatively, the payment form could exit early with a token, then the UI could poll the backend for sign of completion using the token (also feels dirty)
#11:58:35tsbereberick: Do we get a server-side session with hidden authtoken and such? If so, jam all the information in *that*, and make the processing page load it from there.
#11:59:04bericktsbere: aha, yes, we can leverage memcache for such things
#11:59:07tsbere hopes that we aren't persisting *everything* via cookies and parameters
#11:59:22berickthere is no long-standing cached session
#11:59:31berickapart from the ses cookie itself
#11:59:39tsbereand what validates the ses cookie?
#12:01:33berickses cookie is passed off to open-ils.auth
#12:01:52berickto validate, retrieve the user object
#12:02:21tsbereso the ses cookie is the authtoken. Bah.
#12:02:46berickit's the same cookie all other EG bits use
#12:02:54tsbereDoesn't mean it is a good one ;)
#12:03:04Dyrconawhat about adding a payment cookie?
#12:03:29tsbere prefers backend session storage that doesn't itself represent things like authentication. Then you can store stuff for people who aren't logged in.
#12:03:32berickses cookie should be called auth cookie, that's all it's supposed to be
#12:04:25berickit's not intended to be a session tracking cookie in the typical web sense..
#12:10:26bericktsbere++ thanks for the suggestion, i think that will do nicely
#12:10:34berick will push a collab branch anon
#12:12:17Dyrcona wonders if the above will affect Proxy.pm and his PhoneList.pm web module branch?
#12:12:21berickdbs: yeah, i was willing to go there, if nothing else to grey out the submit button, but i'll see how this pans out.
#12:12:34berickDyrcona: i'm not changing the ses cookie
#12:12:39berickthat's a big project
#12:13:01Dyrconaok. good to know. didn't read all of the scroll back.
#12:13:41Dyrconaor got lost doing other things in between, whatever.
#12:27:52dbscsharp: good news! ran into the same yaz / simpleserver problem on our debian-squeeze box; will pound on it a bit
#12:29:00dbshmm, no "install_yaz" dependency, that seems like a clear issue
#12:29:34dbsand install_cpan_force happens twice? yeesh
#12:43:40collum has quit IRC
#12:45:14dbsokay, pushed a fix into master for the yaz / simpleserver issue (for debian and ubuntu)
#12:46:02tsbere dislikes mucking around in the C code
#12:48:10jeff has quit IRC
#12:54:56rogan has joined #evergreen
#12:59:51akilsdonk has joined #evergreen
#13:05:24jeff has joined #evergreen
#13:05:34jeff has joined #evergreen
#13:06:32csharpdbs: awesome! thanks.
#13:26:20dbs getting lots of "ERROR: set-valued function called in context that cannot accept a set / CONTEXT: SQL statement "SELECT ARRAY_AGG(evergreen.upgrade_list_applied_deprecates(my_db_patch))" errors trying to apply Pg/upgrade scripts
#13:27:31dbs(as applied by the update_db.sh tool, at least)
#13:29:18tsbere in many ways hates the new system despite never using the update_db.sh tool
#13:29:33tsbereI end up having to tweak upgrade scripts so frequently it doesn't matter if there is a tool
#13:30:50dbsmaybe needs 0537 fix; will try
#13:31:37dbslooks like that was the issue. sorry for the noise
#13:33:18dbsoh. heh
#13:34:03dbstrying to upgrade a 2.0 system to master just using the upgrade scripts is broken because, of course, there are numbered upgrades that only went into master that predate the current numbers in rel_2_0
#13:34:03StephenGWills has joined #evergreen
#13:34:22dbs(e.g. 526, 537, 572, 596)...
#13:36:38dbsso: 1) use the standard consolidated upgrade scripts to get from 2.0.x to 2.1.x to 2.2.x and then apply atomic upgrade scripts from there, I guess
#13:46:10Dyrconaberick: You mind if I push a commit to your collab tpac-unadorned-856-record-details-rebase-2 branch that limits the display to 856s with ind1 = 4 and ind2 = 0 or 1?
#13:47:00dbsDyrcona: you do that, and then I'll take over the ticket and sign off on both yours & berick's work
#13:47:05berickDyrcona: no, please do
#13:47:12Dyrconaok. will do.
#13:51:02Dyrconapushed.
#13:55:30berick wonders why chrome insists on reloading a page to view source
#14:16:30tsbereGood sign: My cstore/rstore/pcrud changes compile! No clue if they work yet though.
#14:25:59tsbereHmm. At the perl osrf level...what is the difference between a "death" callback and a "disconnect" callback?
#14:30:03bericktsbere: not sure what the intended difference is, but a death callback will be called even when not inside a stateful (connected) session
#14:30:31tsbereok
#14:31:12tsbereberick: You know if there are any problems with registering multiple death (or disconnect) callbacks at the same time?
#14:31:34bshumHmm, anyone have some suggestions about where to start looking for trouble when it comes to the call number shelf browser in the OPAC? I checked the label_sortkey and that looked fine, but items seem to jump ranges without paying attention to the Dewey scheme.
#14:32:31bericktsbere: should be fine. from the looks of it, though, you can't rely on them being called in the order in which they were added, if that matters
#14:33:06berick is not sure where they are registered as a hash and not an array
#14:33:39tsbereberick: Don't think it matters much for me. Chances are if they all get called it is going to be during an automatic rollback.
#14:34:17dbsbshum: it's pretty much all about label_sortkey - with a bit of OPAC visibility mixed in. maybe open a bug with an example list of call numbers and what the label_sortkeys look like and what's getting jumped?
#14:35:06bshumdbs: It occurred to me to check and it seems we have a mix of different label_class at play with the call numbers. 1 and 2, generic and dewey?
#14:35:15dbsbshum: sounds like it
#14:35:46dbsDyrcona / berick: if a given MARC record contains both an unadorned URI and a located URI, are we expecting to see both URIs in the appropriate scope to see the located URI?
#14:36:35dbsmy gut feel is "if located URI, then skip 'show unadorned URI'" but hey...
#14:37:05berickdbs: the code appends to the list of URIs to show. it has no effect on when/how located URIs are shown
#14:37:58berickavoiding display of unadorned URIs when located URIs are present works for me
#14:38:10berick imagines mixing will not be that common anyway
#14:38:58dbsyeah, my major concern and testcase was to ensure we avoid showing out-of-scope located URIs
#14:39:05gmcharlt rather imagines that mixing will be common
#14:39:27gmcharltmy preference is that an unadorned URI always display
#14:39:47berickgmcharlt++ # balancing my uninformed opinion
#14:40:22tsberemy preference is that the system read the minds of the catalogers entering the URIs. As that is impossible, I will vote for the "always display" view ;)
#14:41:42bshumdbs: I think you're right about sortkey. I just checked one of the example "problem" records: http://ur1.ca/5zel5 and it has a label_sortkey of "919_800000000000000_ROB" and label_class of 2 (Dewey).
#14:41:52bshumMight be a local data issue on our end.
#14:41:55dbstsbere++
#14:42:03gmcharlttsbere: why are you working on the audit stuff when you could be working the mind reading module? ;)
#14:42:41tsberegmcharlt: I don't think I want to know, or have the system attempt to parse, what they are thinking. If only for my sanity and the system's stability. :P
#14:42:42dbs doesn't see much mixing in practice in Conifer and can't think of a reason why mixing would intentionally happen
#14:43:10dbs"Here's the unproxied URL, go ahead and _try_ to access it, fools!"
#14:43:45dbsAlso, "Here's the unproxied URL, we've helpfully added a public note 'Unproxied URL' so that you'll know that you're not supposed to click it, even though it's highlighted"
#14:44:12gmcharlt smells YAOUS
#14:44:48csharpYAOUS-irree
#14:45:27gmcharltalthough alternatively a UI on top of the MARC editor that takes over management of URIs (and puts up roadblocks to directly editing the 856) might be the way to make it clear what the actual visibility of a given URI is
#14:46:35csharpeven though the settings interface is an ever-growing monster, I do prefer it to having to grep raw code and track diffs ;-)
#14:47:52dbsungh.
#14:48:13dbsseeing weird inconsistencies between located URI display in JSPac and TPac
#14:48:20edoceo has joined #evergreen
#14:52:05dbs digs back into in-db unapi after a long brain vacation
#14:54:58dbshah, <volume opac_visible="true" deleted="true">
#14:58:09dbslooks like unapi.bre may get confused by lots of deleted & recreated located uris - which happens anytime you edit a record
#15:01:27dbsstill, that's an issue that's distinct from the code at hand, so I'll push this branch and worry about in-db unapi separately
#15:14:12dbs suspects it's a combo of in-db unapi's "limit to 5 holdings results" default and not taking deleted volumes into account (because who has deleted volumes in their test data?)
#15:20:03bshumdbs++ #it was call number label_class gunking us up
#15:20:16bshumWhen I switched the library's holdings to all 2 for Dewey, things sorted properly again.
#15:20:35bshumWill just have to run it for all our migrated volumes later on to get everybody on the same page.
#15:20:36bshumThanks!
#15:27:59dbsbshum: yay :)
#15:28:26bshumYeah now I just have to find a quiet time to change all the label_class to 2 for over 3.9 million rows, hmm.
#15:28:33bshumI miss having smaller databases.
#15:28:54bshumI'm glad that it automatically updated the sortkey values though
#15:29:43dbsbshum: I don't find those updates to be too heinous. You can always create a script that breaks the updates up into batches of 50,000 or so (WHERE id BETWEEN logic)
#15:30:15bshumHmm, true.
#15:33:18tsbere reiterates his dislike of mucking around in the C code as he finds his C code crashing
#15:33:18phasefxooh, this is kind of scary. Anyone else getting off by $1 on bill payment receipts?
#15:33:19rogan has quit IRC
#15:34:11phasefxoh, false alarm. misunderstood what I was looking at (total xacts versus xact of interest)
#15:34:22phasefx wipes forehead
#15:38:49tspindler has quit IRC
#15:44:04dbsin-db unapi deleted acn issue opened at https://bugs.launchpad.net/evergreen/+bug/893315
#15:44:21dbstsbere: yep. and crashiness generally == exploitability
#15:44:50tsberedbs: In this case crashiness = broken code that won't run at all. <_<
#15:44:55tsbere is adding more debugging
#15:45:09dbsbroken code that won't run at all == the most secure code
#15:46:44youdonotexist has joined #evergreen
#15:46:58tsbereTrue, but broken code is useless code ;)
#15:48:59phasefxman, can't even use this code as a paperweight
#15:49:38tsbereOh goody, I got it to move one line further than before....but I am not sure what is going wrong now. But I don't think cstore is segfaulting any more.
#15:51:17tsbere is glad he has a quick and easy test case, though.....registering a workstation. <_<
#15:56:30Meliss has quit IRC
#15:59:44tsbereCombination of "Forgot to osrfAppRespondComplete" and "used single quotes when I needed double quotes"
#16:03:20tsbereSo cstore works (yay!) but I broke pcrud (boo!)
#16:13:53edoceo has quit IRC
#16:15:24dbs about to get a taste of pinned-id medicine with the 2.0->2.1 update for permission.grp_tree
#16:16:01tsbere:D
#16:16:12tsbereMy checked-in copies have user and workstation IDs in the auditor table :D
#16:17:09dbs notes that permission.grp_tree_id_seq still has last_value of 15 in master, setting future users up for upgrade pain
#16:20:01phasefx is in the camp that upgrade scripts probably shouldn't mess with grp_tree
#16:21:17phasefxand yet, I've done it (added perms to groups). bleh
#16:21:54dbs still doesn't mind upgrade scripts messing with grp_tree, but 1) we should set the nextval for sequences to a high pinned point in the base schema and 2) we should avoid ids in any case
#16:21:56phasefx cuddles with his hobgoblins
#16:22:01dbsphasefx++
#16:22:33phasefxdbs: did you see this? http://evergreen-ils.org/~phasefx/fix_perms.sql
#16:23:05dbsmmm, and the FK relationships should probably ON UPDATE CASCADE so it becomes less painful to move existing custom grps out of the way of the bulldozer of standard groups
#16:23:25alynn26 has quit IRC
#16:23:43dbsphasefx: I did not
#16:24:19tsberephasefx: The set id = id + 5000 block I would probably have been lazy and said "where id < 4000"
#16:25:29phasefxyeah, definitely not the mindset I was in. Made nice use of \o foo.txt and vim
#16:26:05dbs throws "BEGIN; UPDATE permission.grp_tree SET id = id + 100 WHERE id > 5; UPDATE actor.usr SET profile = profile + 100 WHERE profile > 5; UPDATE permission.grp_perm_map SET grp = grp + 100 WHERE grp > 5; UPDATE permission.usr_grp_map SET grp = grp + 100 WHERE grp > 5;" against the wall
#16:26:43dbsmore to update than that but it's a (painful) start
#16:27:53Dyrcona has quit IRC
#16:28:31phasefxdbs: tsbere: the fix_perms.sql thing, should we throw that into an upgrade script?
#16:28:58tsberephasefx: I would prefer you come up with a "stop caring about IDs" branch out ;)
#16:29:14phasefx would prefer someone else do it :)
#16:29:15tsbereer, butchered that. whatever.
#16:29:21tsbere goes back to fighting with auditing
#16:34:14_bott_ has quit IRC
#16:35:21_bott_ has joined #evergreen
#16:39:01dbs throws https://bugs.launchpad.net/evergreen/+bug/893345 in as a potential stopgap 2.0->2.1 solution
#16:48:45Dyrcona has joined #evergreen
#16:51:10dbs notes to self: set up autodialer to equinox support on turkey day
#16:54:39tsbereAnyone with more familiarity with the cstore/rstore/pcrud or storage driver want to take a look to make sure I didn't screw up? Tip of http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/tsbere/auditor_boost
#16:54:55tsbereThings appear to work, but for all I know I missed something important. That I might not even know about.
#17:05:56alynn26 has joined #evergreen
#17:06:04akilsdonk has quit IRC
#17:06:15dbs has quit IRC
#17:08:52Shae has quit IRC
#17:34:50jenny1 has left #evergreen
#17:37:50StephenGWills has quit IRC
#17:47:30bwicksall has quit IRC
#18:04:27finnx has joined #evergreen
#18:30:54pmpcat is now known as pmpafk
#18:38:12alynn26 has left #evergreen
#18:38:59rangiofftopic, but perhaps interesting for EG users too http://library-matters.blogspot.com/2011/11/plea-for-help-from-horowhenua-library.html
#18:45:12alynn26 has joined #evergreen
#19:04:59granitize has joined #evergreen
#19:08:11granitize has left #evergreen
#19:11:58youdonotexist has quit IRC
#19:25:56csharprangi: thanks for sharing - will do my best to broadcast it here
#19:38:47yboston has quit IRC
#19:48:10rangicsharp: thank you
#20:01:30edoceo has joined #evergreen
#20:23:51wlayton has joined #evergreen
#21:31:19wlayton has quit IRC
#21:34:03denialsrangi: posted http://ur1.ca/5zmyr
#21:36:09rangithanks :)
#21:45:52denialsrangi: WTH is going on with NZ? First the bizarre SirsiDynix contract, then granting the trademark on Koha to PTFS - insanity
#21:46:29rangiyeah, its all a bit of a mystery to me
#22:11:08denialsberick++ # FreeBSDism
#22:13:12Ryan__ has joined #evergreen
#22:16:21Ryan__So I had a question...does anyone know, are there plans to create an iOS app version of the evergreen circ ILS software? Is it even possible>
#22:16:23Ryan__?
#22:16:52DyrconaRyan__: It's possible, but as far as I know, no plans.
#22:20:02DyrconaRyan__: As far as possible goes, it would likely need to be a reimplementation and not necessarily a port.
#22:30:15Ryan__ has quit IRC
#22:31:37bshumHmm
#22:35:36Dyrconabshum: ?
#22:35:58bshumDyrcona: Don't mean to bug you on your holiday, but do you know what the heck an "un-targeted expiration" is? For holds.
#22:36:13bshumI'm searching the code to find out where that's coming from
#22:36:42DyrconaNo, actually, I don't.
#22:36:59bshumAlternatively, it seems that a slew of holds came up with expiration dates of years ago, and expired almost as quickly as they were placed.
#22:37:15bshumSo like something placed on 11/15 and canceled less than a second later on the same day
#22:37:21bshumBut the expire date was like 7/4/07
#22:37:25bshumFour years ago?
#22:37:36DyrconaWere these migrated?
#22:37:36bshumBut we weren't using Evergreen then... so very mysterious.
#22:37:51bshumNo, they weren't migrated.
#22:37:55DyrconaDo you have a migration going on right now?
#22:38:01bshumHmm
#22:38:05bshumWe did have a migration
#22:38:09bshumLast week
#22:38:22bshumAnd holds were one of the migrated pieces of data
#22:38:24DyrconaMaybe these were old holds that got moved over?
#22:38:26bshumBut this is from a live library
#22:38:32Dyrconaoh.
#22:38:57bshumYep. Truly mysterious.
#22:39:25bshumBut I figure I should try to determine what a cancel cause of "1" was, which is "untargeted expiration"
#22:39:37bshumI assume that's some sort of Evergreen lingo for a hold that took too long to fill.
#22:39:50bshumCourse I'm not sure why that happened to begin with
#22:40:05bshumSeems unlikely for a staff to place a hold with an expire date years before they placed the hold.
#22:40:13bshumBut the staff keenly remember placing the hold.
#22:40:16bshumVery strange.
#22:40:24DyrconaBad clock on the client.
#22:40:34bshumThat's what I was thinking
#22:40:38bshumThough I'm sure they won't like that.
#22:40:51DyrconaI'd have them check the system date.
#22:40:53bshumI imagine the log might say something about what action was taken.
#22:42:10DyrconaThese were placed on the 15th?
#22:42:16bshumYes
#22:42:38DyrconaSo, the computer will likely think it is the 12th of July 2006 tomorrow.
#22:42:54DyrconaOr the 11th....
#22:43:56bshumrequest_time of 2011-11-15 15:15:59.006255-05, cancel_time of 2011-11-15 15:15:59.300228-05
#22:43:59bshumSo less than a second?
#22:44:49DyrconaYeah, about 294 milliseconds.
#22:55:07bshumHeh
#22:55:25bshum1970-06-29 00:00:00-04 was the expire_time for several holds that have cancel_cause of 1
#22:55:37bshumWe definitely weren't running Evergreen then :)
#22:56:00Dyrconanegative expiration date. :)
#22:56:31Dyrconawell, not negative, just very small.
#22:57:12Dyrconawhen were the 1970 expiration holds created?
#22:58:14bshumHmm, 2011-06-18
#22:58:32bshum*after* our Horizon migration
#22:58:58bshumWeird.
#22:59:16Dyrconado they have anything else in common, like being created at the same ou, by the same requestor or for the same usr?
#22:59:22bshumYeah
#22:59:31bshumThey were all placed by the same library for a patron of another lib it seems
#22:59:42bshumThe timestamps for the request_time are a few minute apart
#22:59:53bshumMy guess is that the library was re-entering holds for the patron
#23:00:28Dyrconaor they wanted them to expire if not filled in 10 days and didn't add a year?
#23:00:49Dyrcona tries entering an odd date on his dev server.
#23:01:08bshumOh I see what you're saying
#23:01:10bshumHmm
#23:03:42DyrconaI just tried placing a hold with "12/22" as the expiration date, and it says 11/20/2012 in the OPAC as the expiration date.
#23:03:58bshumSo maybe they placed the hold, fiddled with the expire_time wrong and it killed their holds moments after placing them? Not enough time in the milliseconds between it seems.
#23:04:25DyrconaThe timing suggests a trigger or action trigger running.
#23:04:41bshumHmm
#23:04:50DyrconaI'm inclined to blame a bad clock on the client.
#23:04:51bshumOoh, you can key in expiration date
#23:04:59Dyrconayes.
#23:05:00bshumDidn't realize that
#23:05:08bshum should probably use Evergreen more often...
#23:05:23bshumI wonder if that would kill it
#23:05:32DyrconaThat's what I did to put in "12/22".
#23:05:32bshumPlacing a hold on an item with a date in the past
#23:05:41bshumThe hold would try to trigger immediately and die
#23:06:03Dyrconayep.
#23:06:12bshumNot sure if our hold expire interval of 180 days would kill any holds placed wrongly like that.
#23:06:17DyrconaI entered "12/22/70" and my hold says it is expired.
#23:06:25bshumThat would do it then.
#23:06:37DyrconaOurs is set to 1 year.
#23:07:15DyrconaI think if it can't parse the date ("it" being Dojo) then you get a default, but if dojo can parse a date, it will send it to the backend.
#23:07:30bshumPeachy
#23:07:52bshumI feel like this is worthy of a bug ticket
#23:08:00bshumThat someone shouldn't be able to create a hold that expires in the past.
#23:08:09bshumA new hold I mean
#23:08:19bshumIf they edit it into the past well... that's a different problem
#23:09:03DyrconaWell, you can only do so much to protect people from themselves.
#23:09:19bshumThat much is true.
#23:09:33bshumWell I feel slightly better about all this now :)
#23:09:34DyrconaHowever, stopping a new hold from having a backdated expiration is really no easier than doing that for editing, too.
#23:10:05bshumDyrcona++
#23:10:10Dyrconacheck the patron's birthday in either case?
#23:10:11bshumMaybe I'll poke at bug writing tomorrow.
#23:10:16bshumHmm
#23:10:58Dyrconamight be something that happened with a newly registered patron and their birthdate. However, I question a 4 year old using the library with their own card. :)
#23:11:08bshumNo DOB
#23:11:21bshumFor the patron that had the expire date of 1970
#23:11:25DyrconaWell, its not likely that then.
#23:11:39bshum*hold expire date, rather
#23:11:47bshumOh well.
#23:11:52bshumThanks Dyrcona
#23:11:57bshumDyrcona++
#23:12:01Dyrconayw.
#23:15:57Dyrcona goes to bed.
#23:56:08bshum@later tell dbs Didn't see your notes from the last meeting, but read through the IRC log to start dev-meeting agenda for tomorrow - http://evergreen-ils.org/dokuwiki/doku.php?id=dev:meetings:2011-11-22
#23:56:08pinesol_greenbshum: The operation succeeded.
< Sunday, November 20th, 2011Raw Log FileTuesday, November 22nd, 2011 >