No subject


Fri Dec 14 15:48:43 EST 2012


2952<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2952>     # set the locale-b=
ased default preferred location
2953<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2953>     if (!$query->parse=
_tree->find_filter('preferred_language')) {
2954<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2954>         $parser->defau=
lt_preferred_language( $args{preferred_language} );
2955<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2955>
2956<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2956>         if (!$parser->=
default_preferred_language) {
2957<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2957>             my $ses_lo=
cale =3D $client->session ? $client->session->session_locale : '';
2958<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2958>             $parser->d=
efault_preferred_language( $locale_map{ lc($ses_locale) } );
2959<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2959>         }
2960<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2960>
2961<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2961>         if (!$parser->=
default_preferred_language) { # still nothing...
2962<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2962>             my $tmp_dp=
l =3D $config->config_value(
2963<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2963>                 apps =
=3D> 'open-ils.search' =3D> app_settings =3D> 'default_preferred_language'
2964<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2964>             ) || $conf=
ig->config_value(
2965<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2965>                 apps =
=3D> 'open-ils.storage' =3D> app_settings =3D> 'default_preferred_language'
2966<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2966>             );
2967<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2967>
2968<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2968>             $parser->d=
efault_preferred_language( $tmp_dpl )
2969<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2969>         }
2970<http://git.evergreen-ils.org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/=
src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm;h=3D6f291=
26a6c3c3df121586c3afcb92416033f0235;hb=3DHEAD#l2970>     }

In my exploration this section of code always seems to end in the last if s=
ection and sets the default_preferred_language there and it is always eng. =
  I traced this to the fact that $client->session->session_locale is of the=
 form fr_CA  and the codes in $locale_map which are populated from the conf=
ig.i18n_locale table are of the form fr-CA.

I am not sure if this section of code is important to what I am going for h=
ere or not but I wanted input on these findings too.  I also forced this by=
 hard coding $ses_locale =3D 'fr-CA'  before the parser call for the defaul=
t language.  $parser->default_preferred_language ends up equaling "fre"  as=
 expected but again this does not trigger the translation.

Any thoughts?  I do very much appreciate all the help I have received.

A broader point, for which I'd like input from as many as would care to loo=
k at it, is that while I'm certain we can make things work the way my WIP c=
ode is heading, I wonder if it would simply be better to make a rule for me=
thod_lookup() stating that if it is called as a class method it returns a b=
are, blessed coderef (pre-patch behavior), but if called as an instance met=
hod it returns a subrequest object (post-patch behavior).  The reasoning be=
hind that is that when called as a class method you are either doing someth=
ing outside of a session context (as is the case with O::Application::handl=
er -- the session is separate from the method and only then are they joined=
 into a request object), or you don't care about the session and are perfor=
ming some utility function (such as in direct_loader.pl<http://direct_loade=
r.pl>, or the filtered metarecord constituent lookup in O::A::Circ::Holds. =
 In every instance-method case I could find in both the OpenSRF and Evergre=
en code bases, the very next thing you do with the method is call run().  S=
o, I think the rule I outline above is already in force for all practical p=
urposes, and it would point to a simpler implementation overall, IMO.  In t=
he least it would remove the need to unwrap the subrequest in handler() as =
the attached patch does.

Thoughts, anyone?

I am not even going to pretend to have enough knowledge to comment on this =
intelligently.

Thanks

Dan


I do appreciate you taking the time to look at this, I am not trying to be =
difficult.  I just have very little experience with this code base at this =
point and have actually never had the need to dive into the OpenSRF portion=
.

Thanks


From: open-ils-dev-bounces at list.georgialibraries.org<mailto:open-ils-dev-bo=
unces at list.georgialibraries.org> [mailto:open-ils-dev-bounces at list.georgial=
ibraries.org<mailto:open-ils-dev-bounces at list.georgialibraries.org>] On Beh=
alf Of Mike Rylander
Sent: Monday, March 31, 2014 1:14 PM

To: Evergreen Development Discussion List
Subject: Re: [OPEN-ILS-DEV] ***SPAM*** RE: Boolean Search Feature Questions

Dan,

While I can't definitively  discount the possibility that the patch (which,=
 as I mentioned, is untested) might be involved, the code reported in the e=
rror was not something I touched.  Specifically, the session() sub containi=
ng line 83 of Application.pm is separate from the AppSubrequest class altog=
ether, which has its own session() sub.

You asked before about the OpenSRF version, so I wonder what, exactly, you =
did to install the patch and why you felt you needed to rebuild Evergreen -=
- it should have been a simple change to two files already installed on the=
 system.


On Mon, Mar 31, 2014 at 3:47 PM, Dan Reuther <dReuther at catalystitservices.c=
om<mailto:dReuther at catalystitservices.com>> wrote:
Mike,

Sorry to keep bugging you.  I tried the patch out and I get the following  =
errors when I restart OpenSRF and rebuild Evergreen.

Updating fieldmapper
Exception: OpenSRF::DomainObject::oilsServerError 2014-03-31T12:27:01 OpenI=
LS::Utils::Cronscript /usr/local/share/perl/5.14.2/OpenILS/Utils/Cronscript=
.pm:276 <500>  Internal Server Error
Can't use string ("OpenSRF::Application::Settings") as a HASH ref while "st=
rict refs" in use at /usr/local/share/perl/5.14.2/OpenSRF/Application.pm li=
ne 83.

-> /openils/var/web/opac/common/js//fmall.js
Updating web_fieldmapper
Exception: OpenSRF::DomainObject::oilsServerError 2014-03-31T12:27:01 OpenI=
LS::Utils::Cronscript /usr/local/share/perl/5.14.2/OpenILS/Utils/Cronscript=
.pm:276 <500>  Internal Server Error
Can't use string ("OpenSRF::Application::Settings") as a HASH ref while "st=
rict refs" in use at /usr/local/share/perl/5.14.2/OpenSRF/Application.pm li=
ne 83.

-> /openils/var/web/opac/common/js//fmcore.js
Updating OrgTree
Exception: OpenSRF::DomainObject::oilsServerError 2014-03-31T12:27:02 OpenI=
LS::Utils::Cronscript /usr/local/share/perl/5.14.2/OpenILS/Utils/Cronscript=
.pm:276 <500>  Internal Server Error
Can't use string ("OpenSRF::Application::Settings") as a HASH ref while "st=
rict refs" in use at /usr/local/share/perl/5.14.2/OpenSRF/Application.pm li=
ne 83.

This is the code from Application.pm

sub session {
                my $self =3D shift;
                my $session =3D shift;

                if($session) {
                                $self->{session} =3D $session;
                }
#line 83--->          return $self->{session};
}

I am trying to follow the ins and outs of OpenSRF but I figured I would run=
 it by you.

From: open-ils-dev-bounces at list.georgialibraries.org<mailto:open-ils-dev-bo=
unces at list.georgialibraries.org> [mailto:open-ils-dev-bounces at list.georgial=
ibraries.org<mailto:open-ils-dev-bounces at list.georgialibraries.org>] On Beh=
alf Of Mike Rylander
Sent: Monday, March 31, 2014 10:32 AM

To: Evergreen Development Discussion List
Subject: Re: [OPEN-ILS-DEV] ***SPAM*** RE: Boolean Search Feature Questions

Dan,

I wrote it in a clone of the master branch, but it will apply (perhaps with=
 fuzz) to pretty much any version ... the code being touched is ancient.

--
Mike Rylander
 | Director of Research and Development
 | Equinox Software, Inc. / Your Library's Guide to Open Source
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  miker at esilibrary.com<mailto:miker at esilibrary.com>
 | web:  http://www.esilibrary.com<http://www.esilibrary.com/>

On Mon, Mar 31, 2014 at 12:50 PM, Dan Reuther <dReuther at catalystitservices.=
com<mailto:dReuther at catalystitservices.com>> wrote:
Mike,

What version of openSRF did you write this patch for?  I currently have 2.2=
.0.  Do I need to upgrade or do you see an issue with the version I have?

Thanks


From: open-ils-dev-bounces at list.georgialibraries.org<mailto:open-ils-dev-bo=
unces at list.georgialibraries.org> [mailto:open-ils-dev-bounces at list.georgial=
ibraries.org<mailto:open-ils-dev-bounces at list.georgialibraries.org>] On Beh=
alf Of Mike Rylander
Sent: Tuesday, March 25, 2014 2:08 PM
To: Evergreen Development Discussion List
Subject: Re: [OPEN-ILS-DEV] ***SPAM*** Boolean Search Feature Questions

Dan,

The code you mention isn't involved (it's not dealing with the layer that k=
nows about the client-selected locale, and that comment is referring to the=
 disconnect between MARC-prescribed language codes and everyone-else-in-the=
-world locale codes), but I think I see the issue.  The short version is th=
at method_lookup() in OpenSRF does not return an object that knows about th=
e current session, which is needed to find the locale, thus the locale is f=
orgotten at that point in the process. Attached is an OpenSRF patch for you=
 try out ... note that it is entirely untested, but it should be something =
