SFX Linking

10 views
Skip to first unread message

Luke O'Sullivan

unread,
May 2, 2012, 8:08:10 AM5/2/12
to xerxes...@googlegroups.com
Hi Folks,

At present, Full Text links take a user directly to the source - our systems librarian is wondering if it is possible to ensure that all links take users to the SFX page instead?

Thanks,

Luke

Jonathan Rochkind

unread,
May 2, 2012, 10:56:02 AM5/2/12
to xerxes...@googlegroups.com, Luke O'Sullivan
Xerxes by default will display 'full text' links delivered directly by
the database search, if present.

If such a link is present, it's the only link Xerxes will display on the
search results screen. If such a link is not present, Xerxes will
display SFX links on the search result screen instead. Both links, if
available, are always displayed on the individual record screen.

So it sounds like what you want to do is to NEVER display those native
'full text' links; if we could tell Xerxes to do that, then it would
replace em with your SFX links automatically.

You can list _individual_ Metalib resources to not display 'native
fulltext' for, in the Xerxes config, fulltext_ignore_sources

But listing every single resource in Metalib here, and keeping it up to
date as you add resources, gets painful. You want to tell Xerxes to do
that to every single resource.

I don't think there is currently a config for that, unfortunately. I
personally am not going to have any time to try to add one for you;
maybe David will; alternately, if you've got any PHP abilities you could
try to figure out how to modify Xerxes to do that yourself -- then send
your changes back to David as a suggestion to incorporate in Xerxes,
rather than running it as your own custom forked Xerxes.
> --
> You received this message because you are subscribed to the Google
> Groups "xerxes-portal" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/xerxes-portal/-/hqsIBfTIIS4J.
> To post to this group, send email to xerxes...@googlegroups.com.
> To unsubscribe from this group, send email to
> xerxes-porta...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/xerxes-portal?hl=en.

Walker, David

unread,
May 2, 2012, 7:14:01 PM5/2/12
to xerxes...@googlegroups.com

So, as Jonathan mentioned, it’s certainly possible to customize Xerxes to this effect, Luke.

 

There is no built-in configuration for this option, however, because I think the direct full-text links are incredibly useful.

 

I appreciate the view that we should route all requests through the link resolver, so users see the range of full-text options, as well as ancillary services.  It certainly sounds good in theory.

 

But, in practice, link resolvers have a not insignificant failure rate when linking to full-text.  And that can be extremely frustrating when you are searching a full-text database via Metalib (e.g., Academic Search Premier or Factiva) and yet the linking via SFX to the full text in the native interface of that very databases doesn’t work.  In both cases, a direct full-text link would have been available in Xerxes.  Hiding that seems like adding insult to injury.

 

We’ve seen this same issue play out in the new discovery services, like Primo Central and Summon, as well.  Summon, in particular, was at one time, I believe, nothing but OpenURL linking.  They have more recently been adding direct full-text links whenever possible.

 

--Dave

-------------------------

David Walker

Interim Director, Systemwide Digital Library Services

California State University

562-355-4845

--

Walker, David

unread,
May 2, 2012, 7:18:29 PM5/2/12
to xerxes...@googlegroups.com

So now that you’ve read my “here’s what’s good for you” response . . .

 

If you really do want this, Luke, I’d be happy to work with you to make it happen. :-)

 

--Dave

 

-------------------------

David Walker

Interim Director, Systemwide Digital Library Services

California State University

562-355-4845

 

Luke O'Sullivan

unread,
May 3, 2012, 8:07:34 AM5/3/12
to xerxes...@googlegroups.com
Hi Dave &  jrochkind,

Personally, I'm happy with the way things work but I've been asked to make the change by our systems librarian so I'm going to look into it.

I believe I'm using Xerxes 1.8 - would you prefer it if I looked into Xerxes 2.0 to make the changes?

Thanks,

Luke

Walker, David

unread,
May 3, 2012, 9:32:28 AM5/3/12
to xerxes...@googlegroups.com

No, stay with 1.8.  Version 2.0 is still very much in-development.

 

--Dave

 

-------------------------

David Walker

Interim Director, Systemwide Digital Library Services

California State University

562-355-4845

 

From: xerxes...@googlegroups.com [mailto:xerxes...@googlegroups.com] On Behalf Of Luke O'Sullivan


Sent: Thursday, May 03, 2012 5:08 AM
To: xerxes...@googlegroups.com

--

You received this message because you are subscribed to the Google Groups "xerxes-portal" group.

To view this discussion on the web visit https://groups.google.com/d/msg/xerxes-portal/-/RdVaJkfvd2YJ.

Jonathan Rochkind

unread,
May 3, 2012, 9:52:59 AM5/3/12
to xerxes...@googlegroups.com, Walker, David
You could also consider standing up to your systems librarian, heh.

Dave, I'm a bit surprised, I thought I remembered you a couple years ago
saying you thought link resolver links were often _more_ reliable than
the direct-to-database links! Perhaps I'm misremembering, or perhaps
things have changed.

