CINXE.COM
indexing:tracking_record_changes [VuFind Documentation]
<!DOCTYPE html> <html lang="en" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <meta name="description" content="A flexible discovery tool used by libraries worldwide." /> <meta name="keywords" content="library, discovery, catalog, search, portal, opac, federated, villanova, university, college" /> <title>indexing:tracking_record_changes [VuFind Documentation]</title> <script>(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement)</script> <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700' rel='stylesheet' type='text/css'> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="indexing,tracking_record_changes"/> <link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="VuFind Documentation"/> <link rel="start" href="/wiki/"/> <link rel="contents" href="/wiki/indexing:tracking_record_changes?do=index" title="Sitemap"/> <link rel="manifest" href="/wiki/lib/exe/manifest.php"/> <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php"/> <link rel="alternate" type="application/rss+xml" title="Current namespace" href="/wiki/feed.php?mode=list&ns=indexing"/> <link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/indexing:tracking_record_changes"/> <link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/indexing:tracking_record_changes"/> <link rel="canonical" href="https://vufind.org/wiki/indexing:tracking_record_changes"/> <link rel="stylesheet" href="/wiki/lib/exe/css.php?t=vufind_wiki&tseed=253e14ebccfe88618e28ad9d292f38a4"/> <link type="text/css" rel="stylesheet" href="/wiki/lib/plugins/datatables/assets/datatables.net-fixedheader-dt/css/fixedHeader.dataTables.min.css"/> <link type="text/css" rel="stylesheet" href="/wiki/lib/plugins/datatables/assets/datatables.net-fixedcolumns-dt/css/fixedColumns.dataTables.min.css"/> <link type="text/css" rel="stylesheet" href="/wiki/lib/plugins/datatables/assets/datatables.net/css/dataTables.jqueryui.min.css"/> <link type="text/css" rel="stylesheet" href="/wiki/lib/plugins/datatables/assets/datatables.net-buttons/css/buttons.jqueryui.min.css"/> <!--[if gte IE 9]><!--> <script >/*<![CDATA[*/var NS='indexing';var JSINFO = {"plugin":{"datatables":{"config":{"dom":"lBfrtip","language":{"url":"\/wiki\/lib\/plugins\/datatables\/assets\/datatables.net-i18n\/en-GB.json"}},"enableForAllTables":0}},"move_renameokay":false,"plugins":{"struct":{"isPageEditor":false,"disableDeleteSerial":0}},"id":"indexing:tracking_record_changes","namespace":"indexing","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0}; /*!]]>*/</script> <script src="/wiki/lib/exe/jquery.php?tseed=f0349b609f9b91a485af8fd8ecd4aea4" defer="defer">/*<![CDATA[*/ /*!]]>*/</script> <script src="/wiki/lib/exe/js.php?t=vufind_wiki&tseed=253e14ebccfe88618e28ad9d292f38a4" defer="defer">/*<![CDATA[*/ /*!]]>*/</script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net/js/jquery.dataTables.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-fixedheader-dt/js/fixedHeader.dataTables.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-fixedcolumns-dt/js/fixedColumns.dataTables.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-buttons/js/dataTables.buttons.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-buttons/js/buttons.html5.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-buttons/js/buttons.print.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/jszip/jszip.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/pdfmake/pdfmake.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/pdfmake/vfs_fonts.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net/js/dataTables.jqueryui.min.js" defer="defer"></script> <script type="text/javascript" src="/wiki/lib/plugins/datatables/assets/datatables.net-buttons/js/buttons.jqueryui.min.js" defer="defer"></script> <!--<![endif]--> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/wiki/lib/tpl/vufind_wiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/wiki/lib/tpl/vufind_wiki/images/apple-touch-icon.png" /> </head> <body> <div class="header"> <a href="/vufind/" class="logo"><img src="https://vufind.org/vufind/assets/images/vf-beta.png"/></a> <br class="header-break"/> <!--<a href="https://vufind.org/ddoc.html">Design Doc</a>--> <a href="/vufind/about.html">About</a> <a href="/vufind/features.html">Features</a> <a href="/vufind/downloads.html">Downloads</a> <a href="/wiki/installation">Getting Started</a> <a href="/wiki">Documentation</a> <a href="/vufind/schedule.html">Events</a> <a href="/vufind/support.html">Support</a> <a href="https://github.com/vufind-org/vufind" class="github-link">GitHub</a> </div> <div class="header-announcement"> <p> Love VuFind®? Consider becoming a <a href="https://vufind.org/donate">financial supporter</a>. Your support helps build a better VuFind®! </p> </div> <!--Conference banner in main.php--> <div class="content"> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_vufind_wiki "> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">skip to content</a></li> </ul> <h1 class="logo"><a href="/wiki/start" accesskey="h" title=" [h]"><img src="/wiki/lib/tpl/vufind_wiki/images/logo.png" width="64" height="64" alt="" /><span>VuFind Documentation</span></a></h1> </div> <div class="tools group"> <!-- USER TOOLS <div id="dokuwiki__usertools"> <h3 class="a11y">User Tools</h3> <ul> <li class="action login"><a href="/wiki/indexing:tracking_record_changes?do=login&sectok=" title="Log In" rel="nofollow"><span>Log In</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> --> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">Site Tools</h3> <form action="/wiki/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="indexing:tracking_record_changes" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="Search" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="Search">Search</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/wiki/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="indexing:tracking_record_changes" /><select name="do" class="edit quickselect" title="Tools"><option value="">Tools</option><optgroup label="Page Tools"><option value="edit">Show pagesource</option><option value="revisions">Old revisions</option><option value="backlink">Backlinks</option></optgroup><optgroup label="Site Tools"><option value="recent">Recent Changes</option><option value="media">Media Manager</option><option value="index">Sitemap</option></optgroup><optgroup label="User Tools"><option value="login">Log In</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/wiki/indexing:tracking_record_changes?do=recent" title="Recent Changes [r]" rel="nofollow" accesskey="r">Recent Changes</a></li><li class="action media"><a href="/wiki/indexing:tracking_record_changes?do=media&ns=indexing" title="Media Manager" rel="nofollow">Media Manager</a></li><li class="action index"><a href="/wiki/indexing:tracking_record_changes?do=index" title="Sitemap [x]" rel="nofollow" accesskey="x">Sitemap</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="youarehere"><span class="bchead">You are here: </span><span class="home"><bdi><a href="/wiki/start" class="wikilink1" title="start" data-wiki-id="start">start</a></bdi></span> » <bdi><a href="/wiki/indexing" class="wikilink1" title="indexing" data-wiki-id="indexing">indexing</a></bdi> » <bdi><a href="/wiki/indexing:tracking_record_changes" class="wikilink1" title="indexing:tracking_record_changes" data-wiki-id="indexing:tracking_record_changes">tracking_record_changes</a></bdi></div> <div class="trace"><span class="bchead">Trace:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/wiki/indexing:tracking_record_changes" class="breadcrumbs" title="indexing:tracking_record_changes">tracking_record_changes</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="alert--outdated"> <b>Warning:</b> This page has not been updated in over <span id="outdated-diff">over a year</span> and may be outdated or deprecated. </div> <div class="pageId"><span>indexing:tracking_record_changes</span></div> <div class="page group prose prose-invert"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">Table of Contents</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#tracking_record_changes">Tracking Record Changes</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#introduction">Introduction</a></div></li> <li class="level2"><div class="li"><a href="#enabling_change_tracking">Enabling Change Tracking</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#a_note_on_memory_usage">A Note on Memory Usage</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#features_requiring_change_tracking">Features Requiring Change Tracking</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#oai-pmh_server_functionality">OAI-PMH Server Functionality</a></div></li> <li class="level3"><div class="li"><a href="#enhanced_rss_functionality">Enhanced RSS Functionality</a></div></li> <li class="level3"><div class="li"><a href="#solr-driven_new_items">Solr-driven New Items</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#frequently_asked_questions">Frequently Asked Questions</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#if_i_reindex_my_existing_records_will_vufind_think_that_they_are_new">If I reindex my existing records, will VuFind® think that they are new?</a></div></li> <li class="level3"><div class="li"><a href="#what_happens_when_records_are_deleted">What happens when records are deleted?</a></div></li> </ul></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="tracking_record_changes">Tracking Record Changes</h1> <div class="level1"> </div> <h2 class="sectionedit2" id="introduction">Introduction</h2> <div class="level2"> <p> For certain types of functionality, VuFind® needs to be aware not only of the content of the records in its index, but also the times at which these records were first indexed and most recently changed. By understanding the history of its own records, VuFind® can provide RSS feeds that show recent changes, and it can export its contents using the popular OAI-PMH protocol. </p> <p> Keeping track of the information needed to support these features adds some overhead – more data in your MySQL database, and slower indexing times. Because not everyone needs the features, they are disabled by default. This page explains how to activate them when you need them. </p> </div> <h2 class="sectionedit3" id="enabling_change_tracking">Enabling Change Tracking</h2> <div class="level2"> <p> The most important thing that you need to do in order to enable VuFind®'s change tracking is to edit the <a href="/wiki/indexing:solrmarc:local_marc_mappings" class="wikilink1" title="indexing:solrmarc:local_marc_mappings" data-wiki-id="indexing:solrmarc:local_marc_mappings">local MARC mappings</a> file and uncomment the lines that fill in the “first_indexed” and “last_indexed” fields of your Solr index. This usually consists of: </p> <p> 1. Copy import/marc_local.properties into the import subdirectory of your <a href="/wiki/configuration:local_settings_directory" class="wikilink1" title="configuration:local_settings_directory" data-wiki-id="configuration:local_settings_directory">local_settings_directory</a> (usually $VUFIND_HOME/local/import), if you don't already have a local copy of marc_local.properties. </p> <p> 2. Uncomment the *_indexed lines in the local copy of marc_local.properties. The example lines assume that your record IDs come from the 001 field; if you use IDs in a different place, change 001 to an appropriate pattern (e.g. 999c for Koha). </p> <p> If you are indexing non-MARC records, some change tracking facilities also exist in the <a href="/wiki/indexing:xml" class="wikilink1" title="indexing:xml" data-wiki-id="indexing:xml">XSLT index tool</a>. Depending on your data source, you may need to customize your XSLT and/or properties file to implement support. </p> <p> After making the necessary configuration changes, you will need to reindex all of your records. This will take a long time, as it will be generating a database so that VuFind® can correctly populate these fields in the future. “first_indexed” contains the time that the record was first indexed by VuFind®, while “last_indexed” contains the time that the record was most recently changed. For consistency and appropriate OAI-PMH behavior, it is STRONGLY RECOMMENDED that all times be stored in UTC; VuFind®'s provided tools will already do this, but if you build your own custom indexer, you should conform to this standard. VuFind® stores information in its database so that even if you upgrade Solr and destroy your entire index, it will still be able to rebuild the correct “first_indexed” and “last_indexed” values. In the future, when you reindex existing records, the process should be faster than the first time around, since for records that have not actually changed, VuFind® will not have to do much extra database work. </p> </div> <h3 class="sectionedit4" id="a_note_on_memory_usage">A Note on Memory Usage</h3> <div class="level3"> <p> <a href="/wiki/indexing:solrmarc" class="wikilink1" title="indexing:solrmarc" data-wiki-id="indexing:solrmarc">SolrMarc</a> may require more memory in order to update the database and the Solr index at the same time. If you get error messages about running out of heap space during the index process, try editing import-marc.sh or import-marc.bat (depending on your platform) to change the Java memory settings. See the <a href="/wiki/administration:performance" class="wikilink1" title="administration:performance" data-wiki-id="administration:performance">performance</a> page for more details on Java memory tuning. </p> </div> <h2 class="sectionedit5" id="features_requiring_change_tracking">Features Requiring Change Tracking</h2> <div class="level2"> </div> <h3 class="sectionedit6" id="oai-pmh_server_functionality">OAI-PMH Server Functionality</h3> <div class="level3"> <p> See the <a href="/wiki/configuration:oai-pmh_server" class="wikilink1" title="configuration:oai-pmh_server" data-wiki-id="configuration:oai-pmh_server">OAI-PMH Server</a> page for details. </p> </div> <h3 class="sectionedit7" id="enhanced_rss_functionality">Enhanced RSS Functionality</h3> <div class="level3"> <p> When record change tracking is enabled, RSS feeds will be more effective. Without tracking, RSS dates are based on publication dates, which may or may not correspond with the dates that items were added to your collection. With change tracking turned on, RSS feeds will be sorted by index date and will display index dates within the feed. This means that patrons can truly track searches in order to be notified of new additions within their chosen areas of interest. </p> <p> Note that you can customize some of the RSS behavior in VuFind® – see the [RSS] section of <a href="/wiki/configuration:files:searches.ini" class="wikilink1" title="configuration:files:searches.ini" data-wiki-id="configuration:files:searches.ini">searches.ini</a>. </p> </div> <h3 class="sectionedit8" id="solr-driven_new_items">Solr-driven New Items</h3> <div class="level3"> <p> By default, VuFind® tries to use the ILS driver to power the “new items” search. However, not all ILS drivers support this functionality. If you turn on record change tracking, you can modify the method setting to “solr” in the [NewItem] section of <a href="/wiki/configuration:files:searches.ini" class="wikilink1" title="configuration:files:searches.ini" data-wiki-id="configuration:files:searches.ini">searches.ini</a> to gain new item searches without an ILS dependency. </p> </div> <h2 class="sectionedit9" id="frequently_asked_questions">Frequently Asked Questions</h2> <div class="level2"> <p> This section contains answers to frequently asked questions about the technical details of the change-tracking implementation. </p> </div> <h3 class="sectionedit10" id="if_i_reindex_my_existing_records_will_vufind_think_that_they_are_new">If I reindex my existing records, will VuFind® think that they are new?</h3> <div class="level3"> <p> No, the change tracking system will only update dates in its internal database if it encounters a record ID it has never seen before, or if the record itself has changed. If you index the same MARC file over and over again, that record will only be recorded in the database once. However, if you edit the MARC record and export a new version, when you index the changed record, VuFind® will update the “last indexed” value to reflect that something is different. </p> <p> This behavior is dependent on records containing last-changed dates. In the case of MARC records, VuFind® checks the 005 and 008 fields for modification dates. Note that if no dates are found, VuFind® will always assume that the record has changed as a precaution; thus, it is important to ensure that your ILS is including one of these fields in exported records if you want reliable change tracking. In the case of XSLT records, the custom PHP methods used by the XSLT expect a modification date parameter, and you should be sure to extract it from an appropriate place in your XML to ensure consistent behavior. </p> </div> <h3 class="sectionedit11" id="what_happens_when_records_are_deleted">What happens when records are deleted?</h3> <div class="level3"> <p> If you remove records from your ILS, you should inform VuFind® about the deleted records so it can update its change tracking database. This enables the system to correctly report deleted records through OAI-PMH, and it also allows the system to treat records as new if they later are added again after being previously deleted. You can use the util/deletes <a href="/wiki/administration:command_line_utilities" class="wikilink1" title="administration:command_line_utilities" data-wiki-id="administration:command_line_utilities">command line utility</a> for this purpose. </p> <p> For systems that have no easy way of reporting deleted records, a common solution is to simply delete VuFind®'s index, and then reindex from a fresh full export. If you do this, the deleted records will be removed from VuFind®'s index correctly, so normal search behavior will work as expected. However, the change tracking system will not be aware that records have been removed, and the now-missing records will not be reported as deleted through OAI-PMH (or any other feature that might rely on delete tracking functionality). This may or may not be a problem for you, depending on your use case. </p> </div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>indexing/tracking_record_changes.txt</bdi> · Last modified: 2024/08/27 15:25 by <bdi>demiankatz</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">Page Tools</h3> <div class="tools"> <ul> <li class="source"><a href="/wiki/indexing:tracking_record_changes?do=edit" title="Show pagesource [v]" rel="nofollow" accesskey="v"><span>Show pagesource</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m.12 13.5l3.74 3.74 1.42-1.41-2.33-2.33 2.33-2.33-1.42-1.41-3.74 3.74m11.16 0l-3.74-3.74-1.42 1.41 2.33 2.33-2.33 2.33 1.42 1.41 3.74-3.74z"/></svg></a></li><li class="revs"><a href="/wiki/indexing:tracking_record_changes?do=revisions" title="Old revisions [o]" rel="nofollow" accesskey="o"><span>Old revisions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/wiki/indexing:tracking_record_changes?do=backlink" title="Backlinks" rel="nofollow"><span>Backlinks</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="Back to top [t]" rel="nofollow" accesskey="t"><span>Back to top</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> </div></div></div><!-- /site --> <div class="no"><img src="/wiki/lib/exe/taskrunner.php?id=indexing%3Atracking_record_changes&1732367671" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div> <footer> <div class="content"> <!-- ********** FOOTER ********** --> <div id="dokuwiki__footer"><div class="pad"> <div class="bar" id="bar__bottom"> <div class="bar-left" id="bar__bottomleft"> <form class="button btn_source" method="post" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="edit" /><button type="submit" accesskey="v" title="Show pagesource [V]"><span>Show pagesource</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m.12 13.5l3.74 3.74 1.42-1.41-2.33-2.33 2.33-2.33-1.42-1.41-3.74 3.74m11.16 0l-3.74-3.74-1.42 1.41 2.33 2.33-2.33 2.33 1.42 1.41 3.74-3.74z"/></svg></button></div></form> <form class="button btn_revs" method="get" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="revisions" /><button type="submit" accesskey="o" title="Old revisions [O]"><span>Old revisions</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></button></div></form> </div> <div class="bar-right" id="bar__bottomright"> <form class="button btn_media" method="get" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="media" /><input type="hidden" name="ns" value="indexing" /><button type="submit" title="Media Manager"><span>Media Manager</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 15l4.5-6 3.5 4.5 2.5-3L21 15m1-11h-8l-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M2 6H0v14a2 2 0 0 0 2 2h18v-2H2V6z"/></svg></button></div></form> <form class="button btn_admin" method="get" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="admin" /><button type="submit" title="Admin"><span>Admin</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 15.5A3.5 3.5 0 0 1 8.5 12 3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5 3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97 0-.33-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1 0 .33.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.66z"/></svg></button></div></form> <form class="button btn_login" method="get" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="login" /><input type="hidden" name="sectok" value="" /><button type="submit" title="Log In"><span>Log In</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></button></div></form> <form class="button btn_index" method="get" action="/wiki/indexing:tracking_record_changes"><div class="no"><input type="hidden" name="do" value="index" /><button type="submit" accesskey="x" title="Sitemap [X]"><span>Sitemap</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 3h6v4H3V3m12 7h6v4h-6v-4m0 7h6v4h-6v-4m-2-4H7v5h6v2H5V9h2v2h6v2z"/></svg></button></div></form> <a class="nolink" href="#dokuwiki__top"><button class="button" onclick="window.scrollTo(0, 0)" title="Back to top">Back to top</button></a> </div> <div class="clearer"></div> </div> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">Except where otherwise noted, content on this wiki is licensed under the following license: <bdi><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Noncommercial-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en" rel="license"><img src="/wiki/lib/images/license/button/cc-by-nc-sa.png" alt="CC Attribution-Noncommercial-Share Alike 4.0 International" /></a> <!--<a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/wiki/lib/tpl/vufind_wiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/wiki/lib/tpl/vufind_wiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/wiki/lib/tpl/vufind_wiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/wiki/lib/tpl/vufind_wiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a>--> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/wiki/lib/tpl/vufind_wiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <!-- GITHUB RIBBON <a href="https://github.com/vufind-org/vufind"> <img style="position: absolute; top: 0; left: 0; border: 0; height: 100px" decoding="async" loading="lazy" src="https://vufind.org/images/github_fork.png" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"> </a> --> <!-- Matomo --> <script type="text/javascript"> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://morpheus.library.villanova.edu/piwik/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '12']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --> </div></footer><!-- /footer --> </div> </footer> </body> </html>