Evergreen ILS Website

IRC log for #evergreen, 2013-10-23

| 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
03:55 dbwells_ joined #evergreen
05:18 sseng_ joined #evergreen
05:18 fparks_ joined #evergreen
05:18 ktomita joined #evergreen
06:43 kbeswick joined #evergreen
07:04 timlaptop joined #evergreen
07:43 jboyer-isl joined #evergreen
08:08 Dyrcona joined #evergreen
08:11 csharp @later tell hopkinsju you can also use "lib_ips.txt", which allows you to set start/end ranges for library IPs and Evergreen will set physical_loc for your libraries automatically - let me know if you want assistance with setting that up
08:11 pinesol_green csharp: The operation succeeded.
08:12 csharp okay so after like 2 years, one of our libraries has starting using standing penalties to apply blocks/alerts/messages on patron accounts, and we've run into something that I'm having trouble sorting...
08:13 csharp I read the docs (Evergreen In Action FTW!) about the "org_depth" setting for each standing penalty
08:14 csharp and I set them all to "0" (consortium), but previously applied blocks aren't showing up
08:14 csharp so as our administrative user, I'm able to create a consortium-level block that's visible everywhere
08:15 csharp but as a system local administrator, it only creates the block at the branch level and I don't see a way to change that
08:15 phasefx2 you set the depth on the config table?  what about the actor map table?
08:17 mrpeters joined #evergreen
08:17 depesz left #evergreen
08:21 csharp lemme look
08:22 Shae joined #evergreen
08:23 csharp phasefx2: I don't see a depth setting on actor.usr_standing_penalty (assuming that's the table you meant ;-) )
08:23 csharp I see org_unit
08:25 csharp the "visible everywhere" block is set at the "PINES" (consortium) level
08:26 csharp that is to say, the org_unit is PINES
08:28 berick csharp: thinking of config.standing_penalty.org_depth ?
08:28 akilsdonk joined #evergreen
08:28 csharp berick: yeah - that's what I set to 0, but I'm wondering if that's doing something different than I'm assuming
08:29 csharp my starting assumption was that it would make all penalties of that type visible/applicable everywhere
08:29 eeevil csharp: at least in master, a manually applied penalty gets the session's ws_ou
08:29 csharp but the interface apparently works from the ws ou and only displays blocks from there or "higher"
08:30 csharp my goal is to make any penalty applied anywhere to be applied/visible everywhere
08:30 berick that's the exact point of org_depth
08:30 berick it may be that some types of penalties ignore it, though
08:31 berick i.e. it might only work for automagic penalties (max fines, etc.)
08:32 eeevil csharp: you're just talking about the penalty display in the patron summary, right?
08:32 csharp eeevil: right
08:33 eeevil berick: blocking penalties, at least, don't care about the id, just the block_list and actor.org_unit_descendants(ausp.org_unit, csp.org_depth)
08:33 csharp so if the org_unit on the penalty is Branch1 it would never be visible from Branch2
08:34 berick open-ils.actor.user.penalty.apply sets the value of ausp.org_unit by inspecting ws_ou and csp.org_depth.
08:34 csharp that makes it sound like it would work then - lemme test some more
08:35 berick so it should be possible to apply a penalty at BR 1 that is ulatimately a CONS (or SYS1) penalty (i.e. ausp.org_unit == 1 or 2)
08:35 kbeswick joined #evergreen
08:35 csharp berick: right - that's my goal
08:35 csharp I'd like all penalties to be visible anywhere
08:39 csharp okay - that does work
08:39 csharp whew!
08:39 csharp berick: eeevil: phasefx2: thanks for your help!
08:39 berick csharp: glad it's working.
08:44 mmorgan joined #evergreen
08:59 ericar joined #evergreen
09:26 ningalls joined #evergreen
09:59 jboyer-isl Maybe someone can help me come to grips with the hold matrix matchpoints. Lets say I want to restrict a profile to placing holds only at their home OU. could that be done this way:
09:59 yboston joined #evergreen
10:00 jboyer-isl just a usr_grp of the profile, and holdable=false
10:00 jboyer-isl then the usr_grp of the profile, item_ou and user_home_ou set to the same ou, and holdable=true?
10:03 jboyer-isl I guess the question really is, the line with the most matching fields is the winner? (sort of like CSS specificity?)
10:04 tsbere jboyer-isl: The fields are weighted. Some "mean" more than others.
10:05 jboyer-isl So the line that has the highest weighted score is chosen, even though it may have fewer matching fields?
10:05 tsbere jboyer-isl: For example, the requestor's group (the person placing the hold, not the person the hold is for) by default trumps everything else, followed by the user's group, then a combination of the OUs...
10:07 Dyrcona jboyer-isl: Without getting into too many details, yes, what you want to do would work.
10:07 Dyrcona What tsbere is trying to warn you about is if you have any rules with the requestor_grp set then they might interact badly with your changes.
10:08 Dyrcona We have Local Use Only patron groups and we set them up as you described.
10:08 Dyrcona We also do not use the requestor_grp field, because we never care who places the hold, just who the hold is for.
10:09 jboyer-isl Dyrcona: That's the way we see it too, caring about who places the hold only causes confusion.
10:10 jboyer-isl Thanks for the explanations you two.
10:10 Dyrcona You can adjust the weights in config.hold_matrix_weights, but we use the defaults.
10:11 jboyer-isl I'll probably review them so there aren't any surprises, but I'm hoping to stick to the defaults also.
10:11 Dyrcona jboyer-isl: One other thing, we usually the pickup_ou to the user's home_ou as well.
10:11 mllewellyn joined #evergreen
10:11 Dyrcona So, we set item_circ_ou, user_home_ou, pickup_ou to the user's home ou, user_grp to Local Use Only (in our case) and holdable true.
10:12 Dyrcona There's a consortium holdable false for Local Use Only.
10:12 pinesol_green [evergreen|Remington Steed] Docs 2.5: Fix floating groups heading level - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=d1de196>
10:12 Dyrcona We also have to make exceptions for any non-holdable circ_modifiers, because setting the holdable true would usually override that.
10:13 jboyer-isl Dyrcona: Good to know. That's very similar to how our scripts used to work.
10:14 Dyrcona It's kind of funny, because the majority of entries in our hold_matrix_matchpoint set the holdable false for specific circ_modifiers for local use only patrons at their home ou.
10:15 jboyer-isl So they can only place holds at their home_ou's but not on everything?
10:16 Dyrcona jboyer-isl: Right. Some circ_modifiers do not allow holds at all.
10:16 Dyrcona Trouble is when you set all of the ous with the usr group and say true for holdable, that outweighs the circ_modifier with false.
10:16 Dyrcona So you make exceptions to keep the rules in line with expectations.
10:17 jboyer-isl Oh, I see. The Local Use Only lines permitting their holds were overriding the generic "no holds on these circ_mods" lines?
10:17 Dyrcona Yes.
10:17 Dyrcona You could adjust that by making the circ_modifier have the highest weight, probably.
10:18 Dyrcona tsbere wrote the code. I just manipulate the data. :)
10:19 jboyer-isl Well, this should certainly keep our testers busy anyway. :)
10:19 jboyer-isl tsbere++
10:19 tsbere Note that if you make circ mod first then circ mods can override "this patron type can't place holds..." type entries ;)
10:19 jboyer-isl Dyrcona++
10:20 tsbere jboyer-isl: Oh, and if you want it to act in a "the more you fill out..." state set the weight association to "All Equal" - Then the more fields filled out the higher the rule will be.
10:20 Dyrcona Yeah, the real problem is trying to cram analog logic into a binary system.
10:21 jboyer-isl tsbere: That sounds like the way to go. It shouldn't be too many more rules for our situation, but you would be able to tell at a glance what rule will be used for each situation.
10:22 tsbere jboyer-isl: Don't be too sure of that. Things get iffy when multiple rows match with the same number of filled in fields that way...
10:22 Sha`Bren left #evergreen
10:22 tsbere jboyer-isl: Say you have a rule that matches marc type, and another that matches circ mod. The first says not holdable, the second says holdable. Otherwise identical, both match the hold. Which one wins?
10:22 eeevil jboyer-isl: what tsbere just said.  provide differing weights for (generally) mutually exclusive fields
10:23 jboyer-isl Oh, yeah. I guess there's nothing stopping us from defining 2 rules that have 3 matches each, on different fields. That's no good.
10:23 csharp we hit the marc_type vs circ_modifier issue before...
10:23 eeevil it's good when you have a set of fields that are used in well-known combinations, just be careful :)
10:24 mrpeters jboyer-isl: i dont think you guys are using any hold rules based on marc type though, at least you weren't when i left
10:24 mrpeters all the rules were based on circ mod
10:25 jboyer-isl mrpeters: Nope, everything is circ_mod and *_ou. But similar situations could come up with other fields I suppose.
10:26 mrpeters perhaps
10:28 Dyrcona we use marc_type and use circ_modifier as modifiers to the general rules, but we're crazy. :)
10:28 tsbere mrpeters: If they switch to "everything is equal" then "this group says no" and "this circ mod says yes" but otherwise equal would be a toss-up as to which one applies...
10:29 mrpeters i see
10:29 mrpeters fun stuff, wish i could be more involved
10:29 * tsbere notes that it isn't *really* a toss-up due to other factors, such as the "final determinator if otherwise identical is ID order in the table"
10:29 Dyrcona tsbere is working on switching us to a system where the circ_modifier names encode the rules that they represent, to make it easier for library staff to understand what their circ rules actually are.
10:31 * Dyrcona gets kind of tired for the "we want it simple, except we don't" dance.
10:31 jboyer-isl "Everything checks out for 2 weeks." "Everything?" "Well, everything but X, Y, Z, things in this location, that Item ...."
10:32 Dyrcona Exactly!
10:32 Dyrcona And that's just the easy stuff.
10:33 bshum RDA--
10:33 tsbere jboyer-isl: and by the time the exceptions are done "everything" has become "1% of the collection" ;)
10:34 jboyer-isl This shelf! Everything on this shelf checks out for 2 weeks! The rest of it, consult the crystal ball.
10:35 Dyrcona Magic Meatball sez...... Ask again later.
10:35 tsbere jboyer-isl: But what if the tea leaves disagree with the crystal ball? ;)
10:35 mrpeters just be glad you have consortial policies, jboyer-isl
10:35 mrpeters and not per library
10:35 Dyrcona Hey! We have both!
10:36 mrpeters i pity you
10:36 Dyrcona tsbere: Then it's time for the chicken guts.
10:36 Dyrcona I should have gotten into something simple like neurosurgery.
10:36 * Dyrcona is NOT joking.
10:36 jboyer-isl Sisyphus thinks that shit is a lost cause.
10:37 Dyrcona Yes, it often is sisyphean.
10:42 csharp yeah - you end up with something where 95% of your configuration efforts are to address the 5% of actual occurrences of those exceptions
10:42 csharp probably less
10:43 csharp @praise pulling percentages from thin air
10:43 * pinesol_green pulling percentages from thin air is the very model of a modern major hacker
10:43 Dyrcona I know. Then they blather on about "serving the patron" when they want to be able to override all or their self-imposed exceptions.
10:44 Dyrcona I feel like just removing the rules and saying, "Deal with it at the circ. desk."
10:45 tsbere I love when they say "we need to be able to X to serve the patron!" where X is basically "don't serve a different patron while serving the one standing in front of you" >_>
10:45 collum joined #evergreen
10:46 paxed seems like the gauntlet has been thrown down. i need to fix bug 1089767 in the next 3 weeks for our project.
10:46 pinesol_green Launchpad bug 1089767 in Evergreen "Add Parent/Guardian Field to Patron Summary Record" (affected: 2, heat: 10) [Low,Triaged] https://launchpad.net/bugs/1089767
10:47 Dyrcona paxed: That would have been nice for my recent migration. Their old system had that field.
10:48 paxed Dyrcona: indeed. this is something we need by law - minors shall not get collection letters, for example.
10:49 Dyrcona paxed: That's probably a law here, but who knows what the law is in the US of A?
10:50 paxed finns often compare russia to a wonderland (in a negative sense) where anything is possible. i guess it's similar ... :P
10:51 Dyrcona It's getting that way here. Anything is possible, if you have deep pockets.
10:54 bshum Well this is just weird.... so with pubinfo, I'm seeing something weird happen where the search results page doesn't show the pubinfo value (even though the bib has the proper 264 RDA tag for publication data) while the record details itself shows the pubinfo variable just fine.
10:56 bshum Oh interesting.
10:56 eeevil bshum: IIRC, those interfaces get their data from different sources, and different helpers chop up the records in different ways
10:56 bshum The record summary uses the full breakdown of pubplace, publisher, pubdate as separate variables.
10:56 * Dyrcona is not surprised.
10:57 bshum Results gets a single mashed pubinfo variable
10:57 bshum That apparently is broken
11:04 jeff for parent/guardian, we add a patron note (non-blocking, but alerting) called a "Confidentiality Note". We populate it with the name of the individual or individuals who are authorized to be given information about that account. In the majority of the cases, this is parent/guardian/etc.
11:06 bshum dbs: The graphic_880s for args.pubinfos in misc_util.tt2 breaks on RDA bibs.  I think it's target_field towards 260 is what's causing it to mangle the pubinfo data block and prevent it from showing up in search results.
11:06 jboyer-isl jeff, paxed: I think we've used ID2 in the past. I don't know if there's anything special set up so that collections companies will ignore user's with that set, but it's a possibility.
11:06 bshum Removing that graphic_880s lookup for pubinfo fixes the search results display of pubinfo for RDA bibs, but then it breaks facets of course.  :D
11:07 jeff jboyer-isl: in our case, since patron DoB is delivered in collections calls, letters for collections for patrons under 18 years of age are addressed to "Parent/Guardian of"
11:07 bshum I'll file an LP bug
11:08 jeff jboyer-isl: I suspect that is similar for all libraries using UMS in most/all US states.
11:08 paxed jboyer-isl: the collection company (or whatever) shouldn't even get the information that it's a minor - the parent is the one who's getting the collection letter.
11:08 jboyer-isl jeff: that's probably true.
11:09 jboyer-isl paxed: so you mean the company should only see the parent's information, not even the name of the actual account holds?
11:09 jboyer-isl er, holder?
11:09 jeff And there's a difference between the company that we contract with who gets the details on what is owed for what by whom, and the credit reporting agencies that they work with after some time has passed if there is no patron response. My understanding is that no collection reporting is done for minor accounts -- I don't think it goes to the parent, since that data is not provided.
11:10 jeff (let me know if that truncated before "not provided."
11:10 paxed jboyer-isl: the library won't even send the minor's info out.
11:10 jboyer-isl paxed: I see.
11:10 jboyer-isl jeff: it all came through/
11:10 jeff thanks.
11:11 paxed the idea is that anything the minor has to pay, is actually paid by his guardian. this is one way to prevent parents abusing their kid's accounts.
11:11 * jeff nods
11:11 jeff that's how we operate also.
11:12 jeff when opening a new account the parent/guardian is informed that they are responsible for return of the material in good condition, etc.
11:12 paxed yup
11:13 jeff https://tadl.org/newuser has the wording that we currently use
11:14 paxed also, the linkage between minor and guardian should be automatically unlinked when the minor is no longer minor.
11:14 * jeff nods
11:15 paxed (although that needs a override, in case the guardian is not because of age, but for some other reason the patron cannot take care of his or her things)
11:16 paxed i guess i shold put all this up on the bug...
11:16 jeff and that's where it gets tricky. :-)
11:16 jeff there is existing logic (in a scheduled script) to remove Juvenile status on patrons who have met the age criteria.
11:20 dbs bshum: haven't read scrollback yet, but it doesn't surprise me that something RDA-ish would break
11:20 bshum dbs: Yeah, darn RDA
11:21 bshum RDA-- again
11:21 bshum I just filed https://bugs.launchpad.net/evergreen/+bug/1243746
11:21 pinesol_green Launchpad bug 1243746 in Evergreen "TPAC search results don't display RDA 264 publisher info" (affected: 1, heat: 6) [Undecided,New]
11:21 bshum I think we're going to need to add some more protection to prevent 260 vs. 264 issues from bringing further pain upon us.
11:33 bshum I could see splitting up 260 and 264 into separate pubinfo variables and leaving the 880 check for only the 260 one. But then the question is which displays if both happened to exist.
11:45 smyers_ joined #evergreen
11:48 kitteh_ joined #evergreen
12:05 kmlussier joined #evergreen
12:58 kbutler joined #evergreen
13:08 kbeswick_ joined #evergreen
13:31 smyers__ joined #evergreen
14:01 dMiller joined #evergreen
14:11 stevenyvr2 joined #evergreen
14:23 Dyrcona kmlussier: I loaded depesz's ranked_volumes function on my development system.
14:27 pinesol_green [evergreen|Remington Steed] Serials Docs: Improve format, fix typos, and update - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=ca588fe>
14:27 pinesol_green [evergreen|Remington Steed] Serials Docs: Update for new features in 2.5 - <http://git.evergreen-ils.org/?p=​Evergreen.git;a=commit;h=1dead5d>
14:34 collum joined #evergreen
14:34 kmlussier Dyrcona++
14:37 smyers_ joined #evergreen
14:49 dMiller joined #evergreen
14:52 blake joined #evergreen
14:54 qwebirc69238 joined #evergreen
14:58 Dyrcona joined #evergreen
15:44 mrpeters joined #evergreen
16:14 jboyer-isl A quick global flags Q if anyone still on knows: When the global flag "Holds: When testing hold matrix matchpoints, use the profile group of the receiving user instead of that of the requestor (affects staff-placed holds)" is enabled,
16:17 jboyer-isl Does that mean it compares the user that will receive the hold against the requestor permission group column of the holds matrix, instead of the user permission group?
16:22 jboyer-isl Ah, nevermind. I went looking for the test and found it. It does.
16:28 * Dyrcona was about to say that is what it does.
16:42 ktomita joined #evergreen
16:43 gsams joined #evergreen
16:44 Dyrcona joined #evergreen
17:10 mmorgan left #evergreen
21:37 mrpeters joined #evergreen
21:49 kbeswick joined #evergreen
22:16 mrpeters left #evergreen

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