On 5/3/2012 9:32 AM, Walker, David wrote:
> No, stay with 1.8. Version 2.0 is still very much in-development.
>
> --Dave
>
> -------------------------
>
> David Walker
>
> Interim Director, Systemwide Digital Library Services
>
> California State University
>
> 562-355-4845
>
> *From:*xerxes...@googlegroups.com
> [mailto:xerxes...@googlegroups.com] *On Behalf Of *Luke O'Sullivan
> *Sent:* Thursday, May 03, 2012 5:08 AM
> *To:* xerxes...@googlegroups.com
> *Subject:* [xerxes-portal] Re: SFX Linking
>
> Hi Dave & jrochkind,
>
> Personally, I'm happy with the way things work but I've been asked to
> make the change by our systems librarian so I'm going to look into it.
>
> I believe I'm using Xerxes 1.8 - would you prefer it if I looked into
> Xerxes 2.0 to make the changes?
>
> Thanks,
>
> Luke
>
>
> On Wednesday, 2 May 2012 13:08:10 UTC+1, Luke O'Sullivan wrote:
>
> Hi Folks,
>
> At present, Full Text links take a user directly to the source - our
> systems librarian is wondering if it is possible to ensure that all
> links take users to the SFX page instead?
>
> Thanks,
>
> Luke
>
> --
> You received this message because you are subscribed to the Google
> Groups "xerxes-portal" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/xerxes-portal/-/RdVaJkfvd2YJ.
> To post to this group, send email to xerxes...@googlegroups.com
> <mailto:xerxes...@googlegroups.com>.
> To unsubscribe from this group, send email to
> xerxes-porta...@googlegroups.com
> <mailto:xerxes-porta...@googlegroups.com>.
> For more options, visit this group at
> http://groups.google.com/group/xerxes-portal?hl=en.
>
> --
> You received this message because you are subscribed to the Google
> Groups "xerxes-portal" group.

Luke O'Sullivan

unread,
May 3, 2012, 1:54:44 PM5/3/12
to xerxes...@googlegroups.com
Hello Again,

How about this for a solution which will allow users to decide if they want fulltext links only, sfx (standard) links only or both...?

New config setting:

        <!-- results links mode FULLTEXT, STANDARD, BOTH-->
        
        <config name="results_links_mode">FULLTEXT</config>

Front Controller:

    $links = $objRegistry->getConfig( 'RESULTS_LINKS_MODE', false, "FULLTEXT" );
            $objRegistry->setConfig( "RESULTS_LINKS_MODE", $links , true );

Includes.xsl (Basically split full_text_options up and check new config setting)

<xsl:template name="full_text_options">
<xsl:variable name="metalib_db_id" select="metalib_id" />
    <xsl:variable name="results_links_mode" select="//config/results_links_mode" />


    <!-- holdings (to catalog)  -->
<xsl:if test="links/link[@type='holdings'] and (//config/show_all_holdings_links = 'true' or //config/holdings_links/database[@metalib_id=$metalib_db_id])">
<xsl:call-template name="record_link">
<xsl:with-param name="type">holdings</xsl:with-param>
<xsl:with-param name="text" select="$text_link_holdings"/>
<xsl:with-param name="img_src" select="$img_src_holdings"/>
</xsl:call-template>
</xsl:if>
<!-- native full-text -->
<xsl:if test="full_text_bool and $results_links_mode != 'STANDARD'">

  <xsl:call-template name="full_text_links"/>
</xsl:if>
    
    <xsl:if test="$results_links_mode != 'FULLTEXT'">

       <xsl:call-template name="non_full_text_links"/>                          
                
    </xsl:if>

</xsl:template>

<xsl:template name="non_full_text_links">
    <xsl:variable name="metalib_db_id"  select="metalib_id" />
    <xsl:variable name="link_resolver_allowed" select="not(//database_links/database[@metalib_id = $metalib_db_id]/sfx_suppress = '1')" />
    <xsl:choose>
    
        <!-- link resolver -->
        <xsl:when test="$link_resolver_allowed and (subscription = 1 or //fulltext/issn = standard_numbers/issn)">
                <a href="{../url_open}&amp;fulltext=1" target="{$link_target}" class="recordAction linkResolverLink">
                    <xsl:call-template name="img_format_html">
                        <xsl:with-param name="class">miniIcon linkResolverLink</xsl:with-param>
                    </xsl:call-template>
                    <xsl:text> </xsl:text>
                    <xsl:copy-of select="$text_link_resolver_available" />
                </a>
        </xsl:when>
        
        <xsl:when test="$link_resolver_allowed">
                <a href="{../url_open}" target="{$link_target}" class="recordAction linkResoverLink">
                    <img src="{$image_sfx}" alt="" class="miniIcon linkResolverLink "/>
                    <xsl:text> </xsl:text>
                    <xsl:copy-of select="$text_link_resolver_check" />
                </a>
        </xsl:when>
        
        <!-- if no direct link or link resolver, do we have an original record link? -->
        
        <xsl:when test="links/link[@type='original_record'] and (//config/show_all_original_record_links = 'true' or //config/original_record_links/database[@metalib_id = $metalib_db_id])">
            <xsl:call-template name="record_link">
            <xsl:with-param name="type">original_record</xsl:with-param>
            <xsl:with-param name="text" select="$text_link_original_record"/>
            <xsl:with-param name="img_src" select="$img_src_chain"/>
            </xsl:call-template>
        </xsl:when>
        
        <!-- @todo remove this 
        if none of the above, but we DO have text in the record, tell them so. -->
        
        <xsl:when test="embeddedText/paragraph">
            <a href="{../url_full}" class="recordAction textLink">
            <img src="{$base_url}/images/famfamfam/page_go.png" alt="" class="miniIcon textLink"/>
                Text in record
            </a>
        </xsl:when>
    </xsl:choose>