in the right direction.  The point of it is to create the OpenSRF::AppSubre=
quest shim earlier, and stash the session there for use in the eventual cal=
l to run().

If that works out for you I'll create a launchpad bug and post a pullreques=
t branch.  OpenSRF 2.4 is planned for Soon(tm).



On Tue, Mar 25, 2014 at 1:35 PM, Dan Reuther <dReuther at catalystitservices.c=
om<mailto:dReuther at catalystitservices.com>> wrote:
This question is in regards to https://bugs.launchpad.net/evergreen/+bug/11=
52863

I am tracking a bug in this implementation and could use some assistance.  =
The feature seems to work as expected for English language searches.  The p=
roblem is when we switch to say French Canadian the operators are not trans=
lated.  I admit to not fully understanding how the localization system work=
s in Evergreen.  Does Evergreen currently have the ability to translate sea=
rch queries?

The behavior I am expecting is the following.  Language is set to en-US  an=
d the user enters      book or moon    on the Boolean search tab and they a=
re given the results that match book  and  the results that match moon.    =
If the language is set to fr-CA  and the user enters       book  ou moon   =
    they should see the same results.   Currently the first works as expect=
ed the second returns no matches.

I set the language to French (Canada)  and then trace the locale through th=
e program. I find that it switches to en-US in Application::Search::Biblio:=
:multiclass_query.

