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)
 
(107 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>[[#IdResolver|IdResolver 1.1.1]]</li>
+
         <li>[[#IdResolver|IdResolver 1.2.1]]</li>
-
        <li>[[#broker20|broker20 version 1.5.1]]</li>
+
         <li>[[#Collmgr|Collmgr version 3.5.1]]</li>
-
         <li>[[#Collmgr|Collmgr version 3.3.1]]</li>
+
         <li>[[#FindaidClass|FindaidClass version 6.9.2]]</li>
-
         <li>[[#FindaidClass|FindaidClass version 6.5.2]]</li>
+
         <li>[[#ImageClass|ImageClass version 5.2.3]]</li>
-
         <li>[[#ImageClass|ImageClass version 4.11.1]]</li>
+
         <li>[[#Lib|Lib version 4.20.2]]</li>
-
         <li>[[#Lib|Lib version 4.12.1]]</li>
+
         <li>[[#TextClass|TextClass version 4.14.2]]</li>
-
         <li>[[#TextClass|TextClass version 4.7.1]]</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 40: 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 49: 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 55: 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> 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
+
-
          use 99999 if institution is undefined.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/MainPage.pm
+
-
      <UL>
+
-
        <LI>State that COUNTER reports are available
+
-
          starting in May 2007.</LI>
+
-
       
+
-
        <LI>Big rewrite to display aggregate stats
+
-
          rows. Also combined some code and got rid of the extra.</LI>
+
-
        <LI>New code to do COUNTER Database Report
+
-
          1; also, auth algorithm changed again to show aggregate
+
-
          stats *and* stats for a user's institution if their
+
-
          institution can be determined from their IP address.</LI>
+
-
        <LI>Add an additional message to COUNTER
+
-
          request feedback.</LI>
+
-
        <LI>Correct name of DR1.</LI>
+
-
        <LI>Don't provide DR1 yet - its not ready.</LI>
+
-
        <LI>Show COUNTER section in form if user
+
-
          is logged in but IP address is unrecognized.</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> Stats/Resource.pm
+
-
      <UL>
+
-
        <LI>Get 'public' attribute from config
+
-
          files to determine if a collection is public or not.</LI>
+
-
        <LI>Allow upper- or lower-case for report
+
-
          types in config file.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Map/Auth.pm
+
-
     
+
-
      <UL>
+
-
        <LI>Constructor now takes Stats::Config
+
-
          object.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Map/Titles/colldb.pm
+
-
      <UL>
+
-
        <LI>Temporarily set $ENV{'HTTP_HOST'} to
+
-
          $$self{'host'}, which is set from the query "SELECT
+
-
          DISTINCT host FROM Collection WHERE userid = 'production'
+
-
          and collid = ..." in case $ENV{'HTTP_HOST'} is not
+
-
          set.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER.pm
+
-
      <UL>
+
-
       
+
-
        <LI>Include support for COUNTER Database
+
-
          Report 1.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER/BR1.pm
+
-
      <UL>
+
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER/BR2.pm
+
-
      <UL>
+
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER/BR5.pm
+
-
      <UL>
+
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER/DR1.pm
+
-
      <UL>
+
-
        <LI>Add module for COUNTER Database Report
+
-
          1.</LI>
+
-
        <LI>Clean up Database Report 1 a bit.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> Stats/Reports/COUNTER/Report1.pm through Stats/Reports/COUNTER/Report5.pm
+
-
      <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>
+
-
    <LI> Stats/Reports/COUNTER/ReportTools.pm
+
-
      <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>rewrite reCAPTCHA code to use a global hash for pub/priv keys in
-
     <LI> BrowseUpdate.pm
+
     LibGlobals and add access routines in DlpsUtils.pm</li>
-
       <UL>
+
 
 +
</ul>
 +
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>added initialize and field for subclass gSortFields</li>
 +
 
 +
</ul>
 +
<p><b>BookBag.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Remove underscore from file extension for download file.</li>
 +
 
 +
</ul>
 +
<p><b>DbUtils.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Backticked a table names and column names in a bunch of places.</li>
 +
 
 +
</ul>
 +
<p><b>CollsInfo.pm</b>, <b>DLXSApp/FullTextApp.pm</b>, <b>DLXSClass/FullTextClass.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Fix linking to be relative to preserve https</li>
 +
 
 +
</ul>
 +
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>fix linking to be relative to preserve https</li>
 +
  <li>BuildHelpLink_XML: more flexibility for location of help files.</li>
 +
  <li>Use fallback to find the appropriate help dir.  Then use logic to find the best file within that dir.</li>
 +
  <li>BuildPdfLink_XML: fixed algorithm to find best help file in the fallback help dir.</li>
 +
 
 +
</ul>
 +
<p><b>ItemView.cfg</b>, <b>ItemView.pm</b>, <b>ItemViewApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Serving full item PDFs (if available in the repository).</li>
 +
 
 +
</ul>
 +
<p><b>Stats/Reports/COUNTER/ReportTools.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Display title ID if title name cannot be determined, rather than just skipping that title.</li>
 +
 
 +
</ul>
 +
<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>
 +
<ul>
 +
 
 +
  <li>Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.</li>
 +
 
 +
</ul>
 +
<p><b>DLXSApp.pm</b>, <b>DLXSApp/FullTextApp.pm</b>, <b>DLXSClass/FullTextClass.pm</b>, <b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Revert ItemAuth changes</li>
 +
 
 +
</ul>
 +
<p><b>DLXSApp.pm</b>, <b>DLXSApp/FullTextApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Re-virtualized ItemLevelRestrictionTestHook here.</li>
 +
  <li>Put sub ItemLevelRestrictionTestHook back here.</li>
 +
 
 +
</ul>
 +
<p><b>DLXSApp/FullTextApp.pm</b></p>
 +
<ul>
 +
 
 +
  <li>Fixes in ItemLevelRestrictionTestHook.</li>
 +
 
 +
</ul>
 +
<p><b>ItemAuth.pm</b></p>
 +
<ul>
 +
 
 +
  <li>TestItemLevelRestriction:: test whether the appObject is defined before calling methods on it; otherwise use provided default values.</li>
 +
 
 +
</ul>
 +
<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>
 +
 
 +
  <li>Changes to record stats by year/month now instead of year/month/day, to reduce the number of rows in the database.</li>
 +
 
 +
</ul>
-
        <LI>Insertion is now skipped if browse
+
<p><b>XsltPIFiller.pm</b></p>
-
          field has no value. Also, field value counts are tallied
+
<ul>
-
          and reported.</LI></UL></LI>
+
-
   
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> browseutils.cfg
+
-
      <UL>
+
-
        <LI>added "an"</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> ub
+
-
      <UL>
+
-
        <LI>more input checking</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> updatebrowsedb.pl
+
   <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>
-
 
+
 
-
        <LI>Insertion is now skipped if browse
+
</ul>
-
          field has no value. Also, field value counts are tallied
+
-
          and reported.</LI>
+
-
        <LI>more input checking</LI></UL></LI>
+
-
   </UL>
+
-
  <UL>
+
-
    <LI> BrowseUpdate/ImageMysqlBU.pm
+
-
     
+
-
      <UL>
+
-
        <LI>Added a comment about browse_split.</LI>
+
-
        <LI>commented out a debug statement.</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> main.cfg
+
-
      <UL>
+
-
        <LI>remove misc/db CSV related opertations</LI>
+
-
 
+
-
        <LI>remove replace( "$DLXSROOT/bin/i/image/html2tab.pl",
+
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
-
        <LI>remove replace( "$DLXSROOT/bin/i/image/tab2html.pl",
+
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
-
        <LI>restore Text::CSV_XS</LI>
+
-
        <LI>remove ["Net::hostent", 1.01] it is
+
-
          part of Perl</LI>
+
-
        <LI>update Text::CSV_XS should be 0.23</LI>
+
-
        <LI>Removed all references to outdated
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
          validate.pl script Changed references for samplefa.*inp
+
<ul>
-
          files to new file names samplefa.ead2002.dcl and samplef.concat.ead.dcl</LI>
+
 
-
        <LI>fixed move of fixdoctype.pl from s/samplefa
+
  <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>
-
          to f/findaid</LI>
+
 
-
        <LI>remove replace( "$DLXSROOT/bin/f/findaid/isolat128bit.pl",
+
</ul>
-
          qq{\#!/l/local/bin/perl}, $perlhashbang );</LI>
+
<p><b>LibGlobals.cfg</b>, <b>XsltPIFiller.pm</b></p>
-
        <LI>removed sampletc obsolete (now just
+
<ul>
-
          sampletc_utf8)</LI>
+
 
-
        <LI>add setup_newcoll for findaidclass</LI>
+
  <li>Typo in gScriptNameFindaid.</li>
-
        <LI>Added section for findaid demofa collection</LI>
+
    
-
        <LI>["XML::LibXSLT", 1.63], ["XML::LibXML",
+
</ul>
-
          1.65], from ["XML::LibXSLT", 1.58], ["XML::LibXML",
+
<p><b>CioFactory.pm</b>, <b>DlpsUtils.pm</b>, <b>GroupsInfo.pm</b></p>
-
          1.58],</LI>
+
<ul>
-
       
+
 
-
        <LI>sru, broker20 optional, broker20 deprecated</LI></UL></LI>
+
  <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>
+
    
-
 
+
</ul>
-
  <UL>
+
<p><b>DLXSApp.pm</b>, <b>DlpsUtils.pm</b>, <b>XsltPIFiller.pm</b></p>
-
    <LI> dlxsglobals.xml
+
<ul>
-
      <UL>
+
 
-
        <LI>url for Atom/Rss</LI>
+
  <li>More generic handling of browse navigation --- UI is able to present
-
        <LI>changed TemplateName to TemplatePath</LI>
+
    non-[a-z] characters. Most of these are UTF8 characters; query parameters
-
       
+
    are now protected accordingly.
-
        <LI>changed TemplateName to TemplatePath</LI>
+
-
        <LI>mtag changes</LI></UL></LI>
+
-
   </UL>
+
-
  <UL>
+
-
    <LI> feedback.xsl
+
-
      <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>
+
     Modified DlpsUtils::RemoveLeadingAndTrailingHalfEntities to ignore
-
  <UL>
+
     partial entity-like strings that have spaces in them.</li>
-
     <LI> transform.xml
+
    
-
      <UL>
+
</ul>
-
        <LI>add &lt;xsl:strip-space/></LI>
+
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
-
        <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>
+
-
    <LI> css/feedback.css
+
-
     
+
-
      <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> 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===
+
-
 
+
-
'''web/t/text'''
+
-
 
+
-
  <UL>
+
-
 
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> browse.xml
+
-
      <UL>
+
-
        <LI>added browseextra.xsl inc</LI>
+
-
</UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> clipviewer.xml
+
-
 
+
-
      <UL>
+
-
        <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
+
-
          for &lt;TemplateName> element</LI>
+
-
        <LI>changed TemplateName to TemplatePath</LI>
+
-
        <LI>If we're viewing a single item, put
+
-
          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>
+
-
        <LI>add feature PRF (Preface) to langmaps</LI></UL></LI>
+
-
  </UL>
+
-
  <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>
+
-
  <UL>
+
-
    <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"/> -->
+
-
          &lt;xsl:copy-of select="$pubinfo"/> to write child nodes
+
-
          (e.g. &lt;div>) to the HTML.</LI>
+
-
        <LI>No comma after &lt;div>[issuetitle]</div>
+
-
          for serialissue.</LI>
+
-
        <LI>minor change to fix missing name search
+
-
          bug</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
 
+
-
    <LI> scopedivs.xsl
+
-
      <UL>
+
-
        <LI>TYPE="hidden" allows selective non-display
+
-
          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>
+
-
        <LI>In &lt;xsl:template match="P">, don't
+
-
          normalize value of @ID.</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
+
-
          so that we still have valid XHTML in the event that
+
-
          we're currently inside a P.</LI>
+
-
        <LI>OBJECT wrapper around PB text breaks
+
-
          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>
+
-
        <LI>List style .nomarker.</LI>
+
-
        <LI>Add margin-bottom to div.lg and the
+
-
          like.</LI>
+
-
        <LI>rend-aligntop.</LI></UL></LI>
+
-
 
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> tocheader.xsl
+
-
      <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>
+
-
    <LI> viewtextnote.xsl
+
-
      <UL>
+
-
        <LI>remove crash your browser</LI>
+
-
        <LI>OCR quality</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
'''bin/t/text'''
+
-
 
+
-
  <UL>
+
-
    <LI> CER.pm
+
-
 
+
-
      <UL>
+
-
        <LI>added dagger2 &amp;#x2021; labr &#x3008;
+
-
          long &amp;#xAF; rabr &#x3009; short &#x2D8;</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> dtdalyzer.pl
+
-
      <UL>
+
-
 
+
-
        <LI>Added ROWSPAN attribute.</LI>
+
-
        <LI>Added DOC attr.</LI></UL></LI>
+
-
  </UL>
+
-
  <UL>
+
-
    <LI> utf8chars
+
-
 
+
-
      <UL>
+
-
        <LI>fix error checking and display data</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
'''cgi/t/text'''
+
-
 
+
-
  <UL>
+
-
    <LI> CVApp.pm
+
-
      <UL>
+
-
        <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
+
-
          from tempCgi that may be hanging around (possibly
+
-
          due to URL hacking) and that we don't want passed
+
-
          forward in picklist links.</LI></UL></LI>
+
-
  </UL>
+
-
 
+
-
  <UL>
+
-
    <LI> TextAppXsltPIFiller.pm
+
-
 
+
-
      <UL>
+
-
        <LI>print on demand links to amazon.com
+
-
          added</LI></UL></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
+
-
          between year-month-day parts of a sortdate.</LI>
+
-
        <LI>Output FirstPageHref for layer2 serialissue
+
-
          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===
+
-
 
+
-
 
+
-
====CGI/Middleware====
+
-
 
+
-
<p>Known Problems</p>
+
<ul>
<ul>
-
<li>None known so far.</li>
+
 
 +
  <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>
</ul>
-
 
+
<p><b>Stats/MainPage.pm</b></p>
-
<p>Enhancements </p>
+
<ul>
<ul>
-
<li>Image Viewing
+
 
 +
  <li>Don't hard-code years for custom report. Do from 2006 to year().</li>
 +
 
 +
</ul>
 +
<p><b>XsltPIFiller/FullTextAppXsltPIFiller.pm</b></p>
<ul>
<ul>
-
<li>Ajax based zooming and panning of imagery. Works with JPEG2000 and MrSID.</li>
+
 
-
<li>getimage-idx cgi has been completely rewritten and is backward compatible with previous version.</li>
+
  <li>Change 'amount' pulldown building
-
<li>XML, XSL, CSS, and Javascript for entry/image view have changed significantly.</li>
+
    to reflect values that are in the map starting at 5 in increments of 5
-
<li>Running mediaprep with purge=1 is recommended, but not required. It now stores thumbnail dimentions in the ImageClassMediaFiles table and uses them for drawing zooming reference visuals on the thumbnail adjacent to zoomable images. Image Class now requires ImageMagick and PerlMagick to be installed.</li>
+
    up to 120</li>
 +
 
</ul>
</ul>
-
</li>
+
<p><b>ItemView.cfg</b>, <b>ItemView.pm</b>, <b>ItemViewApp.pm</b></p>
-
<li>Portfolios
+
<ul>
<ul>
-
<li>Longer descriptions are allowed in custom sorting display.</li>
+
 
-
<li>Multiple owners/editors.</li>
+
  <li>changes to make pageview work like pageturner.</li>
-
<li>Renaming.</li>
+
-
<li>Added documentation for end-users.</li>
+
-
<li>Fixed bug that kept anonymous user from opening their own session based portfolio.</li>
+
-
<li>Portfolio (BookBag) IDs are now generated randomly to avoid potential database replication problems.</li>
+
</ul>
</ul>
-
</li>
+
<p><b>ItemView.pm</b></p>
-
<li>Searching/Browsing
+
<ul>
<ul>
-
<li>Relevance ranking is now an option for Image Class search results. To activate simply add "relevance" to the Collmgr field "sortflds" (first list value should be "none" and second "relevance"). Sorting of results by relevance will be the default for the collection once configured. Relevance ranking is not used when searching multiple collections.</li>
+
 
-
<li>Searching has been packaged and can be subclassed. A subclass for integrating search results from the ARTstor XML web service is included  and can be used by ARTstor members. Support for other services, databases or database schemas can be added by subclassing the ImageSearch.pm Perl module.</li>
+
  <li>Using the collmgr configurable display sizes.</li>
-
<li>Browsing of newly added or update media items is now possible. Requires reloading metadata for the collection. In Collmgr set brwsadds to "on", add "m_flm:::Recently Added/Updated" to field_labels, and add "m_flm" to sortflds, dfltentryflds, and dfltresentryflds.</li>
+
 
-
<li>All collections are selected by default in cross collection search. This is now a configurable option at the class level in imageclass.cfg.</li>
+
</ul>
</ul>
-
</li>
+
<p><b>DLXSApp.pm</b>, <b>XsltPIFiller.pm</b></p>
-
<li>Collection Size Calculation
+
<ul>
<ul>
-
<li>Collection size counts are now stored, by image-idx, in Collmgr. See help text for new Collmgr fields "recordcount" and "mediacount".</li>
+
 
 +
  <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>
</ul>
-
</li>
+
<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>
</ul>
-
====Data Preparation====
+
<p><b>BrowseUpdate.pm, updatebrowsedb.pl, BrowseDoubleLayerNav.xsl</b></p>
-
<p>Enhancements </p>
+
<ul>
<ul>
-
<li>It is possible to configure a development mysql server for loading metadata. load.pl script will use production mysql server to get information from Collmgr, ImageClassMediaFiles, etc. but will populate new tables on development server. This is not generally necessary, but can help to reduce production server load with very large collections (75,000+ records).</li>  
+
  <li>Browse lists are based on collection data, so values outside 'a'..'z' can now be found in browse lists.</li>
-
<li>mediaprep script now stores pixel dimensions of thumbnail images in ImageClassMediaFiles table. Pixel dimensions for thumbnails now appear in the relevant XML output of the middleware cgi (image-idx).  
+
  <li>Explicitly encode browse values as UTF-8 before writing them to the database tables.</li>
 +
  <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>
 +
  <li>Punctuation in values is ignored when building counts ("A.B" is treated as "Ab").
 +
  <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>
-
===BibClass===
+
<p><b>dlxsglobals.xml</b></p>
-
'''cgi/b/bib'''
+
<ul>
 +
 
 +
  <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>
-
  <UL>
+
===TextClass===
-
    <LI> BibApp.pm
+
====New and Changed Functionality====
-
      <UL>
+
<p>'''Pageviewer'''</p>
-
        <LI>added size as a common param</LI>
+
Pageviewer was changed to support the following functionalaties:
-
        <LI>add size to SID if we have one</LI></UL></LI>
+
<ul>
-
  </UL>
+
<li>
-
  <UL>
+
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> BibClassPerlFilters.pm
+
</li>
-
      <UL>
+
<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>BibClassPerlFilters::CollsFilter had
+
<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>
-
          a minor bug in the sql query used to select the collection
+
<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>
-
          name from the Collection table causing it to not always
+
<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>
-
          select the right row because it wasn't consdering
+
</ul>
-
          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>
+
The following files were changed to support this change:
-
        <LI>change openurl sub to be 1.0</LI>
+
-
        <LI>change wording on openurl link</LI>
+
-
        <LI>added support for icon in openurl links</LI></UL></LI>
+
<ul>
-
  </UL>
+
<li>t/text/clipviewer.xsl </li>
 +
<li>t/text/htmlhead.xsl </li>
 +
<li>t/text/langmap.en.xml </li>
 +
<li>t/text/langmap.fr.xml </li>
 +
<li>t/text/pageviewer.xsl </li>
 +
<li>t/text/viewer.utils.xsl </li>
 +
<li>t/text/viewer.xsl </li>
 +
<li>lib/ItemView.cfg </li>
 +
<li>lib/ItemView.pm  </li>
 +
<li>lib/ItemViewApp.pm </li>
 +
</ul>
-
  <UL>
+
In the subclasses are, these files were changed:
-
    <LI> bibclass.cfg
+
<ul>
-
      <UL>
+
<li>a/acls/pageviewer.xsl </li>
-
        <LI>change openurl server</LI></UL></LI>
+
<li>PVApp/EeboPVApp.pm  </li>
-
  </UL>
+
<li>PageView/AclssuppPV.pm </li>
 +
<li>PageView/CjsPV.pm  </li>
 +
<li>PageView/EccoPV.pm </li>
 +
<li>PageView/MachynPV.pm </li>
 +
</ul>
-
===Oai===
+
<p>'''Picklist'''</p>
-
'''cgi/o/oai/'''
+
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.
-
* oai, oai.cfg, oai_conf.xml, sample_config.xml, UMProvider.pm
+
-
** new -- new OAI data provider and accompanying scripts
+
-
'''bin/o/oai/'''
+
The following files were changed to support this change:
-
* ConfirmPublicDomain.pl, loadOai.pl, mbooks_harvest_cron.pl, mbooks_update.pl, oai_conf.xml, OaiList.pl, OaiToDb.pl, RepositoryConfig.xml, revertOaiTbl.pl, updateMbooksOai.pl
+
<ul>
-
** new -- new OAI data provider and accompanying scripts
+
<li>DlpsLocalUtils.pm</li>
 +
<li>langmap.en.xml</li>
 +
<li>picklist.xsl</li>
 +
<li>picklistheader.xsl</li>
 +
</ul>
-
'''bin/o/oai/provider'''
+
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.
-
* AddCollToSource.pl, articlesToDc.xsl, bibClassToDc.xsl, CheckModifiedColls.pl, collmgrFullList.txt, ConvertToDc.pl, ConvertToUTF8.pl, dlxs_to_oaidc_cron.pl, exampleColls.xml, ExtractHeaders.pl, GenerateReport.pl, GetNewCollections.pl, LoadDB.pl, NewOAICollection.jpg, oai_new_coll_history.txt, oai_update_history_text.txt, oai_update.pl, README.txt, RunDlpsOaiConversion.pl, RunOaiConversion.jpg, RunOaiConversion.pl, textClassToDc.xsl, umprovider_flow_diagrams_and_examples.ppt, UMProviderFlow.jpg, updateCollConfig.pl
+
====Changed Files====
-
** new -- scripts to transform text, bib, and image class collections into oai_dc for use by the OAI data provider. See the README.txt file in this directory for a brief description of each file
+
<p><b>langmap.en.xml</b></p>
 +
<ul>
 +
<li>added openurl link text</li>
-
'''bin/o/oai/provider/logs'''
+
</ul><p><b>pageviewerheader.xsl</b></p>
 +
<ul>
 +
<li>added class=title245 to div in itemcitation</li>
-
* This directory houses the logs generated by the scripts in bin/o/oai/provider
+
</ul><p><b>textclass.css</b></p>
 +
<ul>
 +
<li>added .title245 style to fix long titles that wrap and cut off pdf viewer navigation</li>
-
'''bin/o/oai/provider/reports-new-colls'''
+
</ul><ul>
 +
<li>Links to PDFs (if available).</li>
 +
<ul>
 +
<li>picklistheader.xsl</li>
 +
<li>textclass.css</li>
 +
</ul>
 +
</ul><p><b>navheader.xsl</b></p>
 +
<ul>
 +
<li>Simplified help link; now uses whatever value is provided by the middleware.</li>
-
* This directory houses the reports generated by bin/o/oai/provider/GetNewCollections.pl
+
</ul><p><b>help/help-readme.html</b></p>
 +
<ul>
 +
<li>Describes a workflow and workfiles that do not exist.</li>
-
'''bin/o/oai/provider/reports-oai-update'''
+
</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>
 +
<ul>
 +
<li>Copyediting, took out references to UMDL.</li>
-
* This directory houses the reports generated by bin/o/oai/provider/GenerateReport.pl
+
</ul><p><b>tocheader.xsl</b></p>
 +
<ul>
 +
<li>Don't add comma between multiple EDITORS after apply-templates, the comma is add
 +
ed in the template rule.</li>
-
'''bin/i/image/'''
+
</ul><p><b>textclass.css</b></p>
 +
<ul>
 +
<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>
-
* image2oai_dc.pl
+
</ul><p><b>tocheader.xsl</b></p>
-
** new -- script for loading OAI tables with Image Class data in MySQL
+
<ul>
 +
<li>$subjectinfo: also use @TYPE='keyword'.</li>
-
'''bin/o/oaister/'''
+
</ul><p><b>htmlhead.xsl</b></p>
 +
<ul>
 +
<li>changed the way title is handled for journals</li>
-
* RepositoryConfig.cfg
+
</ul><p><b>navheader.xsl</b></p>
-
** new -- contains baseURLs, MODS info and OAITransFixer.pm subscripts
+
<ul>
 +
<li>call buildLoginLink factored out of web/t/text/navheader.xsl</li>
-
* oaitransform/CollsObj.cfg
+
</ul><p><b>clipviewer.xsl, jquery.ba-resize.js, pageviewer.xsl, pdf_framer.js, viewer.utils.xsl, viewer.xsl</b></p>
-
** new -- config for CollsObj.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>
-
* oaitransform/CollsObj.pm
+
</ul><p><b>footer.import.xsl</b></p>
-
** new -- used for FMPro connection for OAIster
+
<ul>
 +
<li>Added alt attribute to "Back to Top" link image.</li>
-
* oaitransform/DataConditioning.pm
+
</ul><p><b>header.xsl, search.xsl, ww.xsl</b></p>
-
** Get rid of any remaining stray sp0t tags
+
<ul>
 +
<li>Renamed form method "GET" to "get".</li>
-
* oaitransform/MODSTransform
+
</ul><p><b>text.components.xsl</b></p>
-
** Fix bug where MODS record was not ignored for re-exposure if no URL in record
+
<ul>
-
** Changed the tree removing metadata from the re-exposed XML, changed the language code mapping, added setSpec to about container
+
<li>Typo: $divLevel -&gt; $divlevel</li>
-
** Swap dates in about container and change MODS loc.gov URL
+
-
** Remove NS prefix and NS from metadata element
+
-
** Remove all xmlns attributes as well
+
-
** Add all orig setSpec to provenance element for MODS re-exposure
+
-
** Hack to fix xsi: problem for Northwestern
+
-
** Change to pick up URLs in identifier type=uri
+
-
* oaitransform/OAITransFixer.pm
+
</ul><p><b>text.components.xsl</b></p>
-
** new -- perl subscripts for fixing harvested data
+
<ul>
 +
<li>HEADER tmeplate: handle unexpected cases with  &lt;xsl:otherwise&gt;&lt;xsl:apply-templates/&gt;&lt;/xsl:otherwise&gt;.</li>
-
* oaitransform/OAITransform
+
</ul><p><b>textclass.css</b></p>
-
** Added flag to skip DTD validation change, the PostXslt process to be after each small file, not the final large one
+
<ul>
-
** Added code to regenerate the perl config files from the XML config files each time this is run
+
<li>added styles for new h1, h2, etc. output from t/text/text.components.xsl</li>
-
** Comment out LoadRepositoryLookTable() and changed SetCurrentArchive() to use XML config value
+
-
** Move removing attribute to after data conditioning
+
-
** Patch to fix latin1 regex problem
+
-
** Unescape hex and dec entity refs
+
-
** Added fixer call and other minor changes
+
-
** Skip deleted records
+
-
** Add skipped and deleted to repo count
+
-
** Get the return from PreprocessXML bug fix
+
-
** Semi opt for hex and dec ent refs
+
-
** Added CollsDB
+
-
* oaitransform/browse.tpl
+
</ul><p><b>resultsheader.xsl</b></p>
-
** new -- template for building OAIster browse pages
+
<ul>
 +
<li>More robust code changes to support mixed collections moved from Feminist Studies to DLXS system-wide</li>
-
* oaitransform/manageCollsDb.pl
+
</ul><ul>
-
** new -- CGI script for managing FMPro DB for oaister
+
<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>
 +
<ul>
 +
<li>resultsheader.xsl</li>
 +
<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>
-
* oaitransform/mods-bibclass.xsl
+
</ul><p><b>browse.xsl</b></p>
-
** Added copyrightDate YR
+
<ul>
-
** urls in own URL tags
+
<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>
-
** Change to pick up URLs in identifier type=uri
+
-
* oaitransform/mods_repositoryNames.pl
+
</ul><p><b>TextClass.pm</b></p>
-
** Fixed amp;
+
<ul>
 +
<li>SerialArticleTocLinkHook: built link to view=toc for pageimage collections.</li>
-
* oaitransform/oai-bibclass3.xsl
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
-
** Added tests for empty elements
+
<ul>
 +
<li>BuildItemLink_XML: handle case of serialarticle colls using pageimages.</li>
-
* oaitransform/repositoryNames.pl
+
</ul><p><b>DlpsLocalUtils.pm</b></p>
-
** Add &amp;amp; fix
+
<ul>
 +
<li>CreatePicklist: don't link to text view if it's a serialarticle coll that uses pageimages.</li>
-
* scripts/Batch_UMHarvest
+
</ul><p><b>textclass.cfg</b></p>
-
** Add skip HTML flag for transform
+
<ul>
-
** Allow -x for transform
+
<li>fix linking to be relative to preserve https</li>
-
** Added -a for incremental batch harvesting
+
-
* scripts/ListRecords
+
</ul><p><b>textclass.cfg</b></p>
-
** Error code checking
+
<ul>
-
** Do not exit on OAI error
+
<li>$gHelpSubdir: more flexibility for location of help files.</li>
-
** Fixed log reporting
+
-
** Make list of dirs, not files, to check for replacement records -- speed up incremental
+
-
* scripts/UMHarvester
+
</ul><p><b>TextClass.pm</b></p>
-
** Changed to use the XML config file; requires XML::LibXML now
+
<ul>
-
** Added wait flag
+
<li>Moved logic of ViewPDFLink_XML to TextAppXsltPIFiller.pm, as most of the time it is processing PIs.</li>
-
** Check for sets cfg before trying to parse it, only loop on sets for list records
+
-
** ID bug fix
+
-
* scripts/browse_check.pl
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
-
** new -- checking FMPro repositories against browse pages
+
<ul>
 +
<li>ViewPDFLink_XML: now looks for PDFs in item obj dir, then serves them out of web cache.</li>
-
* scripts/id_check.pl
+
</ul><p><b>TextClass.pm</b></p>
-
** new -- checking FMPro repositories against incremental batch harvest
+
<ul>
 +
<li>Moved  ViewPDFLink_XML back from TextAppXsltPIFiller.pm (caused more problems than it solved).</li>
-
* scripts/rc_check.pl
+
</ul><p><b>TextAppXsltPIFiller.pm</b></p>
-
** new -- checking FMPro repositories against RepositoryConfig.cfg
+
<ul>
 +
<li>Moved ViewPDFLink_XML back to TextClass.pm (caused more problems than it solved).</li>
-
* scripts/restoreHarvestedData.pl
+
</ul><p><b>TextClass.pm</b></p>
-
** new -- restores backup copy of repository dir
+
<ul>
 +
<li>Moved item-level auth checking into module ItemAuth.pm, for use in auxillary cgi scripts.</li>
-
* scripts/startIndex.pl
+
</ul><p><b>TextClass.pm</b></p>
-
** new -- runs xpat and multirgn on xml obj files
+
<ul>
 +
<li>Calls to ViewPDFLink_XML now call BuildPODandDODLinks_XML.</li>
-
===IdResolver===
+
</ul><p><b>DlpsLocalUtils.pm</b></p>
 +
<ul>
 +
<li>Add call to BuildPODandDODLinks_XML.</li>
-
'''cgi/i/idresolver/'''
+
</ul><p><b>textclass.cfg</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 -- replaces @proximityAmounts array</li>
-
<UL>
+
</ul><p><b>textclass.cfg</b></p>
-
<LI>idresolver</li>
+
<ul>
-
<UL><li>CGI script that returns a URL (marked up in XML) for an ID</li></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>
-
<LI>idresolver-nr</li>
+
-
<UL><li>new -- CGI script that redirects a user from a persistent URL to one defined in the nameresolver database for an ID, can be used instead of cgi/b/bib/bibperm</li></UL>
+
-
<LI>idresolver-srch</li>
+
-
<UL><li>new -- CGI script that takes a text file of ids (one per line) and checks to see if they exist in the nameresolver database</li></UL>
+
-
<LI>IDResolver.pm</li>
+
-
<UL><li>Perl module that is used by each of the cgi scripts</li></UL>
+
-
</UL>
+
-
'''bin/i/idresolver/'''
+
</ul><p><b>textclass.cfg</b></p>
 +
<ul>
 +
<li>Added .png to gEntityExtensionsToCheck.</li>
-
<UL><LI>cvstag.idresolver, rdist.class</li></UL>
+
</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>
-
'''bin/n/nameresolver/'''
+
</ul>
-
<UL><LI>IdParser.pl</LI>
+
===ImageClass===
-
<UL><li>new -- script used to populate the nameresolver database</li></UL>
+
-
<LI>LoadLLMCIds.pl</LI>
+
-
<UL><li>new -- this is a sample script of how you can use a .csv file to populate the nameresolver database</li></UL>
+
-
<LI>CreateTable.pl, NRTable.sql</LI>
+
-
<UL><li>new -- scripts for creating nameresolver table in database (which is already included in the release)</li></UL>
+
-
<LI>new -- other sample files: DeepBlueShortIds.txt, getUpdatedNRfiles, InsertCrosscIssues.pl, N2TestExecution.txt, NRDevVsProdComparison.xls, README.txt, RemoveDeepBlueConflicts.pl,
+
-
statusLoadingNRinProd.txt, TestIdParser.pl
+
-
</LI>
+
-
<UL><li>These files were used for DLPS collections and are provided only as additional resources. They are not necessary to the Idresolver/nameresolver configuration</li></UL>
+
-
</LI>
+
-
</UL>
+
-
===broker20===
 
-
    <ul>
 
-
      <li>No changes.</li>
 
-
    </ul>
 
-
===Collmgr===
+
====CGI/Middleware====
-
    <ul>
+
-
      <li>Supports version 7.0 database for DLXS release14.</li>
+
-
      <li>default browse page for Text and Findaid Class now set from first item in Browsefields list</li>
+
-
    </ul>
+
<p>Known Problems</p>
 +
<ul>
 +
<li>None known so far.</li>
 +
</ul>
-
===FindaidClass===
+
<p>Enhancements </p>
-
====Findaid Class Summary====
 
<ul>
<ul>
-
<li>Browse by subject added</li>
+
    <li>Image Viewing
-
<li>Default browse page now set in collmgr</li>
+
        <ul>
-
<li>Sample code and documentation included for accomodating non-Bentley encoding practices</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>
+
            <li>Document domain setting is no longer set; it can be added in custom XSL (<tt>js/imageclass.js</tt>)</li>
-
<li>Code to use &lt;bioghist&gt; &lt;head&gt; tag for labels in TOC and in Finding Aid:  
+
            <li>Added download link for current image size (<tt>entry_imagetools.xsl, langmap.en.xml, panzoom.xsl</tt>)</li>
-
[[Mounting_a_Finding_Aids_Collection#Changing_the_Bioghist_labels_to_use_the_appropriate_.3Chead.3E_elements|Changing the Bioghist labels to use the appropriate head elements]]
+
            <li>Feedback form now uses reCAPTCHA service (<tt>bbentry.xml, entry.xml</tt>)</li>
-
</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>Code to add &lt;relatedmaterial&gt; &lt;separatedmaterial&gt; to TOC: [[Mounting_a_Finding_Aids_Collection#Adding_sections_to_the_table_of_contents|Adding sections to the table of contents]]</li>
+
            <li>Improved page titles and meta information for key pages in Image Class
-
</ul>
+
              with hopes of improving search engine recognition and simply making
-
<li>Data prep scripts reorganized and renamed</li>
+
              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>New functionality for Makefile and preparedocs.pl</li>
+
            <li>Long titles can be truncated via Javascript (<tt>entry.xsl, panzoom.xsl, entry.xml, js/jquery.text-overflow.js</tt>).</li>
-
<li>New script to set up new collections [[setup_newcoll]]</li>
+
            <li><tt>ImageAppXsltPIFiller.pm</tt>
-
<li>Bug fixes</li>
+
                <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>
-
<h4>Prep scripts</h4>
+
====Data Preparation====
-
Data prep scripts have been reorganized and renamed.
+
-
*New functionality for Makefile and preparedocs.pl
+
-
*New script to setup new collections
+
-
'''New prep script: setup_newcoll'''
+
<p>Enhancements </p>
-
$DLXSROOT/bin/f/findaid/setup_newcoll can be used to set up directories for new collections. For example, to set up the workshopfa collection based on samplefa (Assuming your $DLXSROOT variable is set)run this command:
+
<p><b>statsconfig.pl</b></p>
 +
<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>
 +
</ul>
-
  $DLXSROOT/bin/f/findaid/setup_newcoll -c workshopfa  -s $DLXSROOT/prep/s/samplefa/data
+
===OAI===
-
More information on the setup_newcoll script can be found by clicking [[setup_newcoll_manpage|here]] or invoking the man page:
+
====New and Changed Functionality====
 +
You must create the following two tables oai_marc and oai_mods in additions to the oai and oaisets tables:
-
  $DLXSROOT/bin/f/findaid/setup_newcoll --man
+
<pre>
 +
  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));
-
'''New options for preparedocs.pl'''
+
  CREATE TABLE `oai_mods` (
-
<p>The $DLXSROOT/bin/s/samplefa/preparedocs.pl script now takes several new arguments.</p>
+
    id` varchar(150) NOT NULL default '',
-
  ./preparedocs.pl --man  will give details
+
    timestamp  timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-
of particular interest is the  preparedocs.pl  -i inputfilelist option which allows you to specify a file containing the full paths to the finding aids you wish to index.  This option can be used instead of the previous default behavior which was to recursively search the data directory and index all files in that directory.
+
    mods  mediumblob,
 +
    PRIMARY KEY  (id),
 +
    KEY timestamp (timestamp),
 +
    KEY oai_time_id (timestamp,id));
 +
</pre>
-
'''Changes to Makefile'''
+
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:
-
<p>Addition of these new targets:</p>
+
-
;prepdocslist
+
<pre>
-
:Same as prepdocs but uses the -i inputfilelist to preparedocs.pl and by default reads a file $DLXSROOT/prep/c/collection/list_of_eads.
+
INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;
-
;allbutprep
+
-
:convenience target for use in conjunction with prepdocslist that does all the make steps except for the make prepdocs
+
-
;index
+
-
:convenience method that runs all 3 indexing steps
+
-
'''Changes to prep scripts'''
+
INSERT INTO oai_marc select id, times tamp, marc21 FROM oai WHERE marc21 is not null;
-
 
+
-
;$DLXSROOT/bin/s/samplefa
+
-
:Moved generic bin files to f/findaid
+
-
:Makefile modified
+
-
:preparedocs.pl has new options
+
-
 
+
-
;$DLXSROOT/prep/s/samplefa
+
-
:Renamed files
+
-
<pre> samplefa.text.inp  to samplefa.ead2002.dcl
+
-
samplefa.xml.inp to samplefa.concat.ead.dcl
+
-
</pre>
+
-
 
+
-
:Removed:
+
-
<pre> samplefa.inp
+
-
</pre>
+
-
:Added:
+
-
<pre>  list_of_eads
+
-
</pre>
+
-
 
+
-
;$DLXSROOT/bin/f/findaid
+
-
:Removed:
+
-
<pre> catsourcefiles.pl
+
-
isolat128bit.pl
+
-
validate.pl
+
-
</pre>
+
-
:Added/moved from bin/s/samplefa
+
-
<pre> fixdoctype.pl
+
-
stripdoctype.pl
+
-
validateeach.sh
+
-
        setup_newcoll
+
</pre>
</pre>
-
<H4>web/f/findaid</H4>
+
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.
-
 
+
-
<UL>
+
-
<LI> bookbagitemsstring_debug.xsl
+
-
<UL>
+
-
  <LI>For debugging in oxygen since the Oxygen
+
-
                debugger uses Saxon and Saxon doesn't understand the
+
-
                extensions</LI>
+
-
</UL>
+
-
</LI>
+
-
</UL>
+
 +
====Changed Files====
 +
<p><b>provider/LoadDB.pl</b></p>
<ul>
<ul>
-
<li>browse.xsl</li>
+
<li>Updated to trim set and id before storing record</li>
 +
<li>Updated ConnectToDB to get database name from config xml</li>
 +
<li>De-coupled from nameresolver so that it is optional to sync with nameresolver</li>
 +
<li>new code for new tables oai_mods, and oai_marc</li>
 +
</ul>
 +
<p><b>provider/GetNewCollections.pl</b></p>
<ul>
<ul>
-
<li>Added code for subject browse</li>
+
<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===
 +
<ul>
 +
<li>added bin/n/nameresolver</li>
 +
<ul><li>cvstag.idresolver</li></ul>
 +
</ul><ul>
 +
<li>new error message when nameresolver can't find an ID.</li>
 +
<ul><li>IDResolver.pm</li></ul>
</ul>
</ul>
-
<UL>
+
===Collmgr===
-
<LI> browseheader.xsl
+
<p>Supports database version 8.0 for DLXS release 15.</p>
-
<UL>
+
-
<LI>bulk dates labelled</LI></UL></LI>
+
<p><b>collmgr-fields.html</b></p>
-
</UL>
+
<ul>
-
<UL>
+
  <li>Added info about recordcount and mediacount</li>
-
<LI> htmlhead.xsl
+
-
<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> text.components.xsl
+
  <li>Changed documentation for browsefields to include Findaid Class
-
<UL>
+
    subject searching and to document that first field on browsefields
-
<LI>Modified template for processing c0x's
+
    list is used for default browse page in Text and Findaid Class</li>
-
                so that if there are two containers within a //c0x/did/
+
  <li>Documented field_rel_weight for relevance ranking</li>
-
                such as box/folder they will both show up in the proper
+
  <li>Corrected description of pageviewhost based on the changes to make pageview work more like pageturner.</li>
-
                column.</LI>
+
  <li>More documentation for defatulpagesize.</li>
-
<LI>Highlighting fix. Replaced about 36
+
  <li>New field for the image sizes to display.</li>
-
                instances of &lt;xsl:value-of select="."/> with <xsl:apply-templates
+
  <li>Update secondarytitle documenation.  This field only implemented in bibclass.</li>
-
                select="*|text()"/> If value-of select gets highlighted
+
  <li>Updated collmgr-fields.html (collmgr documentation) for new field "quickbrowse"</li>
-
                text in the context node: "text&lt;HIGHLIGHT>text</HIGHLIGHT>text
+
  <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>
-
                text" it will ignore the &lt;HIGHLIGHT> elemnts and just
+
  <li>Added customfallbackwebdirs.</li>
-
                render all the text. On the other hand the apply-templates
+
</ul>
-
                "*" will match the &lt;HIGHLIGHT> element and trigger
+
-
                the appropriate highlighting template and the text()
+
-
                nodes will get passed to the template that just outputs
+
-
                the text</LI>
+
-
<LI>Fixed code in template match=unittitle
+
-
                mode=SimpleUnittitle because foreach was messing with
+
-
                context Also change code for handling notes/scopeconent
+
-
                in match=C01|c02... because it was an xsl:choose,
+
-
                but notes and scopecontent are not mutually exclusive</LI>
+
-
<LI>Changed code for handling notes/scopeconent
+
-
                in match=C01|c02... now both did/note and note and
+
-
                did/scopecontent and scopecontent will be rendered</LI>
+
-
<LI>fixed bug in template match="list"
+
-
                where there was a foreach and then value-of select
+
-
                *|text() that needed to be value-of select="."</LI>
+
-
<LI>space before unitdate value</LI>
+
-
<LI>title styling</LI>
+
-
<LI>optional labels for additional descriptive
+
-
                material</LI>
+
-
<LI>hide sorting title</LI>
+
<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>sponsor</LI>
+
<ul>
-
<LI>Restored ADD to full-text view</LI>
+
  <li>Make $gReleaseUserHost quod.lib.umich.edu for us and 0 for partners.
-
<LI>abstracts in dids</LI>
+
    Force $gLogin to dlxsadm on this host to support dlxsadm on production
-
<LI>Change template for index mode= add
+
    host (collmgr must be in the ACL for that host to protect access to
-
                so it doesn't produce 2 copies of any &lt;head> text.
+
    collmgr to just those who can authenticate to a production host).  Add
-
                Key is to limit the apply templates after we already
+
    color effects when running as dlxsadm.</li>
-
                processed the head not to process the head again:
+
 
-
                &lt;xsl:apply-templates select="*[not(self::head)]"/></LI></UL></LI>
+
</ul>
-
</UL>
+
<p><b>collmgr.cfg</b></p>
 +
<ul>
 +
  <li>version 8.0</li>
 +
  <li>Added the functionality for a group to have hold capability.</li>
 +
</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>
-
<H4>bin/f/findaid</H4>
+
===FindaidClass===
-
*catsourcefiles.pl
 
-
**No longer used for samplefa (replaced by preparedocs.pl) Also it contains bhl specific code. For bhl use the copy in $DLXSROOT/bin/b/bhlead which is in cvs.
 
-
*fixdoctype.pl
 
-
**Moved here from bin/s/samplefa No collection-specific customization These should work on any EAD that conforms to the ead2002.dtd
 
-
*isolat128bit.pl
 
-
**No longer used for findaids, since all findaids should be utf8 encoded
 
-
*setup_newcoll
 
-
**New script to set up directories  ./setup_newcoll --man for details
 
-
*stripdoctype.pl
 
-
**This library file is now used by preparedocs.pl and validateeach.sh (through $DLXSROOT/bin/s/samplefa/fixdoctype.pl)to correctly remove multiple line DOCTYPE declarations                and any entity references contained within them. It is a replacement for the one-line perl program previously used by those two programs.
 
-
*validate.pl
 
-
**Removed outdated file that worked on sgml files. FindaidClass now exclusively xml
 
-
*validateeach.sh
 
-
**Moved here from bin/s/samplefa No collection-specific customization Thise should work on any EAD that conforms to the ead2002.dtd
 
-
<H4>cgi/f/findaid</H4>
+
<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>
-
<UL>
+
<p><b>FindaidClass/DemofaFC.pm</b></p>
-
<LI> FindaidApp.pm
+
<ul>
-
<UL>
+
  <li>Improved comments and added back in commented out code</li>
-
<LI>remove FormatGuideFrame() obsolete
+
 
-
                since the change to XML/XSL</LI></UL></LI>
+
</ul>
-
</UL>
+
<p><b>FindaidClass/BioghistfaFC.pm</b></p>
-
<UL>
+
<ul>
-
<LI> FindaidAppXsltPIFiller.pm
+
  <li>Demo of using &lt;bioghist&gt;&lt;head&gt; elements to label bioghist section</li>
-
<UL>
+
 
-
<LI>Removed FormatOutlineResult_XML and
+
</ul>
-
                FormatOutlineFrame_XML as they are not called by any
+
<p><b>FindaidAppXsltPIFiller.pm</b></p>
-
                code (or bound to any PIs).</LI></UL></LI>
+
<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>
-
</UL>
+
===Stats===
-
<UL>
+
<ul>
-
<LI> FindaidClass.pm
+
<li>Only count hits with HTTP status 200.</li>
-
<UL>
+
<ul><li>stats_driver.pl</li></ul>
-
<LI>highlight hits in layer 1 result items</LI>
+
</ul><ul>
-
<LI>Added highlighting to BuildItemTitle_XML
+
<li>Change to record stats by year/month rather than year/month/day, to reduce the number of rows in the database.</li>
-
                so highlighting will show up in title</LI>
+
<ul><li>stats_driver.pl</li></ul>
-
<LI>Fixed bug in FilterAllDaos_XML that
+
</ul>
-
                would not properly process daos with real hrefs and
+
-
                would result in illegal xml being output when id resolver
+
-
                is turned on.</LI></UL></LI>
+
-
</UL>
+
-
<UL>
+
-
<LI> FindaidClass/ClementsmssFC.pm
+
-
 
+
-
<UL>
+
-
<LI>removes "viewtextnote" speedbump</LI></UL></LI>
+
-
</UL>
+
-
 
+
-
*FindaidClass/DemofaFC.pm 
+
-
**Demo of subclassing
+
-
**add relatedmaterial and separated material TOC heads
+
-
**use &lt;head> tags for bioghist instead of bentley logic for TOC heads
+
-
**change labels for several TOC heads
+
-
 
+
-
*FindaidClass/BioghistfaFC.pm
+
-
**Demo of subclassing to use &lt;head> tags for bioghist instead of bentley logic
+
-
===XClass===
+
===SRU===
-
    <ul>
+
    <ul>
       <li>No changes.</li>
       <li>No changes.</li>
     </ul>
     </ul>
-
 
+
===BibClass===
-
===METS Pageturner and Collection Builder===
+
    <ul>
-
    <ul>
+
       <li>No changes.</li>
-
       <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>
     </ul>
-
 
+
===XClass===
-
===SRU===
+
     <ul>
     <ul>
-
       <li>Added fielded searching to query -- not yet Level 1 or 2, though</li>
+
       <li>No changes.</li>
     </ul>
     </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