Release Notes for Current DLXS Release

From DLXS Documentation

(Difference between revisions)
Jump to: navigation, search
(Oai)
Current revision (12:19, 30 October 2012) (edit) (undo)
(General Information Release_15)
 
(172 intermediate revisions not shown.)
Line 1: Line 1:
[[DLXS Wiki|Main Page]] > Release Notes for Current DLXS Release  
[[DLXS Wiki|Main Page]] > Release Notes for Current DLXS Release  
-
==General Information==
+
==General Information <span class="release_15">Release_15 </span> ==
<p>TextClass is substantially
<p>TextClass is substantially
-
identical to release 13 except for bug fixes as noted below. ImageClass
+
identical to release 14 except for enhancements and bug fixes as noted below.  
-
provides new image viewing functionality.  FindaidClass improves handling of the EAD DTD and includes subject browsing.  BibClass is unchanged and is being de-emphasized.</p>
+
-
<p>Release 14 is comprised of:
+
Note that searching for the string <span class="release_15">'''Release_15'''</span> will produce a list of changes to this wiki that are relevant to DLXS Release 15.</p>
 +
 
 +
<p>Highlights of release 15 include:
 +
<ul>
 +
<li>[[#Lib|Customizable user interface fallback]]</li>
 +
<li>Better error handling and notification</li>
 +
<li>Improved browsing, including support for non-[a-z] characters</li>
 +
<li>[[#TextClass|TextClass]]: Much improved scaling and size options for JP2 images in PageViewer</li>
 +
<li>[[#ImageClass|ImageClass]]: Several new search options</li>
 +
<li>[[#OAI|OAI improvements]]</li>
 +
<li>[[#TextClass|TextClass]]: Text Class no longer supports MrSid image files (Image Class still does)</li>
 +
 
 +
</ul>
 +
 
 +
</p>
 +
 
 +
<p>Release 15 is comprised of:
   <ul>
   <ul>
-
         <li>[[#BibClass|BibClass version 3.8.1]]</li>
+
         <li>[[#BibClass|BibClass version 3.10.1]]</li>
-
         <li>[[#Oai|Oai version 1.1.2]]</li>
+
         <li>[[#OAI|Oai version 1.2.2]]</li>
-
         <li>[[#broker20|broker20 version 1.5.1]]</li>
+
         <li>[[#IdResolver|IdResolver 1.2.1]]</li>
-
         <li>[[#Collmgr|Collmgr version 3.3.1]]</li>
+
         <li>[[#Collmgr|Collmgr version 3.5.1]]</li>
-
         <li>[[#FindaidClass|FindaidClass version 6.5.2]]</li>
+
         <li>[[#FindaidClass|FindaidClass version 6.9.2]]</li>
-
         <li>[[#ImageClass|ImageClass version 4.11.1]]</li>
+
         <li>[[#ImageClass|ImageClass version 5.2.3]]</li>
-
         <li>[[#Lib|Lib version 4.12.1]]</li>
+
         <li>[[#Lib|Lib version 4.20.2]]</li>
-
         <li>[[#TextClass|TextClass version 4.7.1]]</li>
+
         <li>[[#TextClass|TextClass version 4.14.2]]</li>
         <li>[[#XClass|XClass version 2.2.5]]</li>
         <li>[[#XClass|XClass version 2.2.5]]</li>
-
         <li>[[#METS Pageturner and Collection Builder|METS Pageturner and Collection Builder version 1.26.1]]</li>
+
         <li>[[#XPAT|XPAT version 5.3.2 (5.3.7 in Release 15b)]]</li>
-
 
+
         <li>[[#SRU|SRU version 1.3.1]]</li>
-
         <li>[[#XPAT|XPAT version 5.3.2]]</li>
+
         <li>[[#Stats|Stats version 1.5.1]]</li>
-
         <li>[[#SRU|SRU version 1.2.1]]</li>
+
         <li>dlxsd version 1.0.3</li>
         <li>dlxsd version 1.0.3</li>
Line 39: Line 53:
     </p>
     </p>
 +
<p>Additionally: Text Class PageViewer no longer supports Mr.SID images so if you are using Mr.SID they will have to be converted to JP2. Image Class still supports MrSID, though migration to JP2 is highly recommended.</p>
==Known Problems==
==Known Problems==
Line 48: Line 63:
==Database Installation Notes==
==Database Installation Notes==
-
<p>MySQL is the supported database type.  In order to run DLXS you will need to have a MySQL server installed.  Sample data is delivered in the form of a MySQL dump file which can be directly imported into a MySQL database.  The database upgrade script (<b>upgrade_6_7</b>) operates only on a MySQL database.  These issues are documented in detail in the [[Installing DLXS|installation instructions]] and the [[DLXS Database Upgrade Utility|upgrade instructions]].</p>
+
<p>MySQL is the supported database type.  In order to run DLXS you will need to have a MySQL server installed.  Sample data is delivered in the form of a MySQL dump file which can be directly imported into a MySQL database.  The database upgrade script (<b>upgrade_7_8</b>) operates only on a MySQL database.  These issues are documented in detail in the [[Installing DLXS|installation instructions]] and the [[DLXS Database Upgrade Utility|upgrade instructions]].</p>
==New and Changed Functionality==
==New and Changed Functionality==
Line 54: Line 69:
===XPAT===
===XPAT===
     <ul>
     <ul>
-
       <li>No changes.</li>
+
       <li>No changes in the original release.</li>
 +
      <li>There have been two XPAT-only releases (15a and 15b) bringing the version number to 5.3.7:</li>
 +
      <ul>
 +
        <li>64-bit inode support for large filesystems.</li>
 +
        <li><code>-r ROOT_PATH</code> command-line option where <code>ROOT_PATH</code> is an absolute path to which all other paths are relative.</li>
 +
        <li>Coptic and Arabic Unicode blocks added.</li>
 +
        <li>Cyrillic and Devanagari blocks extended.</li>
 +
      </ul>
     </ul>
     </ul>
===Lib===
===Lib===
 +
====New and Changed Functionality====
 +
<p><b>Customizable Fallback</b></p>
 +
Collections can now be configured to use any number of custom fallback levels between the standard group and class levels.  This allows greater control and reduced code duplication when managing your [[Customizing_the_User_Interface|user interface customizations]]. See the new "customfallbackwebdirs" Collection Manager field.
-
    <UL>
+
====Changed Files====
-
    <LI> AuthNZ.pm
+
<p><b>DlpsUtils.pm</b></p>
-
      <UL>
+
<ul>
-
        <LI>IE needs escaped return login url parameter
+
-
          to be the last cgi param. So now it is.</LI>
+
-
        <LI>Implementation of session stored return
+
-
          login url. Ran into a problem with long URLs in IE,
+
-
          so had to do this.</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> CollsInfo.pm
+
-
      <UL>
+
-
        <LI>removed setting of utf8flag for data
+
-
          out of utf8 mysql table</LI>
+
-
        <LI>Added StoreFieldValue routine. It allows
+
-
          middleware to update a Collmgr field value for a single
+
-
          collection and for the current user (production, release,
+
-
          dev/user). The benefit of doing it in Collsinfo is
+
-
          that the cio knows about the current user, making
+
-
          it easy to update only the current user's row.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> DLXSApp.pm
+
-
      <UL>
+
-
        <LI>emit full path to main XML template
+
-
          for &lt;TemplateName> element</LI>
+
-
        <LI>changed TemplateName to TemplatePath</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> DbUtils.pm
+
-
      <UL>
+
-
        <LI>added random id generation for bookbagdb
+
-
          table. not using auto increment anymore. avoiding
+
-
          potential replication conflicts.</LI>
+
-
        <LI>changed related to the upgrade of
+
-
          dbd::mysql. basically, stop throwing the utf8 switch
+
-
          on data coming out of mysql.</LI>
+
-
 
+
-
        <LI>adding quoting of table names, though
+
-
          not exhaustively.</LI>
+
-
        <LI>fixed a bug. optimizeTable would in
+
-
          some cases alter column to be varchar with not enough
+
-
          chars.</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> DlpsSession.pm
+
-
      <UL>
+
-
        <LI>Changed GetCookieDomain to use $cgi->virtual_host()
+
-
          instead of $ENV{HTTP_HOST} because the env variable
+
-
          includes the port but $cgi->virtual_host does not.
+
-
          Port number should not be specified in cookie domains.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> DlpsUtils.pm
+
-
     
+
-
      <UL>
+
-
        <LI>Changed SoftASSERT so that it forwards
+
-
          the return value from ASSERT.</LI>
+
-
        <LI>new feedback cgi code. generalized
+
-
          for use outside of just mdp.</LI>
+
-
        <LI>remove duplicate code</LI>
+
-
        <LI>Add RemoveXMLPi for Kwic processing</LI>
+
-
        <LI>Added a simple routine called DebugOut
+
-
          that prints a string within a div (class=debug). Optionally
+
-
          include the name of the sub/method being debugged
+
-
          just by throwing a switch.</LI>
+
-
 
+
-
        <LI>Moved binmode statement out of dlpsutils
+
-
          (where it messed up image class, probably due to double
+
-
          encoding) and put it in collmgr where needed most.</LI>
+
-
        <LI>Implementation of session stored return
+
-
          login url. Ran into a problem with long URLs in IE,
+
-
          so had to do this.</LI>
+
-
 
+
-
        <LI>Added sub CarryOverNeededAuthRetParams.
+
-
          (All other params were being dropped when processing
+
-
          a key_authret param, making Athens auth fail.)</LI>
+
-
        <LI>no longer deleting key_authret from
+
-
          session once used, because in rare cases it is used
+
-
          again.</LI>       
+
-
        <LI>make no referring URL "Assertion Fail Report" not send
+
-
          email</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> ItemView.cfg
+
-
     
+
-
      <UL>
+
-
        <LI>add note about pdfopt</LI>
+
-
        <LI>add defaults for jpg as a image format
+
-
          source type</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> ItemView.pm
+
-
      <UL>
+
-
        <LI>Add code to set and get the $targetImageFormat
+
-
          so that the DeliverFileHandler knows what format to
+
-
          deliver. It has a different signature that asks for
+
-
          the format but the handlers are called generaiclly
+
-
          and do not receive the format as a parameter form
+
-
          the caller so ...</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
   
+
-
    <LI> ItemViewApp.pm
+
-
      <UL>
+
-
        <LI>Set defaultpageview if no view is set
+
-
          in ValidityChecks</LI>
+
-
        <LI>fix path to cached image to include
+
-
          host when mode is remote</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> LibGlobals.cfg
+
-
      <UL>
+
-
        <LI>new feedback cgi code. generalized
+
-
          for use outside of just mdp.</LI>
+
-
      </UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> LibVersion.pm
+
-
      <UL>
+
-
        <LI>$LibVersion::VERSION = 4.1201; $LibVersion::DLXS_CDROM
+
-
          = '14';</LI>
+
-
        <LI>14</LI></UL></LI>
+
-
   
+
-
  </UL>
+
    
    
-
   <UL>
+
   <li>Make no referring URL Assertion Failure Report not send email</li>
-
    <LI> ProcIns.pm
+
  <li>Now log Assertion Failure Reports</li>
-
      <UL>
+
   <li>If $keyValuePairs are not requested, an array is returned.  Fixed bug
-
        <LI>Allow string refs for handlers that
+
    that returned array in arbitrary order instead of in order they were
-
          are subroutines as has well as those that are object
+
     listed in Collmgr.</li>
-
          emthods</LI>
+
  <li>Updated to display feedback form with captcha on AFR error page</li>
-
        <LI>Removed StripPIPairContents etc. obsolete</LI>
+
   <li>Added noAssert option to MkdirPath() to prevent inf. loop</li>
-
        <LI>add GetPIs</LI></UL></LI>
+
  <li>sub BuildClassCacheWebPath (for emitting in XML).</li>
-
   </UL>
+
   <li>Added RemoveTrailingHalfEntities + RemoveLeadingHalfEntities; rewrote
-
  <UL>
+
     RemoveLeadingAndTrailingHalfTags to use both.</li>
-
     <LI> XPat.pm
+
   <li>During fallback, check any dirs listed in the 'customfallbackwebdirs' filed in collmgr (after checking group dirs, but before checking class dirs).</li>
-
      <UL>
+
   <li>Fallback: Grab values from LibGlobals for values that are undef or not passed in from app modules.</li>
-
        <LI>m,,gs to get all the error messages
+
</ul>
-
          back from xpat</LI></UL></LI>
+
<p><b>LibGlobals.cfg</b></p>
-
   </UL>
+
<ul>
-
  <UL>
+
-
    <LI> XsltPIFiller.pm
+
-
      <UL>
+
-
       
+
-
        <LI>url for Atom/Rss</LI>
+
-
        <LI>changed TemplateName to TemplatePath</LI>
+
-
        <LI>changed TemplateName to TemplatePath</LI>
+
-
        <LI>removed setting of utf8flag for browse
+
-
          list data.</LI></UL></LI>
+
-
   
+
-
   </UL>
+
-
 
+
-
  <UL>
+
-
     <LI> oaiGlobals.conf
+
-
      <UL>
+
-
        <LI>new</LI></UL></LI>
+
-
   </UL>
+
-
  <UL>
+
-
    <LI> stripdoctype.pl
+
-
      <UL>
+
-
        <LI>regex will strip complicated DOCTYPE
+
-
          declarations</LI>
+
-
       
+
-
        <LI>moved to $DLXSROOT/bin/f/findaid instead
+
-
          of ../lib since this is findaid specific</LI></UL></LI>
+
-
   </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> BookBag/BookBagIC.pm
+
-
      <UL>
+
-
        <LI>added new method for checking ownership
+
-
          of bookbag</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> BookBagItem/BBItemTC.pm
+
-
      <UL>
+
-
        <LI>Use maintitle, mainauthor, mainheader
+
-
          to add to bookbag</LI></UL></LI>
+
-
  </UL>
+
    
    
-
   <UL>
+
   <li>Updated to read in the AFR error message from a (HTML) file</li>
-
    <LI> DLXSApp/FullTextApp.pm
+
  <li>changed path to systemerrorfeedback.html file, adding f/feedback.</li>
-
      <UL>
+
   <li>ScriptNames, used in search forms, now have vlaues defined here instead of in web/lib/dlxsglobals.xml.</li>
-
        <LI>added podBindings sub</LI>
+
-
 
+
-
        <LI>fix for debug=xsltwrite without remote
+
-
          user. Now using REMOTE_USER if defined or $ENV{'DLPS_DEV'}
+
-
          if its defined and not 1 otherwise using "anonymous"</LI></UL></LI>
+
-
   </UL>
+
-
  <UL>
+
-
    <LI> DLXSClass/FullTextClass.pm
+
-
     
+
-
      <UL>
+
-
        <LI>Removed line that was stripping out
+
-
          spaces in idno in RestrictBaseQuery. This was causing
+
-
          kwic view queries where the &lt;eadid> contained a space
+
-
          to fail.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Config.pm
+
-
      <UL>
+
-
        <LI>Explicitly specify the format of the
+
-
          config file.</LI>
+
-
        <LI>Add method to return config file name.</LI></UL></LI>
+
-
  </UL>
+
    
    
-
  <UL>
+
</ul>
-
    <LI> Stats/DB.pm
+
<p><b>DlpsUtils.pm</b>, <b>LibGlobals.cfg</b></p>
-
      <UL>
+
<ul>
-
        <LI>Add method delete_expired_counter_requests()</LI>
+
 
-
        <LI>Modify query to add a COUNTER job to
+
  <li>rewrite reCAPTCHA code to use a global hash for pub/priv keys in
-
          use 99999 if institution is undefined.</LI></UL></LI>
+
    LibGlobals and add access routines in DlpsUtils.pm</li>
-
   </UL>
+
 
-
   <UL>
+
</ul>
-
    <LI> Stats/MainPage.pm
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
      <UL>
+
<ul>
-
        <LI>State that COUNTER reports are available
+
    
-
          starting in May 2007.</LI>
+
  <li>added initialize and field for subclass gSortFields</li>
-
       
+
    
-
        <LI>Big rewrite to display aggregate stats
+
</ul>
-
          rows. Also combined some code and got rid of the extra.</LI>
+
<p><b>BookBag.pm</b></p>
-
        <LI>New code to do COUNTER Database Report
+
<ul>
-
          1; also, auth algorithm changed again to show aggregate
+
 
-
          stats *and* stats for a user's institution if their
+
  <li>Remove underscore from file extension for download file.</li>
-
          institution can be determined from their IP address.</LI>
+
 
-
        <LI>Add an additional message to COUNTER
+
</ul>
-
          request feedback.</LI>
+
<p><b>DbUtils.pm</b></p>
-
        <LI>Correct name of DR1.</LI>
+
<ul>
-
        <LI>Don't provide DR1 yet - its not ready.</LI>
+
 
-
        <LI>Show COUNTER section in form if user
+
  <li>Backticked a table names and column names in a bunch of places.</li>
-
          is logged in but IP address is unrecognized.</LI>
+
 
-
       
+
</ul>
-
        <LI>Slight modification: If we know the
+
<p><b>CollsInfo.pm</b>, <b>DLXSApp/FullTextApp.pm</b>, <b>DLXSClass/FullTextClass.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
          user's institution, but they do not have stats for
+
<ul>
-
          a given collection and time period, default to 0 for
+
    
-
          all counts so a row is still displayed for them in
+
  <li>Fix linking to be relative to preserve https</li>
-
          the results page with zeros in all fields.</LI></UL></LI>
+
    
-
   </UL>
+
</ul>
-
   <UL>
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
    <LI> Stats/Resource.pm
+
<ul>
-
      <UL>
+
 
-
        <LI>Get 'public' attribute from config
+
  <li>fix linking to be relative to preserve https</li>
-
          files to determine if a collection is public or not.</LI>
+
  <li>BuildHelpLink_XML: more flexibility for location of help files.</li>
-
        <LI>Allow upper- or lower-case for report
+
  <li>Use fallback to find the appropriate help dir.  Then use logic to find the best file within that dir.</li>
-
          types in config file.</LI></UL></LI>
+
   <li>BuildPdfLink_XML: fixed algorithm to find best help file in the fallback help dir.</li>
-
   </UL>
+
    
-
   <UL>
+
</ul>
-
    <LI> Stats/Map/Auth.pm
+
<p><b>ItemView.cfg</b>, <b>ItemView.pm</b>, <b>ItemViewApp.pm</b></p>
-
     
+
<ul>
-
      <UL>
+
    
-
        <LI>Constructor now takes Stats::Config
+
  <li>Serving full item PDFs (if available in the repository).</li>
-
          object.</LI></UL></LI>
+
    
-
   </UL>
+
</ul>
-
   <UL>
+
<p><b>Stats/Reports/COUNTER/ReportTools.pm</b></p>
-
    <LI> Stats/Map/Titles/colldb.pm
+
<ul>
-
      <UL>
+
 
-
        <LI>Temporarily set $ENV{'HTTP_HOST'} to
+
  <li>Display title ID if title name cannot be determined, rather than just skipping that title.</li>
-
          $$self{'host'}, which is set from the query "SELECT
+
 
-
          DISTINCT host FROM Collection WHERE userid = 'production'
+
</ul>
-
          and collid = ..." in case $ENV{'HTTP_HOST'} is not
+
<p><b>DLXSApp.pm</b>, <b>ItemAuth.pm</b>, <b>DLXSApp/FullTextApp.pm</b>, <b>DLXSClass/FullTextClass.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
          set.</LI></UL></LI>
+
<ul>
-
  </UL>
+
 
-
  <UL>
+
   <li>Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.</li>
-
    <LI> Stats/Reports/COUNTER.pm
+
    
-
      <UL>
+
</ul>
-
       
+
<p><b>DLXSApp.pm</b>, <b>DLXSApp/FullTextApp.pm</b>, <b>DLXSClass/FullTextClass.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
        <LI>Include support for COUNTER Database
+
<ul>
-
          Report 1.</LI></UL></LI>
+
    
-
   </UL>
+
  <li>Revert ItemAuth changes</li>
-
   <UL>
+
    
-
    <LI> Stats/Reports/COUNTER/BR1.pm
+
</ul>
-
      <UL>
+
<p><b>DLXSApp.pm</b>, <b>DLXSApp/FullTextApp.pm</b></p>
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
<ul>
-
   </UL>
+
 
-
   <UL>
+
   <li>Re-virtualized ItemLevelRestrictionTestHook here.</li>
-
    <LI> Stats/Reports/COUNTER/BR2.pm
+
   <li>Put sub ItemLevelRestrictionTestHook back here.</li>
-
      <UL>
+
 
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
</ul>
-
   
+
<p><b>DLXSApp/FullTextApp.pm</b></p>
-
   </UL>
+
<ul>
-
   <UL>
+
    
-
    <LI> Stats/Reports/COUNTER/BR5.pm
+
  <li>Fixes in ItemLevelRestrictionTestHook.</li>
-
      <UL>
+
    
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
</ul>
-
   </UL>
+
<p><b>ItemAuth.pm</b></p>
-
   <UL>
+
<ul>
-
    <LI> Stats/Reports/COUNTER/DR1.pm
+
 
-
      <UL>
+
  <li>TestItemLevelRestriction:: test whether the appObject is defined before calling methods on it; otherwise use provided default values.</li>
-
        <LI>Add module for COUNTER Database Report
+
 
-
          1.</LI>
+
</ul>
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
<p><b>Stats/DB.pm</b>, <b>Stats/MainPage.pm</b>, <b>Stats/Resource.pm</b>, <b>Stats/Reports/COUNTER/BR1.pm</b>, <b>Stats/Reports/COUNTER/BR2.pm</b>, <b>Stats/Reports/COUNTER/BR5.pm</b>, <b>Stats/Reports/COUNTER/DR1.pm</b>, <b>Stats/Tools/ResourceTools.pm</b>, <b>Stats/XML/BuildXML.pm      </b></p>
-
   
+
<ul>
-
  </UL>
+
 
-
  <UL>
+
   <li>Changes to record stats by year/month now instead of year/month/day, to reduce the number of rows in the database.</li>
-
    <LI> Stats/Reports/COUNTER/Report1.pm through Stats/Reports/COUNTER/Report5.pm
+
 
-
      <UL>
+
</ul>
-
        <LI>Pass Stats::Config object to COUNTER
+
-
          creation methods rather than creating other Stats::Config
+
-
          files within these methods.</LI>
+
-
        <LI>Now must pass Stats::Config object
+
-
          to Stats::Map::Auth constructor.</LI>
+
-
        <LI>Return undef if Resource object is
+
-
          not created in the 'match_collid_to_resource()' method
+
-
          - which, in this case, happened because I had removed
+
-
          the collid from the stats config.</LI>
+
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
-
   
+
-
   </UL>
+
-
  <UL>
+
<p><b>XsltPIFiller.pm</b></p>
-
    <LI> Stats/Reports/COUNTER/ReportTools.pm
+
<ul>
-
      <UL>
+
-
        <LI>Die if location of COUNTER reports
+
-
          cannot be obtained from the config file.</LI>
+
-
        <LI>Pass Stats::Config object to COUNTER
+
-
          creation methods rather than creating other Stats::Config
+
-
          files within these methods.</LI>
+
-
        <LI>Include support for COUNTER Database
+
-
          Report 1.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/Custom/Excel.pm
+
-
     
+
-
      <UL>
+
-
        <LI>Big rewrite to include aggregate stats
+
-
          rows and use the same struct that is created for HTML
+
-
          reports.</LI>
+
-
        <LI>Get rid of 'aggregate_only' concept.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/Custom/Tools.pm
+
-
      <UL>
+
-
        <LI>Remove file - no longer needed</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
   
+
-
    <LI> Stats/Tools/AuthTools.pm
+
-
      <UL>
+
-
        <LI>Just added comment.</LI>
+
-
        <LI>Now all users are allowed, but if they
+
-
          are not recognized then they can only see aggregate
+
-
          stats for public collections.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Tools/DateTools.pm
+
-
      <UL>
+
-
        <LI>Fix bug in day() method that returns
+
-
          the current day of the month (it was erroneously adding
+
-
          1).</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Tools/ResourceTools.pm
+
-
      <UL>
+
-
        <LI>Big modification to allow unrecognized
+
-
          users to see public collections (aggregate stats only).</LI>
+
-
        <LI>Bug fix: empty the list of coll ids
+
-
          previously built before grabbing all coll ids in the
+
-
          cache, because we don't want to include any that aren't
+
-
          in the cache (but were, say, in the AUTHZD_COLL variable).</LI>
+
-
        <LI>When doing regular expression with
+
-
          coll IDs, use /^..$/ to get the exact coll ID.</LI>
+
-
        <LI>Get rid of 'aggregate_only' concept.
+
-
          Return an array of all coll ids for which the user
+
-
          is an admin.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/XML/BuildXML.pm
+
-
      <UL>
+
-
        <LI>This is now used for the Excel custom
+
-
          reports as well as the HTML reports. Now includes
+
-
          aggregate stats rows.</LI>
+
-
        <LI>Get rid of 'aggregate_only' concept.</LI>
+
-
        <LI>utf-8 encode collection name before
+
-
          passing to LibXML method.</LI>
+
-
        <LI>Fix use of utf8::upgrade for collection
+
-
          name</LI>
+
-
       
+
-
        <LI>Slight modification: If we know the
+
-
          user's institution, but they do not have stats for
+
-
          a given collection and time period, default to 0 for
+
-
          all counts so a row is still displayed for them in
+
-
          the results page with zeros in all fields.</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> upgrade_6_7
+
-
      <UL>
+
-
        <LI>Initial</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> upgrade_6_7.cfg
+
-
      <UL>
+
-
        <LI>Initial</LI>
+
-
 
+
-
        <LI>add nameresolver, oai, oaisets table
+
-
          creation</LI></UL></LI>
+
-
  </UL>
+
    
    
-
   <UL>
+
   <li>Decode browse values as UTF-8 before they're written to the XML output (so multi-byte characters are represented correctly).</li>
-
    <LI> BrowseUpdate.pm
+
  <li>Checks whether the browse value is already unicode (uft-8 flag is set) before decode it as unicode; for some reason, for serialissue, the flag is already set in production, but not in development(?).</li>
-
      <UL>
+
  <li>sub BuildScriptNames_XML</li>
 +
 
 +
</ul>
-
        <LI>Insertion is now skipped if browse
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
          field has no value. Also, field value counts are tallied
+
<ul>
-
          and reported.</LI></UL></LI>
+
 
 +
  <li>sub BuildCacheWebPath. To emit the href to the cache in the XML, instead of forcing XSLT to munge it from the path on disk.</li>
 +
 
 +
</ul>
 +
<p><b>LibGlobals.cfg</b>, <b>XsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Typo in gScriptNameFindaid.</li>
 +
 
 +
</ul>
 +
<p><b>CioFactory.pm</b>, <b>DlpsUtils.pm</b>, <b>GroupsInfo.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Examine AUTHZD_COLL for groupids, then populate authzd coll list with its member collids.  (Allows Cory to only make one access control rule for large groups.)</li>
 +
 
 +
</ul>
 +
<p><b>DLXSApp.pm</b>, <b>DlpsUtils.pm</b>, <b>XsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>More generic handling of browse navigation --- UI is able to present
 +
    non-[a-z] characters. Most of these are UTF8 characters; query parameters
 +
    are now protected accordingly.
      
      
-
  </UL>
+
    Modified DlpsUtils::RemoveLeadingAndTrailingHalfEntities to ignore
-
  <UL>
+
     partial entity-like strings that have spaces in them.</li>
-
     <LI> browseutils.cfg
+
-
      <UL>
+
-
        <LI>added "an"</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> ub
+
-
      <UL>
+
-
        <LI>more input checking</LI></UL></LI>
+
-
  </UL>
+
    
    
-
   <UL>
+
</ul>
-
     <LI> updatebrowsedb.pl
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
      <UL>
+
<ul>
 +
 
 +
   <li>Emit 'crosscollection.search.title.str' (via langmap.en.xml) for
 +
     TITLE_XML PI when xcollmode=colls to give title in &lt;head&gt; of page=home
 +
    or page=browsecolls.</li>
 +
 
 +
</ul>
 +
<p><b>Stats/MainPage.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Don't hard-code years for custom report. Do from 2006 to year().</li>
 +
 
 +
</ul>
 +
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Change 'amount' pulldown building
 +
    to reflect values that are in the map starting at 5 in increments of 5
 +
    up to 120</li>
 +
 
 +
</ul>
 +
<p><b>ItemView.cfg</b>, <b>ItemView.pm</b>, <b>ItemViewApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>changes to make pageview work like pageturner.</li>
 +
</ul>
 +
<p><b>ItemView.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Using the collmgr configurable display sizes.</li>
 +
 
 +
</ul>
 +
<p><b>DLXSApp.pm</b>, <b>XsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>DLXSApp.pm   
 +
    - GetBrowseInfo: sort results of ItemBrowseCount scan so [a-z] are guaranteed to come first 
 +
    XsltPIFiller.pm
 +
    - BuildBrowseNav_XML: more accurate calculation of initial single-letter
 +
    browse list (avoiding conflicts between how MySQL and Perl see some unicode characters)</li>
 +
</ul>
 +
<p><b>ItemView.pm</b></p>
 +
<ul>
 +
 
 +
  <li>dynamic page config.</li>
 +
</ul>
 +
<p><b>ItemView.pm</b></p>
 +
<ul>
 +
 
 +
  <li>1.  changed quality from 85 to 100 so picture would be sharper.
 +
    2.  Put in a check so that the defaultPage size is one available from the
 +
    dynamically computed amounts.</li>
 +
</ul>
 +
<p><b>DLXSApp/FullTextApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Different ways to sort idnos follr picklists; SPO (by default) will use index order, but the default will be to sort by idno.</li>
 +
  <li>Changed FullTextApp::HandlePicklistPage to use array of array refs instead of hash to maintain order and updated all calling code</li>
 +
  <li>Refactored and merged picklist logic with base class picklist logic</li>
 +
  <li>All SPO picklist customization using new Volume/Issue mode</li>
 +
</ul>
 +
<p><b>DlpsUtils.pm</b>, <b>ItemAuth.pm</b>, <b>XsltPIFiller.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)</li> 
 +
</ul>
 +
<p><b>DLXSApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Pass arguments that enable custom fallback functionality in DlpsUtils.pm.</li>
 +
</ul>
 +
<p><b>LibGlobals.cfg</b></p>
 +
<ul>
 +
 
 +
  <li>Put fallback variables here in case they aren't defined at the class level.</li> 
 +
</ul>
 +
<p><b>BrowseUpdate/FindaidBU.pm</b></p>
 +
<ul>
 +
    <li>Added ability to generate subject browse for Finding Aids
 +
   
 +
</ul>
-
        <LI>Insertion is now skipped if browse
+
<p><b>BrowseUpdate.pm, updatebrowsedb.pl, BrowseDoubleLayerNav.xsl</b></p>
-
          field has no value. Also, field value counts are tallied
+
<ul>
-
          and reported.</LI>
+
  <li>Browse lists are based on collection data, so values outside 'a'..'z' can now be found in browse lists.</li>
-
        <LI>more input checking</LI></UL></LI>
+
   <li>Explicitly encode browse values as UTF-8 before writing them to the database tables.</li>
-
   </UL>
+
   <li>UTF-8 values are transliterated (e.g. zó -&gt; zo)  to match MySQL query semantics; the original UTF-8 is presented in lists.</li>
-
   <UL>
+
  <li>Punctuation in values is ignored when building counts ("A.B" is treated as "Ab").
-
    <LI> BrowseUpdate/ImageMysqlBU.pm
+
  <li>Menu correctly handles when there are &gt; 26 items in the navbar.</li>
-
     
+
  <li><strong>Browse update should be run against collections.</strong></li>
-
      <UL>
+
</ul>
-
        <LI>Added a comment about browse_split.</LI>
+
-
        <LI>commented out a debug statement.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
<p><b>dlxsglobals.xml</b></p>
-
    <LI> main.cfg
+
<ul>
-
      <UL>
+
 
-
        <LI>remove misc/db CSV related opertations</LI>
+
  <li>ScriptNames now populated by a PI for greater application control (in this case, to substitute the Shibboleth script alias).</li>
 +
  <li>New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)</li>
 +
</ul>
-
        <LI>remove replace( "$DLXSROOT/bin/i/image/html2tab.pl",
+
===TextClass===
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
====New and Changed Functionality====
-
        <LI>remove replace( "$DLXSROOT/bin/i/image/tab2html.pl",
+
<p>'''Pageviewer'''</p>
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
Pageviewer was changed to support the following functionalaties:
-
        <LI>restore Text::CSV_XS</LI>
+
<ul>
-
        <LI>remove ["Net::hostent", 1.01] it is
+
<li>
-
          part of Perl</LI>
+
The algorithm used in Release 14 used discrete steps to determine the scaled size, Release 15 uses continuous scaling to create the image size.
-
        <LI>update Text::CSV_XS should be 0.23</LI>
+
</li>
 +
<li>Instead of using the + or - symbols to increase or decrease the size of the image and ocr, which only gave the user 3 size options ( small, medium, and large ), the user can now select a percent deviation from the original image size from which to view the image page or the ocr page. For JP2000 files, at startup the software will determine what sizes to make available to the user.  A full range of sizes may not be available for every JP2000 page image.  The sizes available depends on the image's resolution.  The range available is 50% to 400%.  This range is not configurable for JP2000 files.  A test is made to determine if the image can scale to the appropriate the size.  If it can, that scale is made available, if not that scale is not made available.</li>
 +
<li>Pageviewer will no longer support Mr.SID images so if you are using Mr.SID they will have to be converted to jp2.</li>
 +
<li>Pageviewer no longer uses a frameset for displaying PDF; the <code>frm</code> URL parameter is no longer generated, and is ignored if present.</li>
 +
<li>The location of the page images have to be on the either on the server where pageviewer runs from or mounted on to that server. You can indicate the location of images in the hash %gMoutnPointMap in the ItemView.cfg.</li>
 +
</ul>
-
        <LI>Removed all references to outdated
+
The following files were changed to support this change:
-
          validate.pl script Changed references for samplefa.*inp
+
-
          files to new file names samplefa.ead2002.dcl and samplef.concat.ead.dcl</LI>
+
-
        <LI>fixed move of fixdoctype.pl from s/samplefa
+
-
          to f/findaid</LI>
+
-
        <LI>remove replace( "$DLXSROOT/bin/f/findaid/isolat128bit.pl",
+
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
-
        <LI>removed sampletc obsolete (now just
+
-
          sampletc_utf8)</LI>
+
-
        <LI>add setup_newcoll for findaidclass</LI>
+
-
        <LI>Added section for findaid demofa collection</LI>
+
-
        <LI>["XML::LibXSLT", 1.63], ["XML::LibXML",
+
-
          1.65], from ["XML::LibXSLT", 1.58], ["XML::LibXML",
+
-
          1.58],</LI>
+
-
       
+
-
        <LI>sru, broker20 optional, broker20 deprecated</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
<ul>
-
    <LI> dlxsglobals.xml
+
<li>t/text/clipviewer.xsl </li>
-
      <UL>
+
<li>t/text/htmlhead.xsl </li>
-
        <LI>url for Atom/Rss</LI>
+
<li>t/text/langmap.en.xml </li>
-
        <LI>changed TemplateName to TemplatePath</LI>
+
<li>t/text/langmap.fr.xml </li>
-
       
+
<li>t/text/pageviewer.xsl </li>
-
        <LI>changed TemplateName to TemplatePath</LI>
+
<li>t/text/viewer.utils.xsl </li>
-
        <LI>mtag changes</LI></UL></LI>
+
<li>t/text/viewer.xsl </li>
-
  </UL>
+
<li>lib/ItemView.cfg </li>
-
  <UL>
+
<li>lib/ItemView.pm  </li>
-
    <LI> feedback.xsl
+
<li>lib/ItemViewApp.pm </li>
-
      <UL>
+
</ul>
-
        <LI>new feedback cgi code. generalized
+
-
          for use outside of just mdp.</LI>
+
-
        <LI>these files were moved to web/i/image.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> transform.xml
+
-
      <UL>
+
-
        <LI>add &lt;xsl:strip-space/></LI>
+
-
        <LI>&lt;xsl:strip-space elements="*"/></LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> transform_xhtml.xml
+
-
      <UL>
+
-
       
+
-
        <LI>add &lt;xsl:strip-space/></LI>
+
-
        <LI>&lt;xsl:strip-space elements="*"/></LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> transform_xml.xml
+
-
      <UL>
+
-
        <LI>add &lt;xsl:strip-space/></LI>
+
-
        <LI>&lt;xsl:strip-space elements="*"/></LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> xsl2htmlutils.xsl
+
-
      <UL>
+
-
        <LI>bboru changes via email from Wisconsin:
+
-
          added test for value of key('get-lookup',Label)
+
-
          else it returns an empty value if there is a dot in
+
-
          the Label value, as in 'etc.' &lt;xsl:when test="contains(Label,'.')
+
-
            and key('get-lookup',Label)">  &lt;xsl:when test="contains(Label,'.')">
+
-
            use 'selected' for valid xhtml
+
-
            &lt;xsl:attribute name="selected">selected&lt;/xsl:attribute>
+
-
            &lt;xsl:attribute name="selected">true&lt;/xsl:attribute>
+
-
        </LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
In the subclasses are, these files were changed:
-
    <LI> css/feedback.css
+
<ul>
-
     
+
<li>a/acls/pageviewer.xsl </li>
-
      <UL>
+
<li>PVApp/EeboPVApp.pm  </li>
-
        <LI>new feedback cgi code. generalized
+
<li>PageView/AclssuppPV.pm </li>
-
          for use outside of just mdp.</LI>
+
<li>PageView/CjsPV.pm  </li>
-
        <LI>these files were moved to web/i/image.</LI></UL></LI>
+
<li>PageView/EccoPV.pm </li>
-
  </UL>
+
<li>PageView/MachynPV.pm </li>
-
  <UL>
+
</ul>
-
    <LI> js/feedback.js
+
-
      <UL>
+
-
        <LI>new feedback cgi code. generalized
+
-
          for use outside of just mdp.</LI>
+
-
        <LI>these files were moved to web/i/image.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
===TextClass===
+
<p>'''Picklist'''</p>
-
'''web/t/text'''
+
Picklist has been modified to offer issue and volume views, along with the "classic mode" (i.e., pre-existing picklist view). By default, all code is evaluated in classic mode, meaning that picklists will behave as it did in release 14. See [[Picklist customization for serial articles]] for more information.
-
  <UL>
+
The following files were changed to support this change:
-
  </UL>
+
<ul>
-
  <UL>
+
<li>DlpsLocalUtils.pm</li>
-
    <LI> browse.xml
+
<li>langmap.en.xml</li>
-
      <UL>
+
<li>picklist.xsl</li>
-
        <LI>added browseextra.xsl inc</LI>
+
<li>picklistheader.xsl</li>
-
</UL></LI>
+
</ul>
-
  </UL>
+
-
  <UL>
+
-
    <LI> clipviewer.xml
+
-
      <UL>
+
There were many collection-specific changes. The broadest changes were accomplished by enabling the new picklist functionality in SpoCommonTC.pm and in turn subclassing that (instead of TextClass.pm) for collection-specific text classes. Additional customization was accomplished for each collection by modifying picklist.xsl, picklistheader.xsl, or langmapextra.xml in the respective web directory.
-
        <LI>added some xsl incl</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> header.xsl
+
-
      <UL>
+
-
        <LI>added code to allow for print on demand
+
-
          links to amazon.com from podPermittedItems</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> htmlhead.xsl
+
-
      <UL>
+
-
        <LI>emit full path to main XML template
+
====Changed Files====
-
          for &lt;TemplateName> element</LI>
+
<p><b>langmap.en.xml</b></p>
-
        <LI>changed TemplateName to TemplatePath</LI>
+
<ul>
-
        <LI>If we're viewing a single item, put
+
<li>added openurl link text</li>
-
          its title in the HTML head.</LI>
+
-
        <LI>Same as above, but also for view=trgt
+
-
          and page=root.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> langmap.en.xml
+
-
      <UL>
+
</ul><p><b>pageviewerheader.xsl</b></p>
-
        <LI>add feature PRF (Preface) to langmaps</LI></UL></LI>
+
<ul>
-
  </UL>
+
<li>added class=title245 to div in itemcitation</li>
-
  <UL>
+
-
    <LI> langmap.fr.xml
+
-
      <UL>
+
-
        <LI>add feature PRF (Preface) to langmaps</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> pageviewerheader.xsl
+
-
      <UL>
+
-
        <LI>Stub template for ProcessSerialarticle.</LI></UL></LI>
+
</ul><p><b>textclass.css</b></p>
-
  </UL>
+
<ul>
-
  <UL>
+
<li>added .title245 style to fix long titles that wrap and cut off pdf viewer navigation</li>
-
    <LI> results.xsl
+
-
      <UL>
+
-
        <LI>No more STATUS="hidden".</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> resultsheader.xsl
+
-
      <UL>
+
-
        <LI>BIBLSCOPE filtering: made like tocheader.xsl
+
-
          (no comma before issuetitle).</LI>
+
-
        <LI>&lt;xsl:value-of select="$pubinfo"/> -->
+
</ul><ul>
-
          &lt;xsl:copy-of select="$pubinfo"/> to write child nodes
+
<li>Links to PDFs (if available).</li>
-
          (e.g. &lt;div>) to the HTML.</LI>
+
<ul>
-
        <LI>No comma after &lt;div>[issuetitle]</div>
+
<li>picklistheader.xsl</li>
-
          for serialissue.</LI>
+
<li>textclass.css</li>
-
        <LI>minor change to fix missing name search
+
</ul>
-
          bug</LI></UL></LI>
+
</ul><p><b>navheader.xsl</b></p>
-
  </UL>
+
<ul>
-
  <UL>
+
<li>Simplified help link; now uses whatever value is provided by the middleware.</li>
-
    <LI> scopedivs.xsl
+
</ul><p><b>help/help-readme.html</b></p>
-
      <UL>
+
<ul>
-
        <LI>TYPE="hidden" allows selective non-display
+
<li>Describes a workflow and workfiles that do not exist.</li>
-
          of DIVn (and all descendents) in TOC. (Note distinction
+
-
          from mis-named STATUS="hidden".)</LI>
+
-
        <LI>STATUS="hidden" now actually hides
+
-
          the DIV. No more TYPE="hidden".</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> text.components.xsl
+
-
      <UL>
+
-
        <LI>FilterNumberedNotesWithParams: wrap
+
-
          paragraphs after the first in &lt;p>.</LI>
+
-
        <LI>LG template calls template name="addRend".</LI>
+
</ul><p><b>help/bbag-holdings.html, help/bbag-intro.html, help/bbag-srch.html, help/history-intro.html, help/results-intro.html, help/results-sort.html, help/search-basic.html, help/search-bib.html, help/search-boolean.html, help/search-intro.html, help/search-proximity.html, help/search-sel-type.html, help/search-tips.html, help/search-ww.html, help/xcbbag-holdings.html, help/xcbbag-intro.html, help/xcbbag-search.html, help/xchistory-intro.html, help/xcresults-intro.html, help/xcresults-sort.html, help/xcsearch-basic.html, help/xcsearch-bib.html, help/xcsearch-boolean.html, help/xcsearch-intro.html, help/xcsearch-proximity.html, help/xcsearch-sel-type.html, help/xcsearch-tips.html, help/xcsearch-ww.html, help/css/help.css</b></p>
-
        <LI>In &lt;xsl:template match="P">, don't
+
<ul>
-
          normalize value of @ID.</LI>
+
<li>Copyediting, took out references to UMDL.</li>
-
        <LI>More robust filtering for filterNoteWithParas.</LI>
+
-
        <LI>Handle CELL/@ROWSPAN.</LI>
+
-
        <LI>In &lt;xsl:template match="REF">, removed
+
-
          special case for PARENT::ITEM which appeared to be
+
-
          abandoned code.</LI>
+
-
        <LI>For PBs, Wrap the DIV in an OBJECT
+
</ul><p><b>tocheader.xsl</b></p>
-
          so that we still have valid XHTML in the event that
+
<ul>
-
          we're currently inside a P.</LI>
+
<li>Don't add comma between multiple EDITORS after apply-templates, the comma is add
-
        <LI>OBJECT wrapper around PB text breaks
+
ed in the template rule.</li>
-
          in Safari; better to use span with display: block.</LI>
+
-
        <LI>Add anchors to ITEMs which have IDs.</LI>
+
-
        <LI>Create anchors for ID'd Ps in filterNumberedNoteWithParas.</LI>
+
-
        <LI>In filterNumberedNoteWithParas, check
+
-
          whether we're in NOTE2 (in addition to NOTE1).</LI>
+
-
        <LI>XML table elements (TABLE, ROW, CELL)
+
-
          get a class applied to them, obscuring any REND styles
+
-
          in the markup. I've changed code to apply the value
+
-
          of @REND to the class value, e.g. &lt;td class="xmltd-rend-center">.</LI>
+
-
        <LI>L: pass forward all @RENDs, nit just
+
-
          ones that start with "line".</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> textclass.css
+
-
      <UL>
+
-
        <LI>Added rend-plain.</LI>
+
-
        <LI>Added rend-isub.</LI>
+
-
        <LI>Added .rend-rightjustify.</LI>
+
-
        <LI>Changed .pbtext.</LI>
+
</ul><p><b>textclass.css</b></p>
-
        <LI>List style .nomarker.</LI>
+
<ul>
-
        <LI>Add margin-bottom to div.lg and the
+
<li>added style for tocdiv table to make it 100% due to a bug in IE8 that ignores the table width set in the table attribute</li>
-
          like.</LI>
+
-
        <LI>rend-aligntop.</LI></UL></LI>
+
-
  </UL>
+
</ul><p><b>tocheader.xsl</b></p>
-
  <UL>
+
<ul>
-
    <LI> tocheader.xsl
+
<li>$subjectinfo: also use @TYPE='keyword'.</li>
-
      <UL>
+
-
        <LI>BIBLSCOPE filtering.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> viewer.utils.xsl
+
-
      <UL>
+
-
        <LI>minor change to fix missing name search
+
-
          bug</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
</ul><p><b>htmlhead.xsl</b></p>
-
    <LI> viewtextnote.xsl
+
<ul>
-
      <UL>
+
<li>changed the way title is handled for journals</li>
-
        <LI>remove crash your browser</LI>
+
-
        <LI>OCR quality</LI></UL></LI>
+
-
  </UL>
+
-
'''bin/t/text'''
+
</ul><p><b>navheader.xsl</b></p>
 +
<ul>
 +
<li>call buildLoginLink factored out of web/t/text/navheader.xsl</li>
-
  <UL>
+
</ul><p><b>clipviewer.xsl, jquery.ba-resize.js, pageviewer.xsl, pdf_framer.js, viewer.utils.xsl, viewer.xsl</b></p>
-
    <LI> CER.pm
+
<ul>
 +
<li>Removed <code>frm</code> param and frameset option for PDF viewing; now use iframe with Javascript to calculate correct frame size.</li>
-
      <UL>
+
</ul><p><b>footer.import.xsl</b></p>
-
        <LI>added dagger2 &amp;#x2021; labr &#x3008;
+
<ul>
-
          long &amp;#xAF; rabr &#x3009; short &#x2D8;</LI></UL></LI>
+
<li>Added alt attribute to "Back to Top" link image.</li>
-
  </UL>
+
-
  <UL>
+
</ul><p><b>header.xsl, search.xsl, ww.xsl</b></p>
-
    <LI> dtdalyzer.pl
+
<ul>
-
      <UL>
+
<li>Renamed form method "GET" to "get".</li>
-
        <LI>Added ROWSPAN attribute.</LI>
+
</ul><p><b>text.components.xsl</b></p>
-
        <LI>Added DOC attr.</LI></UL></LI>
+
<ul>
-
  </UL>
+
<li>Typo: $divLevel -&gt; $divlevel</li>
-
  <UL>
+
-
    <LI> utf8chars
+
-
      <UL>
+
</ul><p><b>text.components.xsl</b></p>
-
        <LI>fix error checking and display data</LI></UL></LI>
+
<ul>
-
  </UL>
+
<li>HEADER tmeplate: handle unexpected cases with  &lt;xsl:otherwise&gt;&lt;xsl:apply-templates/&gt;&lt;/xsl:otherwise&gt;.</li>
-
'''cgi/t/text'''
+
</ul><p><b>textclass.css</b></p>
 +
<ul>
 +
<li>added styles for new h1, h2, etc. output from t/text/text.components.xsl</li>
-
  <UL>
+
</ul><p><b>resultsheader.xsl</b></p>
-
    <LI> CVApp.pm
+
<ul>
-
      <UL>
+
<li>More robust code changes to support mixed collections moved from Feminist Studies to DLXS system-wide</li>
-
        <LI>added pgseq to cache filename and change
+
-
          default view to pdf</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> DlpsLocalUtils.pm
+
-
      <UL>
+
-
        <LI>Refactored LocalIdResolver(), moving
+
-
          substantial code into CreatePicklist().</LI>
+
-
        <LI>CreatePicklist: delete unwanted params
+
</ul><ul>
-
          from tempCgi that may be hanging around (possibly
+
<li>Fixes for Diderot so publication information field only shows up if any information; fix to base XSLT stylesheet since applies to all collections</li>
-
          due to URL hacking) and that we don't want passed
+
<ul>
-
          forward in picklist links.</LI></UL></LI>
+
<li>resultsheader.xsl</li>
-
  </UL>
+
<li>searchheader.xsl</li>
 +
</ul>
 +
</ul><p><b>langmap.en.xml, picklist.xsl, picklistheader.xsl, resultsheader.xsl, searchheader.xsl</b></p>
 +
<ul>
 +
<li>All SPO picklist customization using new Volume/Issue mode</li>
-
  <UL>
+
</ul><p><b>browse.xsl</b></p>
-
    <LI> TextAppXsltPIFiller.pm
+
<ul>
 +
<li>New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)</li>
-
      <UL>
+
</ul><p><b>TextClass.pm</b></p>
-
        <LI>print on demand links to amazon.com
+
<ul>
-
          added</LI></UL></LI>
+
<li>SerialArticleTocLinkHook: built link to view=toc for pageimage collections.</li>
-
  </UL>
+
-
  <UL>
+
-
    <LI> TextClass.pm
+
-
      <UL>
+
-
        <LI>Add RemoveXMLPi for Kwic processing</LI>
+
-
        <LI>Filter_REFsForText: treat &lt;REF TYPE="txt">
+
-
          same as &lt;REF TYPE="ptr">.</LI>
+
-
        <LI>GetDateParsePattern: optional hyphens
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
-
          between year-month-day parts of a sortdate.</LI>
+
<ul>
-
        <LI>Output FirstPageHref for layer2 serialissue
+
<li>BuildItemLink_XML: handle case of serialarticle colls using pageimages.</li>
-
          results.</LI>
+
-
        <LI>minor change to fix missing name search
+
-
          bug - close div at end of div1headbib</LI>
+
-
        <LI>another change to fix missing NODE
+
-
          param in search error</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> textclass.cfg
+
-
      <UL>
+
-
        <LI>added config to allow POD db lookups</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> ClipView/mdailyCV.pm
+
-
      <UL>
+
-
        <LI>new</LI>
+
-
</UL></LI>
+
-
  </UL>
+
-
===ImageClass===
+
</ul><p><b>DlpsLocalUtils.pm</b></p>
 +
<ul>
 +
<li>CreatePicklist: don't link to text view if it's a serialarticle coll that uses pageimages.</li>
 +
</ul><p><b>textclass.cfg</b></p>
 +
<ul>
 +
<li>fix linking to be relative to preserve https</li>
-
====CGI/Middleware====
+
</ul><p><b>textclass.cfg</b></p>
 +
<ul>
 +
<li>$gHelpSubdir: more flexibility for location of help files.</li>
-
<p>Known Problems</p>
+
</ul><p><b>TextClass.pm</b></p>
<ul>
<ul>
-
</ul>
+
<li>Moved logic of ViewPDFLink_XML to TextAppXsltPIFiller.pm, as most of the time it is processing PIs.</li>
-
<p>Speed/Performance Enhancements </p>
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
<ul>
<ul>
-
</ul>
+
<li>ViewPDFLink_XML: now looks for PDFs in item obj dir, then serves them out of web cache.</li>
-
<p>Other</p>
+
</ul><p><b>TextClass.pm</b></p>
-
<ul>    
+
<ul>
-
</ul>
+
<li>Moved  ViewPDFLink_XML back from TextAppXsltPIFiller.pm (caused more problems than it solved).</li>
-
====Data Preparation====
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
-
<p>Speed/Performance Enhancements </p>
+
<ul>
<ul>
-
</ul>
+
<li>Moved ViewPDFLink_XML back to TextClass.pm (caused more problems than it solved).</li>
-
<p>Other</p>
+
</ul><p><b>TextClass.pm</b></p>
-
<ul>    
+
<ul>
-
</ul>
+
<li>Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.</li>
-
===BibClass===
+
</ul><p><b>TextClass.pm</b></p>
-
'''cgi/b/bib'''
+
<ul>
 +
<li>Calls to ViewPDFLink_XML now call BuildPODandDODLinks_XML.</li>
-
  <UL>
+
</ul><p><b>DlpsLocalUtils.pm</b></p>
-
    <LI> BibApp.pm
+
<ul>
-
      <UL>
+
<li>Add call to BuildPODandDODLinks_XML.</li>
-
        <LI>added size as a common param</LI>
+
-
        <LI>add size to SID if we have one</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> BibClassPerlFilters.pm
+
-
      <UL>
+
-
        <LI>BibClassPerlFilters::CollsFilter had
+
-
          a minor bug in the sql query used to select the collection
+
-
          name from the Collection table causing it to not always
+
-
          select the right row because it wasn't consdering
+
-
          the value of the DLPS_DEV environment variable. It
+
-
          now correctly selects the production, release, or
+
-
          user row.</LI>
+
-
</UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> BibClassUtils.pm
+
-
      <UL>
+
</ul><p><b>textclass.cfg</b></p>
-
        <LI>change openurl sub to be 1.0</LI>
+
<ul>
-
        <LI>change wording on openurl link</LI>
+
<li>Change 'amount' pulldown building
 +
to reflect values that are in the map starting at 5 in increments of 5
 +
up to 120 -- replaces @proximityAmounts array</li>
-
        <LI>added support for icon in openurl links</LI></UL></LI>
+
</ul><p><b>textclass.cfg</b></p>
-
  </UL>
+
<ul>
 +
<li>Set up a variable (which will be used in TextClass/SpoCommonTC.pm when commited) that uses custom SpoLocalUtils.pm instead of DlpsLocalUtils.pm for picklist processing.</li>
-
  <UL>
+
</ul><p><b>textclass.cfg</b></p>
-
    <LI> bibclass.cfg
+
<ul>
-
      <UL>
+
<li>Added .png to gEntityExtensionsToCheck.</li>
-
        <LI>change openurl server</LI></UL></LI>
+
-
  </UL>
+
-
===Oai===
+
</ul><p><b>TextClass/FsTC.pm</b></p>
 +
<ul>
 +
<li>New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)</li>
-
'''cgi/o/oai/'''
+
</ul>
-
<UL><LI>oai, oai.cfg, oai_conf.xml, sample_config.xml, UMProvider.pm</li>
+
===ImageClass===
-
<UL><li>new</li></UL></UL>
+
-
'''bin/o/oai/'''
 
-
<UL><LI>ConfirmPublicDomain.pl, loadOai.pl, mbooks_harvest_cron.pl, mbooks_update.pl, oai_conf.xml, OaiList.pl, OaiToDb.pl, RepositoryConfig.xml, revertOaiTbl.pl, updateMbooksOai.pl</li>
+
====CGI/Middleware====
-
<UL><li>new</li></UL></UL>
+
-
'''/bin/o/oaister/'''
+
<p>Known Problems</p>
 +
<ul>
 +
<li>None known so far.</li>
 +
</ul>
-
<UL>
+
<p>Enhancements </p>
-
<LI>RepositorySets.cfg
+
-
<UL>
+
-
<LI>new -- contains baseURLs, MODS info and OAITransFixer.pm subscripts</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
<ul>
-
<LI>oaitransform/CollsObj.cfg
+
    <li>Image Viewing
-
<UL>
+
        <ul>
-
<LI>new -- config for CollsObj.pm</LI>
+
            <li>Each field value repetition is now wrapped in a DIV with class <tt>fldvalrep</tt> so that spacing between repetitions can be controlled (<tt>fieldvalues.xsl, css/imageclass.css</tt>)</li>
-
</UL></UL>
+
            <li>Document domain setting is no longer set; it can be added in custom XSL (<tt>js/imageclass.js</tt>)</li>
 +
            <li>Added download link for current image size (<tt>entry_imagetools.xsl, langmap.en.xml, panzoom.xsl</tt>)</li>
 +
            <li>Feedback form now uses reCAPTCHA service (<tt>bbentry.xml, entry.xml</tt>)</li>
 +
            <li>Added "prep tables in use" indicator when using <tt>prep=1</tt> option (<tt>htmlhead.xsl, langmap.en.xml, css/imageclass.css</tt>)</li>
 +
            <li>Improved page titles and meta information for key pages in Image Class
 +
              with hopes of improving search engine recognition and simply making
 +
              the pages more meaningful and therefore user friendly (<tt>entry.xml, entry.xsl, groups.xsl, htmlhead.xsl, index.xsl, panzoom.xsl, results.xsl, search.xsl</tt>).</li>
 +
            <li>Long titles can be truncated via Javascript (<tt>entry.xsl, panzoom.xsl, entry.xml, js/jquery.text-overflow.js</tt>).</li>
 +
            <li><tt>ImageAppXsltPIFiller.pm</tt>
 +
                <ul>
 +
                    <li>Added "urltext" option to idlinks and keylinks options for field value
 +
                          display, configurable in collmgr.</li>
 +
                    <li>display order of browseoptions fields is now the same as listed in the
 +
                    browsefields collmgr field.</li> 
 +
                </ul>
 +
            </li>
 +
                   
 +
        </ul>
 +
    </li>
 +
    <li>Portfolios
 +
        <ul>
 +
            <li>Track ExtendedSliceSize and warn user that their downloaded porfolio will not
 +
              contain all items (<tt>bbexportprep.xsl, langmap.en.xml</tt>).</li>
 +
            <li>Better handling of IDs that have changed since being stored in a portfolio (<tt>ImageApp.pm</tt>)</li> 
 +
            <li>Better cleanup of artifacts from downloaded portfolios (<tt>ImageApp.pm</tt>)</li>
 +
        </ul>
 +
    </li>
 +
    <li>Searching/Browsing
 +
        <ul>
 +
            <li>Changes that support new searching options ("searchtypes" in Collection Manager) including starts with, ends
 +
                with, and contains, exact, and support for term list in search form (<tt>browseoptions.xsl, index.xml, index.xsl, search.xsl, css/imageclass.css, js/imageclass.js</tt>).</li>
 +
            <li>Fields can now be weighted for relevance ranking. Configurable in Collection Manager.</li>
 +
            <li>Search result pages have a <tt>link</tt> reference to a MediaRSS feed (<tt>resultsdata.xsl</tt>).</li>
 +
            <li>Result pages should now print without losing any images (<tt>htmlhead.xsl, css/print.css</tt>)</li>
 +
        </ul>
 +
    </li>
 +
</ul>
-
<UL>
+
====Data Preparation====
-
<LI>oaitransform/CollsObj.pm
+
-
<UL>
+
-
<LI>new -- used for FMPro connection for OAIster</LI>
+
-
</UL></ul>
+
-
<UL>
+
<p>Enhancements </p>
-
<LI>oaitransform/DataConditioning.pm
+
-
<UL>
+
-
<LI>Get rid of any remaining stray sp0t tags</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
<p><b>statsconfig.pl</b></p>
-
<LI>oaitransform/MODSTransform
+
<ul>
-
<UL>
+
  <li>This a new script that generates stats configuration resource definations for image class collections. These definitions are used by the stats system to know how to gather usage statistics.</li>
-
<LI>Fix bug where MODS record was not ignored for re-exposure if no URL in record</LI>
+
</ul>
-
<LI>Changed the tree removing metadata from the re-exposed XML, changed the language code mapping, added setSpec to about container</LI>
+
-
<LI>Swap dates in about container and change MODS loc.gov URL</LI>
+
-
<LI>Remove NS prefix and NS from metadata element</LI>
+
-
<LI>Remove all xmlns attributes as well</LI>
+
-
<LI>Add all orig setSpec to provenance element for MODS re-exposure</LI>
+
-
<LI>Hack to fix xsi: problem for Northwestern</LI>
+
-
<LI>Change to pick up URLs in identifier type=uri</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
===OAI===
-
<LI>oaitransform/OAITransFixer.pm
+
-
<UL>
+
-
<LI>new -- perl subscripts for fixing harvested data</LI>
+
-
</UL>
+
-
</UL>
+
-
<UL>
+
====New and Changed Functionality====
-
<LI>oaitransform/OAITransform
+
You must create the following two tables oai_marc and oai_mods in additions to the oai and oaisets tables:
-
<UL>
+
-
<LI>Make tmp utf8 conditioning file unique</LI>
+
-
<LI>Added flag to skip DTD validation change, the PostXslt process to be after each small file, not the final large one</li>
+
-
<LI>Added code to regenerate the perl config files from the XML config files each time this is run</LI>
+
-
<LI>Comment out LoadRepositoryLookTable() and changed SetCurrentArchive() to use XML config value</LI>
+
-
<LI>Fixed x option print message</LI>
+
-
<LI>Do not assume the input XML is utf8 when we open it</LI>
+
-
<LI>Move removing attribute to after data conditioning</LI>
+
-
<LI>Patch to fix latin1 regex problem</LI>
+
-
<LI>Unescape hex and dec entity refs</LI>
+
-
<LI>Change HTML remove reporting</LI>
+
-
<LI>Added fixer call and other minor changes</LI>
+
-
<LI>Fix @INC</LI>
+
-
<LI>Skip deleted records</LI>
+
-
<LI>0 if no skipped or deleted records</LI>
+
-
<LI>Add skipped and deleted to repo count</LI>
+
-
<LI>Moved around reporting msg</LI>
+
-
<LI>Get the return from PreprocessXML bug fix</LI>
+
-
<LI>Added more XML cleanup</LI>
+
-
<LI>Semi opt for hex and dec ent refs</LI>
+
-
<LI>Added CollsDB</LI>
+
-
<LI>Always set in_progress in DB</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
<pre>
-
<LI>oaitransform/browse.tpl
+
  CREATE TABLE `oai_marc` (
-
<UL>
+
    id  varchar(150) NOT NULL default '',
-
  <LI>new -- template for building OAIster browse pages</LI></UL>
+
    timestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-
</UL>
+
    marc21  mediumblob,
 +
    PRIMARY KEY  (id),
 +
    KEY timestamp (timestamp),
 +
    KEY oai_time_id (timestamp,id));
-
<UL>
+
  CREATE TABLE `oai_mods` (
-
<LI>oaitransform/manageCollsDb.pl
+
    id` varchar(150) NOT NULL default '',
-
<UL>
+
    timestamp  timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-
  <LI>new -- CGI script for managing FMPro DB for oaister</LI>
+
    mods mediumblob,
-
</UL>
+
    PRIMARY KEY  (id),
-
</UL>
+
    KEY timestamp (timestamp),
 +
    KEY oai_time_id (timestamp,id));
 +
</pre>
-
<UL>
+
We were finding that UMProvider was taking too long when responding to a request for marc and mods records, so we created these two tables to contain marc and mods recordsIn our nightly cron jobs that keep the oai tables current, we have all the marc and mods records placed in the oai table and also in one of these two tables depending on the format type of the record:
-
<LI>oaitransform/mods-bibclass.xsl
+
-
<UL>
+
-
  <LI>Added copyrightDate YR</LI>
+
-
<LI>urls in own URL tags</LI>
+
-
<LI>Change to pick up URLs in identifier type=uri</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
<pre>
-
<LI>oaitransform/mods_repositoryNames.pl
+
INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;
-
<UL>
+
-
<LI>Fixed amp;</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;
-
<LI>oaitransform/oai-bibclass3.xsl
+
</pre>
-
<UL>
+
-
<LI>Added tests for empty elements</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
The data provider provides records from the oai table when a Dublin Core format type request comes in; from the oai_marc table when a marc format type request comes in; and, from oai_mods when a mods format request comes in.
-
<LI>oaitransform/repositoryNames.pl
+
-
<UL>
+
-
<LI>Add &amp;amp; fix</LI>
+
-
<LI>Fix amp;</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
====Changed Files====
-
<LI>scripts/Batch_UMHarvest
+
<p><b>provider/LoadDB.pl</b></p>
-
<UL>
+
<ul>
-
<LI>Add skip HTML flag for transform</LI>
+
<li>Updated to trim set and id before storing record</li>
-
<LI>Allow -x for transform</LI>
+
<li>Updated ConnectToDB to get database name from config xml</li>
-
  <LI>Added -a for incremental batch harvesting</LI></UL></LI>
+
<li>De-coupled from nameresolver so that it is optional to sync with nameresolver</li>
-
</UL>
+
<li>new code for new tables oai_mods, and oai_marc</li>
 +
</ul>
 +
<p><b>provider/GetNewCollections.pl</b></p>
 +
<ul>
 +
<li>Fixed path for emailing report to look in subdir</li>
 +
</ul>
 +
<p><b>provider/umprovider_flow_diagrams_and_examples.ppt</b></p>
 +
<ul>
 +
<li>PowerPoint presentation for the workshop which includes example transformations and 3 flow charts</li>
 +
</ul>
 +
<p><b>provider/ExtractHeaders.pl</b></p>
 +
<ul>
 +
<li>Updated to get data dictionary from collmgr instead of constructing the path using the standard convention</li>
 +
</ul>
 +
<p><b>provider/RunOaiConversion.pl</b></p>
 +
<ul>
 +
<li>Updated call to LoadDB for DLPS classes</li>
 +
</ul>
 +
<p><b>provider/exampleColls.xml</b></p>
 +
<ul>
 +
<li>Updated to use sampleutf8_tc collection which is included in the DLXS release</li>
 +
</ul>
 +
<p><b>provider/dlxs_to_oaidc_cron.pl</b></p>
 +
<ul>
 +
<li>Cron job to include in DLXS 14 release which includes email addresses specified in oai.cfg</li>
 +
</ul>
 +
<p><b>provider/dlps/text_ic_oai_cron.pl</b></p>
 +
<ul>
 +
<li>Updated call to RunOaiTransformation</li>
 +
</ul>
 +
<p><b>provider/dlps/modifiedDlpsColls.xml, provider/CollsAndTypesOfIDs.xls</b></p>
 +
<ul>
 +
<li>Moved to dlps subdir</li>
 +
</ul>
 +
<p><b>provider/dlps/modifiedSpoColls.xml</b></p>
 +
<ul>
 +
<li>Moved to modified subdir</li>
 +
</ul>
 +
<p><b>provider/dlps/RunDlpsOaiConversion.pl, provider/dlps/text_ic_oai_cron.pl</b></p>
 +
<ul>
 +
<li>More specific version of old RunOaiConversion.pl script to be used for DLPS</li>
 +
</ul>
 +
<p><b>provider/dlps/RunDlpsOaiConversion.pl</b></p>
 +
<ul>
 +
<li>Had to move back to bin/o/oai/provider because of paths for scripts</li>
 +
<li>File for running DLPS specific text class to oai_dc transformation. This is provided as an example for release 14 but most people can probably more easily modify RunOaiConversion.pl</li>
 +
</ul>
 +
<p><b>provider/ExtractHeaders.pl</b></p>
 +
<ul>
 +
<li>Updated to take xpat host as param</li>
 +
</ul>
 +
<p><b>provider/GenerateReport.pl, provider/RunDlpsOaiConversion.pl, provider/RunOaiConversion.pl</b></p>
 +
<ul>
 +
<li>Updated help option and call to ExtractHeaders</li>
 +
<li>Updated path to colls.xml files</li>
 +
</ul>
 +
<p><b>provider/GenerateReport.pl</b></p>
 +
<ul>
 +
<li>Updated call to get DLXSROOT environment variable</li>
 +
</ul>
 +
<p><b>provider/oai_update_history_text.txt</b></p>
 +
<ul>
 +
<li>Example file for execution history</li>
 +
</ul>
 +
<p><b>provider/exampleColls.xml</b></p>
 +
<ul>
 +
<li>Updated with instructions about the possible attributes for each collection</li>
 +
</ul>
 +
<p><b>provider/GetNewCollections.pl</b></p>
 +
<ul>
 +
<li>Updated logic to send report with or without CC on email</li>
 +
</ul>
 +
<p><b>provider/dlps/NewOAICollection.svg, provider/dlps/RunOaiConversion.svg, provider/dlps/UMProviderFlow.svg</b></p>
 +
<ul>
 +
<li>SVG (Omnigraffle, Visio, gliffy) editable formats of the flow diagrams for UMProvider. The JPEG (uneditable) versions of these files are $DLXSROOT/bin/o/oai/provider.</li>
 +
</ul>
 +
<p><b>ConfirmPublicDomain.pl</b></p>
 +
<ul>
 +
<li>new set name, minor changes</li>
 +
</ul>
 +
<p><b>filterMarc21.xsl</b></p>
 +
<ul>
 +
<li>added new fields</li>
 +
</ul>
 +
<p><b>provider/dlps/text_ic_oai_cron.pl</b></p>
 +
<ul>
 +
<li>be more exact in the path.</li>
 +
</ul>
 +
<p><b>provider/oai_update.pl</b></p>
 +
<ul>
 +
<li>new code for new tables oai_marc and oai_mods</li>
 +
<li>drop tables oai_copy and oaisets_copy in case connect error left them
 +
behind on previous run.</li>
 +
</ul>
 +
<p><b>moveOaiTables.pl</b></p>
 +
<ul>
 +
<li>new code for new tables oai_mods and oai_marc</li>
 +
<li>code for the oai_marc and oai_mods tables.</li>
 +
</ul>
 +
<p><b>provider/dlps/modifiedDlpsColls.xml, provider/dlps/modifiedSpoColls.xml, provider/dlps/oai_update_history_dlps.txt, provider/dlps/oai_update_history_spo.txt</b></p>
 +
<ul>
 +
<li>these are changed by the cron jobs and should not be controlled.</li>
 +
</ul>
 +
<p><b>provider/oai_new_coll_history.txt, provider/oai_update_history_text.txt</b></p>
 +
<ul>
 +
<li> they are dynamic. no need for cvs control.</li>
 +
</ul>
 +
<p><b>provider/oai_update.pl</b></p>
 +
<ul>
 +
<li>insert deleted records into marc and mods table.</li>
 +
</ul>
 +
<p><b>ExtractIdno.pl</b></p>
 +
<ul>
 +
<li>new, for processing non oai items into nameresolver.</li>
 +
</ul>
 +
<p><b>provider/GetNewCollections.pl, provider/dlxs_to_oaidc_cron.pl, provider/dlps/text_ic_oai_cron.pl</b></p>
 +
<ul>
 +
<li>removed the Server from mail module so that email did not get sent to the server.</li>
 +
</ul>
 +
<p><b>provider/textClassToDc.xsl</b></p>
 +
<ul>
 +
<li>changes to support ca, icp, and tap.</li>
 +
<li>added special condition for jsas spo collection.</li>
 +
</ul>
 +
<p><b>oai.cfg</b></p>
 +
<ul>
 +
<li>Added to request email addresses for reports</li>
 +
<li>Updated instructions for email addresses</li>
 +
<li>change question wording</li>
 +
</ul>
 +
<p><b>UMProvider.pm</b></p>
 +
<ul>
 +
<li>fix bug in GetRecord for bad ID values</li>
 +
<li>minor bug in opt. SetSetsTableName() call</li>
 +
<li>added support for deleting records at the metadata level</li>
 +
<li>new tables oai_marc and oai_mods to optimize db.</li>
 +
<li>added support for optional about container</li>
 +
</ul>
 +
<p><b>oai</b></p>
 +
<ul>
 +
<li>support YYYY-MM-DD request for ListRecords and ListIdentifiers.</li>
 +
</ul>
-
<UL>
+
===IdResolver===
-
<LI>scripts/ListRecords
+
<ul>
-
<UL>
+
<li>added bin/n/nameresolver</li>
-
<LI>Message added to die call</LI>
+
<ul><li>cvstag.idresolver</li></ul>
-
<LI>Added copyright</LI>
+
</ul><ul>
-
<LI>Error code checking</LI>
+
<li>new error message when nameresolver can't find an ID.</li>
-
<LI>Support multiple sets</LI>
+
<ul><li>IDResolver.pm</li></ul>
-
<LI>Change log message</LI>
+
</ul>
-
<LI>Do not exit on OAI error</LI>
+
-
<LI>Fixed log reporting</LI>
+
-
<LI>Back out multiple sets option</LI>
+
-
<LI>Make list of dirs, not files, to check for replacement records -- speed up incremental</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
===Collmgr===
-
<LI>scripts/UMHarvester
+
<p>Supports database version 8.0 for DLXS release 15.</p>
-
<UL>
+
-
<LI>Changed to use the XML config file; requires XML::LibXML now</LI>
+
-
<LI>Added wait flag</LI>
+
-
<LI>Support multiple sets harvests</LI>
+
-
<LI>Ignore log messages about sets</LI>
+
-
<LI>Change back date matching for sets</LI>
+
-
<LI>Back out multiple sets option</LI>
+
-
<LI>Check for sets cfg before trying to parse it, only loop on sets for list records</LI>
+
-
<LI>ID bug fix</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
<p><b>collmgr-fields.html</b></p>
-
<LI>scripts/browse_check.pl
+
<ul>
-
<UL>
+
  <li>Added info about recordcount and mediacount</li>
-
<LI>new -- checking FMPro repositories against browse pages</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
  <li>Changed documentation for browsefields to include Findaid Class
-
<LI>scripts/id_check.pl
+
    subject searching and to document that first field on browsefields
-
<UL>
+
    list is used for default browse page in Text and Findaid Class</li>
-
  <LI>new -- checking FMPro repositories against incremental batch harvest</LI></UL></LI>
+
  <li>Documented field_rel_weight for relevance ranking</li>
-
</UL>
+
  <li>Corrected description of pageviewhost based on the changes to make pageview work more like pageturner.</li>
 +
  <li>More documentation for defatulpagesize.</li>
 +
  <li>New field for the image sizes to display.</li>
 +
  <li>Update secondarytitle documenation. This field only implemented in bibclass.</li>
 +
  <li>Updated collmgr-fields.html (collmgr documentation) for new field "quickbrowse"</li>
 +
  <li>New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)</li>
 +
  <li>Added customfallbackwebdirs.</li>
 +
</ul>
-
<UL>
+
<p><b>addcoll.tpl, addfields.tpl, addgroup.tpl, badidwarning.tpl, checkinconfirm.tpl, checkingroupwarning.tpl, checkinwarning.tpl, checkoutlist.tpl, collmgr-dlxsadm.css, collmgr-user.css, collmgr.css, collmgrdown.tpl, contdeletefields.tpl, deletefields.tpl, displayclassesforrelease.tpl, displayclassselection.tpl, edit.fs.tpl, insertcollidwarning.tpl, insertwarning.tpl, login.tpl, mainmenu.tpl, removeconfirm.tpl, selectionwarning.tpl, updatecoll.tpl, updategroup.tpl, viewlist.tpl, viewreadonlycoll.tpl, viewreadonlylist.tpl</b></p>
-
<LI>scripts/rc_check.pl
+
<ul>
-
<UL>
+
  <li>Make $gReleaseUserHost quod.lib.umich.edu for us and 0 for partners.
-
<LI>new -- checking FMPro repositories against RepositoryConfig.cfg</LI></UL></LI>
+
    Force $gLogin to dlxsadm on this host to support dlxsadm on production
-
</UL>
+
    host (collmgr must be in the ACL for that host to protect access to
 +
    collmgr to just those who can authenticate to a production host).  Add
 +
    color effects when running as dlxsadm.</li>
 +
 
 +
</ul>
-
<UL>
+
<p><b>collmgr.cfg</b></p>
-
<LI>scripts/restoreHarvestedData.pl
+
<ul>
-
<UL>
+
  <li>version 8.0</li>
-
<LI>new -- restores backup copy of repository dir</LI></UL></LI>
+
  <li>Added the functionality for a group to have hold capability.</li>
-
</UL>
+
</ul>
-
<UL>
+
<p><b>collmgr</b></p>
 +
<ul>
 +
  <li>Fixed bug introduced during hold that was only one collid into the GroupColl table.</li>
 +
  <li>After 5 sconds of waiting if dbexist is still there remove it and go on.</li>
 +
  <li>Add debug=env</li>
 +
</ul>
 +
<p><b>collmgr, collmgr.cfg, logout</b></p>
 +
<ul>
 +
  <li>Make $gReleaseUserHost quod.lib.umich.edu for us and 0 for partners.
 +
    Force $gLogin to dlxsadm on this host to support dlxsadm on production
 +
    host (collmgr must be in the ACL for that host to protect access to
 +
    collmgr to just those who can authenticate to a production host).  Add
 +
    color effects when running as dlxsadm.</li>
 +
 
 +
</ul>
-
<LI>scripts/startIndex.pl
+
===FindaidClass===
-
<UL>
+
-
<LI>new -- runs xpat and multirgn on xml obj files</LI></UL></LI>
+
-
</UL>
+
-
===broker20===
 
-
    <ul>
 
-
      <li>No changes.</li>
 
-
    </ul>
 
 +
<p><b>browse.xsl</b></p>
 +
<ul>
 +
  <li>Added subject browse and TagCloudFilter for subject browse</li>
 +
 
 +
</ul>
 +
<p><b>langmap.en.xml</b></p>
 +
<ul>
 +
  <li>Added items for subject browse and TagCloud item count  for subject browse</li>
 +
 
 +
</ul>
 +
<p><b>help/index.html</b></p>
 +
<ul>
 +
  <li>User now taken directly to relevant search page by FullTextAppXsltPIFiller::BuildHelpLink_XML.</li>
 +
 
 +
</ul>
 +
<p><b>help/bbag-holdings.html, help/bbag-intro.html, help/bbag-srch.html, help/newnav.html, help/res-intro.html, help/res-sort.html, help/srch-basic.html, help/srch-boolean.html, help/srch-intro.html, help/srch-tips.html, help/xc1res-intro.html, help/xc1srch-intro.html</b></p>
 +
<ul>
 +
  <li>Moved here from extraneous html/ subdir.</li> 
 +
</ul>
 +
<p><b>help/res-intro.html, help/res-sort.html, help/srch-basic.html, help/srch-boolean.html, help/srch-intro.html, help/srch-tips.html, help/xc1res-intro.html, help/xc1srch-intro.html</b></p>
 +
<ul>
 +
  <li>Renamed for consistency with textclass.</li>
 +
 
 +
</ul>
 +
<p><b>help/bbag-intro.html, help/bbag-srch.html, help/results-intro.html, help/results-sort.html, help/search-basic.html, help/search-boolean.html, help/search-intro.html, help/search-tips.html, help/xcresults-intro.html, help/xcsearch-intro.html, help/bbag-holdings.html</b></p>
 +
<ul>
 +
  <li>Files renamed for consistency with textclass; links updated.</li>
 +
  </ul>
 +
<p><b>dlxsclassglobals.xml, navheader.xsl</b></p>
 +
<ul>
 +
  <li>CacheWebPath</li>
 +
 
 +
</ul>
 +
<p><b>reslist.xsl</b></p>
 +
<ul>
 +
  <li>Added the sliceftr module, adding the results slices to the bottom of the page as in Text Class.</li>
 +
 
 +
</ul>
 +
<p><b>text.components.xsl</b></p>
 +
<ul>
 +
  <li>typo corrected: "Acquisition" now spelled right</li>
 +
 
 +
</ul>
-
===Collmgr===
+
<p><b>FindaidClass/DemofaFC.pm</b></p>
-
     <ul>
+
<ul>
-
      <li>Supports version 7.0 database for DLXS release14.</li>
+
  <li>Improved comments and added back in commented out code</li>
-
    </ul>
+
 
 +
</ul>
 +
<p><b>FindaidClass/BioghistfaFC.pm</b></p>
 +
<ul>
 +
  <li>Demo of using &lt;bioghist&gt;&lt;head&gt; elements to label bioghist section</li>
 +
 
 +
</ul>
 +
<p><b>FindaidAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
  <li>Added sub TagLink_XML to override superclass and include Findaid class
 +
     specific region name "Subjects" . </li>
 +
 
 +
</ul>
 +
<p><b>findaidclass.cfg</b></p>
 +
<ul>
 +
  <li>Values used for context-sensitive search links.</li>
 +
 
 +
</ul>
 +
<p><b>findaidclass.cfg</b></p>
 +
<ul>
 +
  <li>$gHelpSubdir: more flexibility for location of help files.</li>
 +
 
 +
</ul>
-
===FindaidClass===
+
===Stats===
-
    <h4>XML template and XSL stylesheet changes</h4>
+
<ul>
-
    <ul>
+
<li>Only count hits with HTTP status 200.</li>
-
   
+
<ul><li>stats_driver.pl</li></ul>
-
    </ul>
+
</ul><ul>
-
 
+
<li>Change to record stats by year/month rather than year/month/day, to reduce the number of rows in the database.</li>
-
<h4>CGI/Middleware</h4>
+
<ul><li>stats_driver.pl</li></ul>
-
    <ul>
+
</ul>
-
     
+
 +
===SRU===
 +
    <ul>
 +
      <li>No changes.</li>
 +
    </ul>
 +
===BibClass===
 +
    <ul>
 +
      <li>No changes.</li>
     </ul>
     </ul>
-
 
===XClass===
===XClass===
     <ul>
     <ul>
       <li>No changes.</li>
       <li>No changes.</li>
     </ul>
     </ul>
-
 
-
===METS Pageturner and Collection Builder===
 
-
    <ul>
 
-
      <li>Continuing development work in Pageturner.  New application: Collection Builder allows users to add items to a personal collection via widgets in Pageturner.  These applications are not part of DLXS.  They use a different code base mainly under <code>DLXSROOT/{web,bin,cgi}/m/mdp</code> and <code>DLXSROOT/lib/App</code>.  Stub routines are required in Pageturner to abstract the database connections and an installation of Solr/Lucene is required to support the collection search in Collection Builder.  The user interface makes extensive use of Yahoo User Interfacen toolkit (YUI) functionality.</li>
 
-
    </ul>
 
-
 
-
===SRU===
 
-
    <ul>
 
-
      <li>Added fielded searching to query -- not yet Level 1 or 2, though</li>
 
-
    </ul>
 
-
 
-
[[#top|Top]]
 

Current revision

Main Page > Release Notes for Current DLXS Release

Contents

[edit] General Information Release_15

TextClass is substantially identical to release 14 except for enhancements and bug fixes as noted below. Note that searching for the string Release_15 will produce a list of changes to this wiki that are relevant to DLXS Release 15.

Highlights of release 15 include:

Release 15 is comprised of:

Additionally: Text Class PageViewer no longer supports Mr.SID images so if you are using Mr.SID they will have to be converted to JP2. Image Class still supports MrSID, though migration to JP2 is highly recommended.

[edit] Known Problems

  • None

[edit] Database Installation Notes

MySQL is the supported database type. In order to run DLXS you will need to have a MySQL server installed. Sample data is delivered in the form of a MySQL dump file which can be directly imported into a MySQL database. The database upgrade script (upgrade_7_8) operates only on a MySQL database. These issues are documented in detail in the installation instructions and the upgrade instructions.

[edit] New and Changed Functionality

[edit] XPAT

  • No changes in the original release.
  • There have been two XPAT-only releases (15a and 15b) bringing the version number to 5.3.7:
    • 64-bit inode support for large filesystems.
    • -r ROOT_PATH command-line option where ROOT_PATH is an absolute path to which all other paths are relative.
    • Coptic and Arabic Unicode blocks added.
    • Cyrillic and Devanagari blocks extended.

[edit] Lib

[edit] New and Changed Functionality

Customizable Fallback

Collections can now be configured to use any number of custom fallback levels between the standard group and class levels. This allows greater control and reduced code duplication when managing your user interface customizations. See the new "customfallbackwebdirs" Collection Manager field.

[edit] Changed Files

DlpsUtils.pm

  • Make no referring URL Assertion Failure Report not send email
  • Now log Assertion Failure Reports
  • If $keyValuePairs are not requested, an array is returned. Fixed bug that returned array in arbitrary order instead of in order they were listed in Collmgr.
  • Updated to display feedback form with captcha on AFR error page
  • Added noAssert option to MkdirPath() to prevent inf. loop
  • sub BuildClassCacheWebPath (for emitting in XML).
  • Added RemoveTrailingHalfEntities + RemoveLeadingHalfEntities; rewrote RemoveLeadingAndTrailingHalfTags to use both.
  • During fallback, check any dirs listed in the 'customfallbackwebdirs' filed in collmgr (after checking group dirs, but before checking class dirs).
  • Fallback: Grab values from LibGlobals for values that are undef or not passed in from app modules.

LibGlobals.cfg

  • Updated to read in the AFR error message from a (HTML) file
  • changed path to systemerrorfeedback.html file, adding f/feedback.
  • ScriptNames, used in search forms, now have vlaues defined here instead of in web/lib/dlxsglobals.xml.

DlpsUtils.pm, LibGlobals.cfg

  • rewrite reCAPTCHA code to use a global hash for pub/priv keys in LibGlobals and add access routines in DlpsUtils.pm

XsltPIFiller/FullTextAppXsltPIFiller.pm

  • added initialize and field for subclass gSortFields

BookBag.pm

  • Remove underscore from file extension for download file.

DbUtils.pm

  • Backticked a table names and column names in a bunch of places.

CollsInfo.pm, DLXSApp/FullTextApp.pm, DLXSClass/FullTextClass.pm, XsltPIFiller/FullTextAppXsltPIFiller.pm

  • Fix linking to be relative to preserve https

XsltPIFiller/FullTextAppXsltPIFiller.pm

  • fix linking to be relative to preserve https
  • BuildHelpLink_XML: more flexibility for location of help files.
  • Use fallback to find the appropriate help dir. Then use logic to find the best file within that dir.
  • BuildPdfLink_XML: fixed algorithm to find best help file in the fallback help dir.

ItemView.cfg, ItemView.pm, ItemViewApp.pm

  • Serving full item PDFs (if available in the repository).

Stats/Reports/COUNTER/ReportTools.pm

  • Display title ID if title name cannot be determined, rather than just skipping that title.

DLXSApp.pm, ItemAuth.pm, DLXSApp/FullTextApp.pm, DLXSClass/FullTextClass.pm, XsltPIFiller/FullTextAppXsltPIFiller.pm

  • Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.

DLXSApp.pm, DLXSApp/FullTextApp.pm, DLXSClass/FullTextClass.pm, XsltPIFiller/FullTextAppXsltPIFiller.pm

  • Revert ItemAuth changes

DLXSApp.pm, DLXSApp/FullTextApp.pm

  • Re-virtualized ItemLevelRestrictionTestHook here.
  • Put sub ItemLevelRestrictionTestHook back here.

DLXSApp/FullTextApp.pm

  • Fixes in ItemLevelRestrictionTestHook.

ItemAuth.pm

  • TestItemLevelRestriction:: test whether the appObject is defined before calling methods on it; otherwise use provided default values.

Stats/DB.pm, Stats/MainPage.pm, Stats/Resource.pm, Stats/Reports/COUNTER/BR1.pm, Stats/Reports/COUNTER/BR2.pm, Stats/Reports/COUNTER/BR5.pm, Stats/Reports/COUNTER/DR1.pm, Stats/Tools/ResourceTools.pm, Stats/XML/BuildXML.pm

  • Changes to record stats by year/month now instead of year/month/day, to reduce the number of rows in the database.

XsltPIFiller.pm

  • Decode browse values as UTF-8 before they're written to the XML output (so multi-byte characters are represented correctly).
  • Checks whether the browse value is already unicode (uft-8 flag is set) before decode it as unicode; for some reason, for serialissue, the flag is already set in production, but not in development(?).
  • sub BuildScriptNames_XML

XsltPIFiller/FullTextAppXsltPIFiller.pm

  • sub BuildCacheWebPath. To emit the href to the cache in the XML, instead of forcing XSLT to munge it from the path on disk.

LibGlobals.cfg, XsltPIFiller.pm

  • Typo in gScriptNameFindaid.

CioFactory.pm, DlpsUtils.pm, GroupsInfo.pm

  • Examine AUTHZD_COLL for groupids, then populate authzd coll list with its member collids. (Allows Cory to only make one access control rule for large groups.)

DLXSApp.pm, DlpsUtils.pm, XsltPIFiller.pm

  • More generic handling of browse navigation --- UI is able to present non-[a-z] characters. Most of these are UTF8 characters; query parameters are now protected accordingly. Modified DlpsUtils::RemoveLeadingAndTrailingHalfEntities to ignore partial entity-like strings that have spaces in them.

XsltPIFiller/FullTextAppXsltPIFiller.pm

  • Emit 'crosscollection.search.title.str' (via langmap.en.xml) for TITLE_XML PI when xcollmode=colls to give title in <head> of page=home or page=browsecolls.

Stats/MainPage.pm

  • Don't hard-code years for custom report. Do from 2006 to year().

XsltPIFiller/FullTextAppXsltPIFiller.pm

  • Change 'amount' pulldown building to reflect values that are in the map starting at 5 in increments of 5 up to 120

ItemView.cfg, ItemView.pm, ItemViewApp.pm

  • changes to make pageview work like pageturner.

ItemView.pm

  • Using the collmgr configurable display sizes.

DLXSApp.pm, XsltPIFiller.pm

  • DLXSApp.pm - GetBrowseInfo: sort results of ItemBrowseCount scan so [a-z] are guaranteed to come first XsltPIFiller.pm - BuildBrowseNav_XML: more accurate calculation of initial single-letter browse list (avoiding conflicts between how MySQL and Perl see some unicode characters)

ItemView.pm

  • dynamic page config.

ItemView.pm

  • 1. changed quality from 85 to 100 so picture would be sharper. 2. Put in a check so that the defaultPage size is one available from the dynamically computed amounts.

DLXSApp/FullTextApp.pm

  • Different ways to sort idnos follr picklists; SPO (by default) will use index order, but the default will be to sort by idno.
  • Changed FullTextApp::HandlePicklistPage to use array of array refs instead of hash to maintain order and updated all calling code
  • Refactored and merged picklist logic with base class picklist logic
  • All SPO picklist customization using new Volume/Issue mode

DlpsUtils.pm, ItemAuth.pm, XsltPIFiller.pm, XsltPIFiller/FullTextAppXsltPIFiller.pm

  • New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)

DLXSApp.pm

  • Pass arguments that enable custom fallback functionality in DlpsUtils.pm.

LibGlobals.cfg

  • Put fallback variables here in case they aren't defined at the class level.

BrowseUpdate/FindaidBU.pm

  • Added ability to generate subject browse for Finding Aids

BrowseUpdate.pm, updatebrowsedb.pl, BrowseDoubleLayerNav.xsl

  • Browse lists are based on collection data, so values outside 'a'..'z' can now be found in browse lists.
  • Explicitly encode browse values as UTF-8 before writing them to the database tables.
  • UTF-8 values are transliterated (e.g. zó -> zo) to match MySQL query semantics; the original UTF-8 is presented in lists.
  • Punctuation in values is ignored when building counts ("A.B" is treated as "Ab").
  • Menu correctly handles when there are > 26 items in the navbar.
  • Browse update should be run against collections.

dlxsglobals.xml

  • ScriptNames now populated by a PI for greater application control (in this case, to substitute the Shibboleth script alias).
  • New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)

[edit] TextClass

[edit] New and Changed Functionality

Pageviewer

Pageviewer was changed to support the following functionalaties:

  • The algorithm used in Release 14 used discrete steps to determine the scaled size, Release 15 uses continuous scaling to create the image size.
  • Instead of using the + or - symbols to increase or decrease the size of the image and ocr, which only gave the user 3 size options ( small, medium, and large ), the user can now select a percent deviation from the original image size from which to view the image page or the ocr page. For JP2000 files, at startup the software will determine what sizes to make available to the user. A full range of sizes may not be available for every JP2000 page image. The sizes available depends on the image's resolution. The range available is 50% to 400%. This range is not configurable for JP2000 files. A test is made to determine if the image can scale to the appropriate the size. If it can, that scale is made available, if not that scale is not made available.
  • Pageviewer will no longer support Mr.SID images so if you are using Mr.SID they will have to be converted to jp2.
  • Pageviewer no longer uses a frameset for displaying PDF; the frm URL parameter is no longer generated, and is ignored if present.
  • The location of the page images have to be on the either on the server where pageviewer runs from or mounted on to that server. You can indicate the location of images in the hash %gMoutnPointMap in the ItemView.cfg.

The following files were changed to support this change:

  • t/text/clipviewer.xsl
  • t/text/htmlhead.xsl
  • t/text/langmap.en.xml
  • t/text/langmap.fr.xml
  • t/text/pageviewer.xsl
  • t/text/viewer.utils.xsl
  • t/text/viewer.xsl
  • lib/ItemView.cfg
  • lib/ItemView.pm
  • lib/ItemViewApp.pm

In the subclasses are, these files were changed:

  • a/acls/pageviewer.xsl
  • PVApp/EeboPVApp.pm
  • PageView/AclssuppPV.pm
  • PageView/CjsPV.pm
  • PageView/EccoPV.pm
  • PageView/MachynPV.pm

Picklist

Picklist has been modified to offer issue and volume views, along with the "classic mode" (i.e., pre-existing picklist view). By default, all code is evaluated in classic mode, meaning that picklists will behave as it did in release 14. See Picklist customization for serial articles for more information.

The following files were changed to support this change:

  • DlpsLocalUtils.pm
  • langmap.en.xml
  • picklist.xsl
  • picklistheader.xsl

There were many collection-specific changes. The broadest changes were accomplished by enabling the new picklist functionality in SpoCommonTC.pm and in turn subclassing that (instead of TextClass.pm) for collection-specific text classes. Additional customization was accomplished for each collection by modifying picklist.xsl, picklistheader.xsl, or langmapextra.xml in the respective web directory.

[edit] Changed Files

langmap.en.xml

  • added openurl link text

pageviewerheader.xsl

  • added class=title245 to div in itemcitation

textclass.css

  • added .title245 style to fix long titles that wrap and cut off pdf viewer navigation
  • Links to PDFs (if available).
    • picklistheader.xsl
    • textclass.css

navheader.xsl

  • Simplified help link; now uses whatever value is provided by the middleware.

help/help-readme.html

  • Describes a workflow and workfiles that do not exist.

help/bbag-holdings.html, help/bbag-intro.html, help/bbag-srch.html, help/history-intro.html, help/results-intro.html, help/results-sort.html, help/search-basic.html, help/search-bib.html, help/search-boolean.html, help/search-intro.html, help/search-proximity.html, help/search-sel-type.html, help/search-tips.html, help/search-ww.html, help/xcbbag-holdings.html, help/xcbbag-intro.html, help/xcbbag-search.html, help/xchistory-intro.html, help/xcresults-intro.html, help/xcresults-sort.html, help/xcsearch-basic.html, help/xcsearch-bib.html, help/xcsearch-boolean.html, help/xcsearch-intro.html, help/xcsearch-proximity.html, help/xcsearch-sel-type.html, help/xcsearch-tips.html, help/xcsearch-ww.html, help/css/help.css

  • Copyediting, took out references to UMDL.

tocheader.xsl

  • Don't add comma between multiple EDITORS after apply-templates, the comma is add ed in the template rule.

textclass.css

  • added style for tocdiv table to make it 100% due to a bug in IE8 that ignores the table width set in the table attribute

tocheader.xsl

  • $subjectinfo: also use @TYPE='keyword'.

htmlhead.xsl

  • changed the way title is handled for journals

navheader.xsl

  • call buildLoginLink factored out of web/t/text/navheader.xsl

clipviewer.xsl, jquery.ba-resize.js, pageviewer.xsl, pdf_framer.js, viewer.utils.xsl, viewer.xsl

  • Removed frm param and frameset option for PDF viewing; now use iframe with Javascript to calculate correct frame size.

footer.import.xsl

  • Added alt attribute to "Back to Top" link image.

header.xsl, search.xsl, ww.xsl

  • Renamed form method "GET" to "get".

text.components.xsl

  • Typo: $divLevel -> $divlevel

text.components.xsl

  • HEADER tmeplate: handle unexpected cases with <xsl:otherwise><xsl:apply-templates/></xsl:otherwise>.

textclass.css

  • added styles for new h1, h2, etc. output from t/text/text.components.xsl

resultsheader.xsl

  • More robust code changes to support mixed collections moved from Feminist Studies to DLXS system-wide
  • Fixes for Diderot so publication information field only shows up if any information; fix to base XSLT stylesheet since applies to all collections
    • resultsheader.xsl
    • searchheader.xsl

langmap.en.xml, picklist.xsl, picklistheader.xsl, resultsheader.xsl, searchheader.xsl

  • All SPO picklist customization using new Volume/Issue mode

browse.xsl

  • New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)

TextClass.pm

  • SerialArticleTocLinkHook: built link to view=toc for pageimage collections.

TextAppXsltPIFiller.pm

  • BuildItemLink_XML: handle case of serialarticle colls using pageimages.

DlpsLocalUtils.pm

  • CreatePicklist: don't link to text view if it's a serialarticle coll that uses pageimages.

textclass.cfg

  • fix linking to be relative to preserve https

textclass.cfg

  • $gHelpSubdir: more flexibility for location of help files.

TextClass.pm

  • Moved logic of ViewPDFLink_XML to TextAppXsltPIFiller.pm, as most of the time it is processing PIs.

TextAppXsltPIFiller.pm

  • ViewPDFLink_XML: now looks for PDFs in item obj dir, then serves them out of web cache.

TextClass.pm

  • Moved ViewPDFLink_XML back from TextAppXsltPIFiller.pm (caused more problems than it solved).

TextAppXsltPIFiller.pm

  • Moved ViewPDFLink_XML back to TextClass.pm (caused more problems than it solved).

TextClass.pm

  • Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.

TextClass.pm

  • Calls to ViewPDFLink_XML now call BuildPODandDODLinks_XML.

DlpsLocalUtils.pm

  • Add call to BuildPODandDODLinks_XML.

textclass.cfg

  • Change 'amount' pulldown building to reflect values that are in the map starting at 5 in increments of 5 up to 120 -- replaces @proximityAmounts array

textclass.cfg

  • Set up a variable (which will be used in TextClass/SpoCommonTC.pm when commited) that uses custom SpoLocalUtils.pm instead of DlpsLocalUtils.pm for picklist processing.

textclass.cfg

  • Added .png to gEntityExtensionsToCheck.

TextClass/FsTC.pm

  • New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)

[edit] ImageClass

[edit] CGI/Middleware

Known Problems

  • None known so far.

Enhancements

  • Image Viewing
    • Each field value repetition is now wrapped in a DIV with class fldvalrep so that spacing between repetitions can be controlled (fieldvalues.xsl, css/imageclass.css)
    • Document domain setting is no longer set; it can be added in custom XSL (js/imageclass.js)
    • Added download link for current image size (entry_imagetools.xsl, langmap.en.xml, panzoom.xsl)
    • Feedback form now uses reCAPTCHA service (bbentry.xml, entry.xml)
    • Added "prep tables in use" indicator when using prep=1 option (htmlhead.xsl, langmap.en.xml, css/imageclass.css)
    • Improved page titles and meta information for key pages in Image Class with hopes of improving search engine recognition and simply making the pages more meaningful and therefore user friendly (entry.xml, entry.xsl, groups.xsl, htmlhead.xsl, index.xsl, panzoom.xsl, results.xsl, search.xsl).
    • Long titles can be truncated via Javascript (entry.xsl, panzoom.xsl, entry.xml, js/jquery.text-overflow.js).
    • ImageAppXsltPIFiller.pm
      • Added "urltext" option to idlinks and keylinks options for field value display, configurable in collmgr.
      • display order of browseoptions fields is now the same as listed in the browsefields collmgr field.
  • Portfolios
    • Track ExtendedSliceSize and warn user that their downloaded porfolio will not contain all items (bbexportprep.xsl, langmap.en.xml).
    • Better handling of IDs that have changed since being stored in a portfolio (ImageApp.pm)
    • Better cleanup of artifacts from downloaded portfolios (ImageApp.pm)
  • Searching/Browsing
    • Changes that support new searching options ("searchtypes" in Collection Manager) including starts with, ends with, and contains, exact, and support for term list in search form (browseoptions.xsl, index.xml, index.xsl, search.xsl, css/imageclass.css, js/imageclass.js).
    • Fields can now be weighted for relevance ranking. Configurable in Collection Manager.
    • Search result pages have a link reference to a MediaRSS feed (resultsdata.xsl).
    • Result pages should now print without losing any images (htmlhead.xsl, css/print.css)

[edit] Data Preparation

Enhancements

statsconfig.pl

  • This a new script that generates stats configuration resource definations for image class collections. These definitions are used by the stats system to know how to gather usage statistics.

[edit] OAI

[edit] New and Changed Functionality

You must create the following two tables oai_marc and oai_mods in additions to the oai and oaisets tables:

  CREATE TABLE `oai_marc` (
    id  varchar(150) NOT NULL default '',
    timestamp  timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    marc21  mediumblob,
    PRIMARY KEY  (id),
    KEY timestamp (timestamp),
    KEY oai_time_id (timestamp,id));

  CREATE TABLE `oai_mods` (
    id` varchar(150) NOT NULL default '',
    timestamp  timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    mods  mediumblob,
    PRIMARY KEY  (id),
    KEY timestamp (timestamp),
    KEY oai_time_id (timestamp,id));

We were finding that UMProvider was taking too long when responding to a request for marc and mods records, so we created these two tables to contain marc and mods records. In our nightly cron jobs that keep the oai tables current, we have all the marc and mods records placed in the oai table and also in one of these two tables depending on the format type of the record:

INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;

INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;

The data provider provides records from the oai table when a Dublin Core format type request comes in; from the oai_marc table when a marc format type request comes in; and, from oai_mods when a mods format request comes in.

[edit] Changed Files

provider/LoadDB.pl

  • Updated to trim set and id before storing record
  • Updated ConnectToDB to get database name from config xml
  • De-coupled from nameresolver so that it is optional to sync with nameresolver
  • new code for new tables oai_mods, and oai_marc

provider/GetNewCollections.pl

  • Fixed path for emailing report to look in subdir

provider/umprovider_flow_diagrams_and_examples.ppt

  • PowerPoint presentation for the workshop which includes example transformations and 3 flow charts

provider/ExtractHeaders.pl

  • Updated to get data dictionary from collmgr instead of constructing the path using the standard convention

provider/RunOaiConversion.pl

  • Updated call to LoadDB for DLPS classes

provider/exampleColls.xml

  • Updated to use sampleutf8_tc collection which is included in the DLXS release

provider/dlxs_to_oaidc_cron.pl

  • Cron job to include in DLXS 14 release which includes email addresses specified in oai.cfg

provider/dlps/text_ic_oai_cron.pl

  • Updated call to RunOaiTransformation

provider/dlps/modifiedDlpsColls.xml, provider/CollsAndTypesOfIDs.xls

  • Moved to dlps subdir

provider/dlps/modifiedSpoColls.xml

  • Moved to modified subdir

provider/dlps/RunDlpsOaiConversion.pl, provider/dlps/text_ic_oai_cron.pl

  • More specific version of old RunOaiConversion.pl script to be used for DLPS

provider/dlps/RunDlpsOaiConversion.pl

  • Had to move back to bin/o/oai/provider because of paths for scripts
  • File for running DLPS specific text class to oai_dc transformation. This is provided as an example for release 14 but most people can probably more easily modify RunOaiConversion.pl

provider/ExtractHeaders.pl

  • Updated to take xpat host as param

provider/GenerateReport.pl, provider/RunDlpsOaiConversion.pl, provider/RunOaiConversion.pl

  • Updated help option and call to ExtractHeaders
  • Updated path to colls.xml files

provider/GenerateReport.pl

  • Updated call to get DLXSROOT environment variable

provider/oai_update_history_text.txt

  • Example file for execution history

provider/exampleColls.xml

  • Updated with instructions about the possible attributes for each collection

provider/GetNewCollections.pl

  • Updated logic to send report with or without CC on email

provider/dlps/NewOAICollection.svg, provider/dlps/RunOaiConversion.svg, provider/dlps/UMProviderFlow.svg

  • SVG (Omnigraffle, Visio, gliffy) editable formats of the flow diagrams for UMProvider. The JPEG (uneditable) versions of these files are $DLXSROOT/bin/o/oai/provider.

ConfirmPublicDomain.pl

  • new set name, minor changes

filterMarc21.xsl

  • added new fields

provider/dlps/text_ic_oai_cron.pl

  • be more exact in the path.

provider/oai_update.pl

  • new code for new tables oai_marc and oai_mods
  • drop tables oai_copy and oaisets_copy in case connect error left them behind on previous run.

moveOaiTables.pl

  • new code for new tables oai_mods and oai_marc
  • code for the oai_marc and oai_mods tables.

provider/dlps/modifiedDlpsColls.xml, provider/dlps/modifiedSpoColls.xml, provider/dlps/oai_update_history_dlps.txt, provider/dlps/oai_update_history_spo.txt

  • these are changed by the cron jobs and should not be controlled.

provider/oai_new_coll_history.txt, provider/oai_update_history_text.txt

  • they are dynamic. no need for cvs control.

provider/oai_update.pl

  • insert deleted records into marc and mods table.

ExtractIdno.pl

  • new, for processing non oai items into nameresolver.

provider/GetNewCollections.pl, provider/dlxs_to_oaidc_cron.pl, provider/dlps/text_ic_oai_cron.pl

  • removed the Server from mail module so that email did not get sent to the server.

provider/textClassToDc.xsl

  • changes to support ca, icp, and tap.
  • added special condition for jsas spo collection.

oai.cfg

  • Added to request email addresses for reports
  • Updated instructions for email addresses
  • change question wording

UMProvider.pm

  • fix bug in GetRecord for bad ID values
  • minor bug in opt. SetSetsTableName() call
  • added support for deleting records at the metadata level
  • new tables oai_marc and oai_mods to optimize db.
  • added support for optional about container

oai

  • support YYYY-MM-DD request for ListRecords and ListIdentifiers.

[edit] IdResolver

  • added bin/n/nameresolver
    • cvstag.idresolver
  • new error message when nameresolver can't find an ID.
    • IDResolver.pm

[edit] Collmgr

Supports database version 8.0 for DLXS release 15.

collmgr-fields.html

  • Added info about recordcount and mediacount
  • Changed documentation for browsefields to include Findaid Class subject searching and to document that first field on browsefields list is used for default browse page in Text and Findaid Class
  • Documented field_rel_weight for relevance ranking
  • Corrected description of pageviewhost based on the changes to make pageview work more like pageturner.
  • More documentation for defatulpagesize.
  • New field for the image sizes to display.
  • Update secondarytitle documenation. This field only implemented in bibclass.
  • Updated collmgr-fields.html (collmgr documentation) for new field "quickbrowse"
  • New collmgr field to disable quickbrowse in dynamic browse page; fixed an authorization issue (related to reusing AUTHZD environment variable), so now picklists conditionally show PDF link; some SPO picklist customization (to work with PDF links)
  • Added customfallbackwebdirs.

addcoll.tpl, addfields.tpl, addgroup.tpl, badidwarning.tpl, checkinconfirm.tpl, checkingroupwarning.tpl, checkinwarning.tpl, checkoutlist.tpl, collmgr-dlxsadm.css, collmgr-user.css, collmgr.css, collmgrdown.tpl, contdeletefields.tpl, deletefields.tpl, displayclassesforrelease.tpl, displayclassselection.tpl, edit.fs.tpl, insertcollidwarning.tpl, insertwarning.tpl, login.tpl, mainmenu.tpl, removeconfirm.tpl, selectionwarning.tpl, updatecoll.tpl, updategroup.tpl, viewlist.tpl, viewreadonlycoll.tpl, viewreadonlylist.tpl

  • Make $gReleaseUserHost quod.lib.umich.edu for us and 0 for partners. Force $gLogin to dlxsadm on this host to support dlxsadm on production host (collmgr must be in the ACL for that host to protect access to collmgr to just those who can authenticate to a production host). Add color effects when running as dlxsadm.

collmgr.cfg

  • version 8.0
  • Added the functionality for a group to have hold capability.

collmgr

  • Fixed bug introduced during hold that was only one collid into the GroupColl table.
  • After 5 sconds of waiting if dbexist is still there remove it and go on.
  • Add debug=env

collmgr, collmgr.cfg, logout

  • Make $gReleaseUserHost quod.lib.umich.edu for us and 0 for partners. Force $gLogin to dlxsadm on this host to support dlxsadm on production host (collmgr must be in the ACL for that host to protect access to collmgr to just those who can authenticate to a production host). Add color effects when running as dlxsadm.

[edit] FindaidClass

browse.xsl

  • Added subject browse and TagCloudFilter for subject browse

langmap.en.xml

  • Added items for subject browse and TagCloud item count for subject browse

help/index.html

  • User now taken directly to relevant search page by FullTextAppXsltPIFiller::BuildHelpLink_XML.

help/bbag-holdings.html, help/bbag-intro.html, help/bbag-srch.html, help/newnav.html, help/res-intro.html, help/res-sort.html, help/srch-basic.html, help/srch-boolean.html, help/srch-intro.html, help/srch-tips.html, help/xc1res-intro.html, help/xc1srch-intro.html

  • Moved here from extraneous html/ subdir.

help/res-intro.html, help/res-sort.html, help/srch-basic.html, help/srch-boolean.html, help/srch-intro.html, help/srch-tips.html, help/xc1res-intro.html, help/xc1srch-intro.html

  • Renamed for consistency with textclass.

help/bbag-intro.html, help/bbag-srch.html, help/results-intro.html, help/results-sort.html, help/search-basic.html, help/search-boolean.html, help/search-intro.html, help/search-tips.html, help/xcresults-intro.html, help/xcsearch-intro.html, help/bbag-holdings.html

  • Files renamed for consistency with textclass; links updated.

dlxsclassglobals.xml, navheader.xsl

  • CacheWebPath

reslist.xsl

  • Added the sliceftr module, adding the results slices to the bottom of the page as in Text Class.

text.components.xsl

  • typo corrected: "Acquisition" now spelled right

FindaidClass/DemofaFC.pm

  • Improved comments and added back in commented out code

FindaidClass/BioghistfaFC.pm

  • Demo of using <bioghist><head> elements to label bioghist section

FindaidAppXsltPIFiller.pm

  • Added sub TagLink_XML to override superclass and include Findaid class specific region name "Subjects" .

findaidclass.cfg

  • Values used for context-sensitive search links.

findaidclass.cfg

  • $gHelpSubdir: more flexibility for location of help files.

[edit] Stats

  • Only count hits with HTTP status 200.
    • stats_driver.pl
  • Change to record stats by year/month rather than year/month/day, to reduce the number of rows in the database.
    • stats_driver.pl

[edit] SRU

  • No changes.

[edit] BibClass

  • No changes.

[edit] XClass

  • No changes.
Personal tools