At line 950 in OpenILS/Application/Search/Biblio.pm I find the following co=
mments

# XXX This stops the session locale from doing the right thing.
                # XXX Revisit this and have it translate to a lang instead =
of a locale.
                #$arghash->{preferred_language} =3D $U->get_org_locale($arg=
hash->{org_unit})
                #    unless $arghash->{preferred_language};

So I am curious if this is a known bug or just an unimplemented feature in =
Evergreen at this time and I am chasing a bug for functionality that does n=
ot exist?

Any help would be appreciated.  Thanks


Dan Reuther
Developer
[Catalyst Logo]




--
Mike Rylander
 | Director of Research and Development
 | Equinox Software, Inc. / Your Library's Guide to Open Source
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  miker at esilibrary.com<mailto:miker at esilibrary.com>
 | web:  http://www.esilibrary.com






--
Mike Rylander
 | Director of Research and Development
 | Equinox Software, Inc. / Your Library's Guide to Open Source
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  miker at esilibrary.com<mailto:miker at esilibrary.com>
 | web:  http://www.esilibrary.com




--_000_5F63DC695B58C44DBF1DB0996C2AB9A77E4DC5CORPEXCH01catalys_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<div>
<div>
<div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">I'm sorry if it sounded l=
ike I was questioning the need to restart services -- I wasn't.<o:p></o:p><=
/p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Part of the reason that I=
 and others have been nudging you toward the list is so that others can eit=
her jump in to help, or learn from our discussion. &nbsp;I'll try to be mor=
e explicit.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">With that in mind, I'm al=
l for automating&nbsp;repetitive&nbsp;tasks, but I want to make sure that b=
oth you and anyone following along at home doesn't get the impression that =
a full rebuild would be necessary for this sort
 of change. &nbsp;For testing out a WIP patch that just touches the Perl, s=
imply dropping the patch in place and restarting services (and, if mod_perl=
 code is touched, apache) is enough.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I also apologize if I cam=
e off as defensive, I appreciate any guidance you provide, I find it extrem=
ely valuable.&nbsp;
<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">That's a symptom, yes. &n=
bsp;The ultimate cause is that method_lookup() can be called as a class met=
hod, so the invocant $self is a package name instead of an instance, but se=
ssion() assumes it is being called as an
 instance method. &nbsp;The class method is a legitimate use case, so I've =