</xsl:template>

On Wednesday, 2 May 2012 13:08:10 UTC+1, Luke O'Sullivan wrote:

Walker, David

unread,
May 7, 2012, 10:35:42 AM5/7/12
to xerxes...@googlegroups.com
Hi Luke,

If I were you, I would tackle this issue here:

http://code.google.com/p/xerxes-portal/source/browse/trunk/lib/Xerxes/metalib/MetalibRecord.php#666

This section of code looks to 'demote' full-text links, essentially removing them from the display.

The config entry 'fulltext_ignore_sources' is used to control this. Currently, it takes a comma-separated list of databases that you want this behavior to apply to.

We could update the logic here so that if you enter 'ALL' into this config entry, then the code will apply to all databases.

Or if that seems confusing, you could make a separate config entry -- say 'fulltext_ignore_all_sources' -- and if that is 'true' then do the same. Make the default false. It's up to you.

--Dave

-------------------------
David Walker
Interim Director, Systemwide Digital Library Services
California State University
562-355-4845

From: xerxes...@googlegroups.com [mailto:xerxes...@googlegroups.com] On Behalf Of Luke O'Sullivan
Sent: Thursday, May 03, 2012 10:55 AM
To: xerxes...@googlegroups.com
Subject: [xerxes-portal] Re: SFX Linking

--
You received this message because you are subscribed to the Google Groups "xerxes-portal" group.
To view this discussion on the web visit https://groups.google.com/d/msg/xerxes-portal/-/-HCbDyReJgMJ.

Luke O'Sullivan

unread,
May 8, 2012, 10:32:05 AM5/8/12
to xerxes...@googlegroups.com
Hi Dave,

I did do that at first but I thought I'd go a bit further to provide the user with more options.

With that said, I've followed your suggestions and have:

config.ini 
<!-- suppress full-text links in all databases. -->      
<config name="fulltext_ignore_all">false</config>

MetalibRecord.php
// demote links based on config


$objConfig = Xerxes_Framework_Registry::getInstance ();
$configIgnoreFullTextAll = $objConfig->getConfig ( "FULLTEXT_IGNORE_ALL", true, false );
$configIgnoreFullText = $objConfig->getConfig ( "FULLTEXT_IGNORE_SOURCES", false );
$configIgnoreFullText = str_replace ( " ", "", $configIgnoreFullText );
$arrIgnore = explode ( ",", $configIgnoreFullText );

for($x = 0; $x < count ( $this->links ); $x ++)
{
$link = $this->links [$x];

if (in_array ( $this->source, $arrIgnore ) || in_array ( $this->metalib_id, $arrIgnore ) || $configIgnoreFullTextAll === true)
{
$link [2] = "original_record";
}
$this->links [$x] = $link;
}
}

Thanks,

Luke

On Wednesday, 2 May 2012 13:08:10 UTC+1, Luke O'Sullivan wrote:

Walker, David

unread,
May 8, 2012, 12:01:52 PM5/8/12
to xerxes...@googlegroups.com

Looks good, want to send it as a patch?

 

--Dave

 

-------------------------

David Walker

Interim Director, Systemwide Digital Library Services

California State University

562-355-4845

 

From: xerxes...@googlegroups.com [mailto:xerxes...@googlegroups.com] On Behalf Of Luke O'Sullivan
Sent: Tuesday, May 08, 2012 7:32 AM
To: xerxes...@googlegroups.com
Subject: [xerxes-portal] Re: SFX Linking

 

Hi Dave,

--

You received this message because you are subscribed to the Google Groups "xerxes-portal" group.

To view this discussion on the web visit https://groups.google.com/d/msg/xerxes-portal/-/afJEb6KexoIJ.

Luke O'Sullivan

unread,
May 8, 2012, 1:10:43 PM5/8/12
to xerxes...@googlegroups.com
Sure - I'll generate it tomorrow :)

Cheers,

Luke

On Wednesday, 2 May 2012 13:08:10 UTC+1, Luke O'Sullivan wrote:

Luke O'Sullivan

unread,
May 14, 2012, 11:08:15 AM5/14/12
to xerxes...@googlegroups.com
Hi Folks,

Please find attached a patch for the ignore_all setting I've added.

Thanks,


Luke

On Wednesday, 2 May 2012 13:08:10 UTC+1, Luke O'Sullivan wrote:
xerxesMetaLibIgnoreAll.patch
Reply all
Reply to author
Forward
0 new messages