restructured the patch a little to account for that, and to try to make sur=
e that calling code gets everything it needs by unwrapping the subrequest i=
n one case.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><span style=3D"color:#1F4=
97D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I have tried out this lat=
est patch and OpenSRF will start now but I am still not getting the locale =
to propagate as expected.&nbsp;&nbsp; Looking in OpenILS/WWW/EGCatLoader/Se=
arch.pm
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black">&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l434"><span style=3D"color:#999999;text-decoration:none">434</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l435"><span style=3D"color:#999999;text-decoration:none">&nbsp;435</span><=
/a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my=
&nbsp;$method&nbsp;=3D&nbsp;'open-ils.search.biblio.multiclass.query';<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l436"><span style=3D"color:#999999;text-decoration:none">436</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$m=
ethod&nbsp;.=3D&nbsp;'.staff'&nbsp;if&nbsp;$ctx-&gt;{is_staff};<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l437"><span style=3D"color:#999999;text-decoration:none">437</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$m=
ethod&nbsp;=3D~&nbsp;s/biblio/metabib/&nbsp;if&nbsp;$is_meta;<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l438"><span style=3D"color:#999999;text-decoration:none">438</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l439"><span style=3D"color:#999999;text-decoration:none">&nbsp;439</span><=
/a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my=
&nbsp;$ses&nbsp;=3D&nbsp;OpenSRF::AppSession-&gt;create('open-ils.search');=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l440"><span style=3D"color:#999999;text-decoration:none">440</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l441"><span style=3D"color:#999999;text-decoration:none">&nbsp;441</span><=
/a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$s=
elf-&gt;timelog(&quot;Firing&nbsp;off&nbsp;the&nbsp;multiclass&nbsp;query&q=
uot;);<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l442"><span style=3D"color:#999999;text-decoration:none">442</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my=
&nbsp;$req&nbsp;=3D&nbsp;$ses-&gt;request($method,&nbsp;$args,&nbsp;$query,=
&nbsp;1);<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l443"><span style=3D"color:#999999;text-decoration:none">443</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$r=
esults&nbsp;=3D&nbsp;$req-&gt;gather(1);<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/WWW/E=
GCatLoader/Search.pm;h=3D3a69fb1937402bc0f5eecde6f149cce7fec0d59d;hb=3DHEAD=
#l444"><span style=3D"color:#999999;text-decoration:none">444</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$s=
elf-&gt;timelog(&quot;Returned&nbsp;from&nbsp;the&nbsp;multiclass&nbsp;quer=
y&quot;);<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I believe the call to Ope=
nSRF on line 439 is what kicks this whole process off.&nbsp; $ctx-&gt;{loca=
le} is correct at this point, reflecting the settings selected on
 the web interface.&nbsp;&nbsp; $ses-&gt;{session_locale}&nbsp; is always e=
n_US regardless.&nbsp; Looking at the call I notice that the locale is neve=
r passed into OpenSRF.&nbsp; Does this have to happen here? On a whim I did=
 try this .. $ses-&gt;{session_locale}&nbsp; =3D $ctx-&gt;{locale}&nbsp;&nb=
sp;&nbsp; This
 has the effect of having the correct language setting propagate down into =
metabib.&nbsp; Of course this still does not fix the issue so I am continui=
ng to look.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">That brings the question,=
 where is this translation supposed to happen?&nbsp; In the Query Parser?&n=
bsp; I have not been able to locate the code that handles this task.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I have also found another=
 issue, which may or may not be related to this.&nbsp; From OpenILS/Applica=
tion/Storage/Publisher/metabib.pm<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2952"><span style=3D"color:#999999;text-decoration:none">2=
952</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;set&nbsp;the&nbsp;locale-based&nbsp;default=
&nbsp;preferred&nbsp;location<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2953"><span style=3D"color:#999999;text-decoration:none">2=
953</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$query-&gt;parse_tree-&gt;find_filter('p=
referred_language'))&nbsp;{<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2954"><span style=3D"color:#999999;text-decoration:none">2=
954</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$parser-&gt;default_prefer=
red_language(&nbsp;$args{preferred_language}&nbsp;);<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2955"><span style=3D"color:#999999;text-decoration:none">2=
955</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2956"><span style=3D"color:#999999;text-decoration:none">2=
956</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$parser-&gt;defa=
ult_preferred_language)&nbsp;{<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2957"><span style=3D"color:#999999;text-decoration:none">2=
957</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my=
&nbsp;$ses_locale&nbsp;=3D&nbsp;$client-&gt;session&nbsp;?&nbsp;$client-&gt=
;session-&gt;session_locale&nbsp;:&nbsp;'';<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2958"><span style=3D"color:#999999;text-decoration:none">2=
958</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$p=
arser-&gt;default_preferred_language(&nbsp;$locale_map{&nbsp;lc($ses_locale=
)&nbsp;}&nbsp;);<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2959"><span style=3D"color:#999999;text-decoration:none">2=
959</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2960"><span style=3D"color:#999999;text-decoration:none">2=
960</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2961"><span style=3D"color:#999999;text-decoration:none">2=
961</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$parser-&gt;defa=
ult_preferred_language)&nbsp;{&nbsp;#&nbsp;still&nbsp;nothing...<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2962"><span style=3D"color:#999999;text-decoration:none">2=
962</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my=
&nbsp;$tmp_dpl&nbsp;=3D&nbsp;$config-&gt;config_value(<o:p></o:p></span></p=
>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2963"><span style=3D"color:#999999;text-decoration:none">2=
963</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;apps&nbsp;=3D&gt;&nbsp;'open-ils.search'&nbsp;=3D&gt;=
&nbsp;app_settings&nbsp;=3D&gt;&nbsp;'default_preferred_language'<o:p></o:p=
></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2964"><span style=3D"color:#999999;text-decoration:none">2=
964</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&=
nbsp;||&nbsp;$config-&gt;config_value(<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2965"><span style=3D"color:#999999;text-decoration:none">2=
965</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;apps&nbsp;=3D&gt;&nbsp;'open-ils.storage'&nbsp;=3D&gt=
;&nbsp;app_settings&nbsp;=3D&gt;&nbsp;'default_preferred_language'<o:p></o:=
p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2966"><span style=3D"color:#999999;text-decoration:none">2=
966</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2967"><span style=3D"color:#999999;text-decoration:none">2=
967</span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2968"><span style=3D"color:#999999;text-decoration:none">2=
968</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$p=
arser-&gt;default_preferred_language(&nbsp;$tmp_dpl&nbsp;)<o:p></o:p></span=
></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2969"><span style=3D"color:#999999;text-decoration:none">2=
969</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-famil=
y:&quot;Courier New&quot;;color:black"><a href=3D"http://git.evergreen-ils.=
org/?p=3DEvergreen.git;a=3Dblob;f=3DOpen-ILS/src/perlmods/lib/OpenILS/Appli=
cation/Storage/Publisher/metabib.pm;h=3D6f29126a6c3c3df121586c3afcb92416033=
f0235;hb=3DHEAD#l2970"><span style=3D"color:#999999;text-decoration:none">2=
970</span></a>
 &nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">In my exploration this se=
ction of code always seems to end in the last if section and sets the defau=
lt_preferred_language there and it is always eng.&nbsp;&nbsp; I traced
 this to the fact that $client-&gt;session-&gt;session_locale is of the for=
m fr_CA&nbsp; and the codes in $locale_map which are populated from the con=
fig.i18n_locale table are of the form fr-CA.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I am not sure if this sec=
tion of code is important to what I am going for here or not but I wanted i=
nput on these findings too.&nbsp; I also forced this by hard
 coding $ses_locale =3D &#8216;fr-CA&#8217;&nbsp; before the parser call fo=
r the default language.&nbsp; $parser-&gt;default_preferred_language ends u=
p equaling &#8220;fre&#8221;&nbsp; as expected but again this does not trig=
ger the translation.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Any thoughts?&nbsp; I do =
very much appreciate all the help I have received.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">A broader point, for whic=
h I'd like input from as many as would care to look at it, is that while I'=
m certain we can make things work the way my WIP code is heading, I wonder =
if it would simply be better to make
 a rule for method_lookup() stating that if it is called as a class method =
it returns a bare, blessed coderef (pre-patch behavior), but if called as a=
n instance method it returns a subrequest object (post-patch behavior). &nb=
sp;The reasoning behind that is that
 when called as a class method you are either doing something outside of a =
session context (as is the case with O::Application::handler -- the session=
 is separate from the method and only then are they joined into a request o=
bject), or you don't care about
 the session and are performing some utility function (such as in <a href=
=3D"http://direct_loader.pl">
direct_loader.pl</a>, or the filtered metarecord constituent lookup in O::A=
::Circ::Holds. &nbsp;In every instance-method case I could find in both the=
 OpenSRF and Evergreen code bases, the very next thing you do with the meth=
od is call run(). &nbsp;So, I think the rule
 I outline above is already in force for all practical purposes, and it wou=
ld point to a simpler implementation overall, IMO. &nbsp;In the least it wo=
uld remove the need to unwrap the subrequest in handler() as the attached p=
atch does.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">Thoughts, anyone?<o:p></o=
:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I am not even going to pr=
etend to have enough knowledge to comment on this intelligently.<o:p></o:p>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Thanks&nbsp; <o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Dan <o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<blockquote style=3D"border:none;border-left:solid #CCCCCC 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">I do appreciate you taking the time to look at t=
his, I am not trying to be difficult.&nbsp; I just have very little experie=
nce with this code base at this point and have actually never
 had the need to dive into the OpenSRF portion.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Thanks</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;san=
s-serif&quot;">From:</span></b><span style=3D"font-size:10.0pt;font-family:=
&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D=
"_blank">open-ils-dev-bounces at list.georgialibraries.org</a> [mailto:<a href=
=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D"_blank=
">open-ils-dev-bounces at list.georgialibraries.org</a>]
<b>On Behalf Of </b>Mike Rylander<br>
<b>Sent:</b> Monday, March 31, 2014 1:14 PM</span><o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><br>
<b>To:</b> Evergreen Development Discussion List<o:p></o:p></p>
</div>
<div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><b>Subject:</b> Re: [OPEN=
-ILS-DEV] ***SPAM*** RE: Boolean Search Feature Questions<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Dan,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
While I can't definitively &nbsp;discount the possibility that the patch (w=
hich, as I mentioned, is untested) might be involved, the code reported in =
the error was not something I touched. &nbsp;Specifically, the session() su=
b containing line 83 of Application.pm is
 separate from the AppSubrequest class altogether, which has its own sessio=
n() sub.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
You asked before about the OpenSRF version, so I wonder what, exactly, you =
did to install the patch and why you felt you needed to rebuild Evergreen -=
- it should have been a simple change to two files already installed on the=
 system.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;margin-bottom:12.0p=
t;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
On Mon, Mar 31, 2014 at 3:47 PM, Dan Reuther &lt;<a href=3D"mailto:dReuther=
@catalystitservices.com" target=3D"_blank">dReuther at catalystitservices.com<=
/a>&gt; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Mike,</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Sorry to keep bugging you.&nbsp; I tried the pat=
ch out and I get the following &nbsp;errors when I restart OpenSRF and rebu=
ild Evergreen.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Updating fieldmapper</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Exception: OpenSRF::DomainObject::oilsServerErro=
r 2014-03-31T12:27:01 OpenILS::Utils::Cronscript /usr/local/share/perl/5.14=
.2/OpenILS/Utils/Cronscript.pm:276 &lt;500&gt;&nbsp; Internal Server
 Error</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Can't use string (&quot;OpenSRF::Application::Se=
ttings&quot;) as a HASH ref while &quot;strict refs&quot; in use at /usr/lo=
cal/share/perl/5.14.2/OpenSRF/Application.pm line 83.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">-&gt; /openils/var/web/opac/common/js//fmall.js<=
/span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Updating web_fieldmapper</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Exception: OpenSRF::DomainObject::oilsServerErro=
r 2014-03-31T12:27:01 OpenILS::Utils::Cronscript /usr/local/share/perl/5.14=
.2/OpenILS/Utils/Cronscript.pm:276 &lt;500&gt;&nbsp; Internal Server
 Error</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Can't use string (&quot;OpenSRF::Application::Se=
ttings&quot;) as a HASH ref while &quot;strict refs&quot; in use at /usr/lo=
cal/share/perl/5.14.2/OpenSRF/Application.pm line 83.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">-&gt; /openils/var/web/opac/common/js//fmcore.js=
</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Updating OrgTree</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Exception: OpenSRF::DomainObject::oilsServerErro=
r 2014-03-31T12:27:02 OpenILS::Utils::Cronscript /usr/local/share/perl/5.14=
.2/OpenILS/Utils/Cronscript.pm:276 &lt;500&gt;&nbsp; Internal Server
 Error</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Can't use string (&quot;OpenSRF::Application::Se=
ttings&quot;) as a HASH ref while &quot;strict refs&quot; in use at /usr/lo=
cal/share/perl/5.14.2/OpenSRF/Application.pm line 83.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">This is the code from Application.pm</span><o:p>=
</o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">sub session {</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my $self =3D shift;</span><o:p><=
/o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my $session =3D shift;</span><o:=
p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($session) {</span><o:p></o:p>=
</p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $self-&gt;{=
session} =3D $session;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">#line 83-</span><span style=3D"font-size:11.0pt;=
font-family:Wingdings;color:#1F497D">=E0</span><span style=3D"font-size:11.=
0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 return $self-&gt;{session};</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">}</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">I am trying to follow the ins and outs of OpenSR=
F but I figured I would run it by you.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;san=
s-serif&quot;">From:</span></b><span style=3D"font-size:10.0pt;font-family:=
&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D=
"_blank">open-ils-dev-bounces at list.georgialibraries.org</a> [mailto:<a href=
=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D"_blank=
">open-ils-dev-bounces at list.georgialibraries.org</a>]
<b>On Behalf Of </b>Mike Rylander<br>
<b>Sent:</b> Monday, March 31, 2014 10:32 AM</span><o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<br>
<b>To:</b> Evergreen Development Discussion List<o:p></o:p></p>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<b>Subject:</b> Re: [OPEN-ILS-DEV] ***SPAM*** RE: Boolean Search Feature Qu=
estions<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Dan,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
I wrote it in a clone of the master branch, but it will apply (perhaps with=
 fuzz) to pretty much any version ... the code being touched is ancient.<o:=
p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<br>
--&nbsp;<br>
Mike Rylander<br>
&nbsp;| Director of Research and Development<br>
&nbsp;| Equinox Software, Inc. / Your Library's Guide to Open Source<br>
&nbsp;| phone:&nbsp; 1-877-OPEN-ILS (673-6457)<br>
&nbsp;| email:&nbsp;&nbsp;<a href=3D"mailto:miker at esilibrary.com" target=3D=
"_blank">miker at esilibrary.com</a><br>
&nbsp;| web:&nbsp;&nbsp;<a href=3D"http://www.esilibrary.com/" target=3D"_b=
lank">http://www.esilibrary.com</a><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
On Mon, Mar 31, 2014 at 12:50 PM, Dan Reuther &lt;<a href=3D"mailto:dReuthe=
r at catalystitservices.com" target=3D"_blank">dReuther at catalystitservices.com=
</a>&gt; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Mike,</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">What version of openSRF did you write this patch=
 for?&nbsp; I currently have 2.2.0.&nbsp; Do I need to upgrade or do you se=
e an issue with the version I have?</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">Thanks</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-=
serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;san=
s-serif&quot;">From:</span></b><span style=3D"font-size:10.0pt;font-family:=
&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D=
"_blank">open-ils-dev-bounces at list.georgialibraries.org</a> [mailto:<a href=
=3D"mailto:open-ils-dev-bounces at list.georgialibraries.org" target=3D"_blank=
">open-ils-dev-bounces at list.georgialibraries.org</a>]
<b>On Behalf Of </b>Mike Rylander<br>
<b>Sent:</b> Tuesday, March 25, 2014 2:08 PM<br>
<b>To:</b> Evergreen Development Discussion List<br>
<b>Subject:</b> Re: [OPEN-ILS-DEV] ***SPAM*** Boolean Search Feature Questi=
ons</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Dan,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
The code you mention isn't involved (it's not dealing with the layer that k=
nows about the client-selected locale, and that comment is referring to the=
 disconnect between MARC-prescribed language codes and everyone-else-in-the=
-world locale codes), but I think
 I see the issue. &nbsp;The short version is that method_lookup() in OpenSR=
F does not return an object that knows about the current session, which is =
needed to find the locale, thus the locale is forgotten at that point in th=
e process. Attached is an OpenSRF patch
 for you try out ... note that it is entirely untested, but it should be so=
mething in the right direction. &nbsp;The point of it is to create the Open=
SRF::AppSubrequest shim earlier, and stash the session there for use in the=
 eventual call to run().<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
If that works out for you I'll create a launchpad bug and post a pullreques=
t branch. &nbsp;OpenSRF 2.4 is planned for Soon(tm).<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
</div>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;margin-bottom:12.0p=
t;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
On Tue, Mar 25, 2014 at 1:35 PM, Dan Reuther &lt;<a href=3D"mailto:dReuther=
@catalystitservices.com" target=3D"_blank">dReuther at catalystitservices.com<=
/a>&gt; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
This question is in regards to <a href=3D"https://bugs.launchpad.net/evergr=
een/&#43;bug/1152863" target=3D"_blank">
https://bugs.launchpad.net/evergreen/&#43;bug/1152863</a><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
I am tracking a bug in this implementation and could use some assistance.&n=
bsp; The feature seems to work as expected for English language searches.&n=
bsp; The problem is when we switch to say French Canadian the operators are=
 not translated.&nbsp; I admit to not fully understanding
 how the localization system works in Evergreen. &nbsp;Does Evergreen curre=
ntly have the ability to translate search queries?&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
The behavior I am expecting is the following.&nbsp; Language is set to en-U=
S&nbsp; and the user enters&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;book or moon&nbsp=
; &nbsp;&nbsp;on the Boolean search tab and they are given the results that=
 match book&nbsp; and&nbsp; the results that match moon.&nbsp;&nbsp;&nbsp; =
If the language is set to fr-CA&nbsp;
 and the user enters&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;book&nbsp; ou moon=
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;they should see the same results.&nbsp=
;&nbsp; Currently the first works as expected the second returns no matches=
.&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
I set the language to French (Canada)&nbsp; and then trace the locale throu=
gh the program. I find that it switches to en-US in Application::Search::Bi=
blio::multiclass_query.&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
At line 950 in OpenILS/Application/Search/Biblio.pm I find the following co=
mments<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in;text-indent:.5in">
# XXX This stops the session locale from doing the right thing.<o:p></o:p><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;# XXX Revisit this and have it translate to a lang instead =
of a locale.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp; #$arghash-&gt;{preferred_language} =3D $U-&gt;get_org_locale($ar=
ghash-&gt;{org_unit})<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp; unless $arghash-&gt;{preferred_language=
};<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
So I am curious if this is a known bug or just an unimplemented feature in =
Evergreen at this time and I am chasing a bug for functionality that does n=
ot exist?<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Any help would be appreciated.&nbsp; Thanks <o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Dan Reuther<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
Developer<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<img border=3D"0" width=3D"225" height=3D"75" id=3D"_x0000_i1025" src=3D"ci=
d:image001.png at 01CF4DAE.8DE64380" alt=3D"Catalyst Logo"><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"color:#888888">&nbsp;</span><o:p></o:p></p>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"color:#888888"><br>
<br clear=3D"all">
</span><o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"color:#888888">&nbsp;</span><o:p></o:p></p>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<span style=3D"color:#888888">-- <br>
Mike Rylander<br>
&nbsp;| Director of Research and Development<br>
&nbsp;| Equinox Software, Inc. / Your Library's Guide to Open Source<br>
&nbsp;| phone:&nbsp; 1-877-OPEN-ILS (673-6457)<br>
&nbsp;| email:&nbsp; <a href=3D"mailto:miker at esilibrary.com" target=3D"_bla=
nk">miker at esilibrary.com</a><br>
&nbsp;| web:&nbsp; <a href=3D"http://www.esilibrary.com" target=3D"_blank">=
http://www.esilibrary.com</a>
</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<br>
<br clear=3D"all">
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
<br>
<br clear=3D"all">
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
&nbsp;<o:p></o:p></p>
</div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.5in">
-- <br>
Mike Rylander<br>
&nbsp;| Director of Research and Development<br>
&nbsp;| Equinox Software, Inc. / Your Library's Guide to Open Source<br>
&nbsp;| phone:&nbsp; 1-877-OPEN-ILS (673-6457)<br>
&nbsp;| email:&nbsp; <a href=3D"mailto:miker at esilibrary.com" target=3D"_bla=
nk">miker at esilibrary.com</a><br>
&nbsp;| web:&nbsp; <a href=3D"http://www.esilibrary.com" target=3D"_blank">=
http://www.esilibrary.com</a>
<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><br>
<br clear=3D"all">
<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.5in"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_5F63DC695B58C44DBF1DB0996C2AB9A77E4DC5CORPEXCH01catalys_--

--_004_5F63DC695B58C44DBF1DB0996C2AB9A77E4DC5CORPEXCH01catalys_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=11795;
	creation-date="Tue, 01 Apr 2014 22:41:24 GMT";
	modification-date="Tue, 01 Apr 2014 22:41:24 GMT"
Content-ID: <image001.png at 01CF4DAE.8DE64380>
Content-Transfer-Encoding: base64

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

--_004_5F63DC695B58C44DBF1DB0996C2AB9A77E4DC5CORPEXCH01catalys_--


More information about the Open-ils-dev mailing list