Release Notes for Current DLXS Release

From DLXS Documentation

(Difference between revisions)
Jump to: navigation, search
m (TextClass)
m (TextClass)
Line 604: Line 604:
===TextClass===
===TextClass===
-
====XML template and XSL stylesheet changes to web/t/text====
+
'''XML template and XSL stylesheet changes to web/t/text'''
   <UL>
   <UL>
Line 750: Line 750:
-
====CGI/Middleware====
+
====Middleware Changes====
'''bin/t/text'''
'''bin/t/text'''

Revision as of 15:50, 12 August 2008

Main Page > Release Notes for Current DLXS Release

Contents

General Information

TextClass is substantially identical to release 13 except for bug fixes as noted below. ImageClass provides new image viewing functionality. FindaidClass improves handling of the EAD DTD and includes subject browsing. BibClass is unchanged and is being de-emphasized.

Release 14 is comprised of:


Known Problems

  • None

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_6_7) operates only on a MySQL database. These issues are documented in detail in the installation instructions and the upgrade instructions.

New and Changed Functionality

XPAT

  • No changes.

Lib

  • AuthNZ.pm
    • IE needs escaped return login url parameter to be the last cgi param. So now it is.
    • Implementation of session stored return login url. Ran into a problem with long URLs in IE, so had to do this.
  • CollsInfo.pm
    • removed setting of utf8flag for data out of utf8 mysql table
    • 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.
  • DLXSApp.pm
    • emit full path to main XML template for <TemplateName> element
    • changed TemplateName to TemplatePath
  • DbUtils.pm
    • added random id generation for bookbagdb table. not using auto increment anymore. avoiding potential replication conflicts.
    • changed related to the upgrade of dbd::mysql. basically, stop throwing the utf8 switch on data coming out of mysql.
    • adding quoting of table names, though not exhaustively.
    • fixed a bug. optimizeTable would in some cases alter column to be varchar with not enough chars.
  • DlpsSession.pm
    • 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.
  • DlpsUtils.pm
    • Changed SoftASSERT so that it forwards the return value from ASSERT.
    • new feedback cgi code. generalized for use outside of just mdp.
    • remove duplicate code
    • Add RemoveXMLPi for Kwic processing
    • 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.
    • 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.
    • Implementation of session stored return login url. Ran into a problem with long URLs in IE, so had to do this.
    • Added sub CarryOverNeededAuthRetParams. (All other params were being dropped when processing a key_authret param, making Athens auth fail.)
    • no longer deleting key_authret from session once used, because in rare cases it is used again.
    • make no referring URL "Assertion Fail Report" not send email
  • ItemView.cfg
    • add note about pdfopt
    • add defaults for jpg as a image format source type
  • ItemView.pm
    • 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 ...
  • ItemViewApp.pm
    • Set defaultpageview if no view is set in ValidityChecks
    • fix path to cached image to include host when mode is remote
  • LibGlobals.cfg
    • new feedback cgi code. generalized for use outside of just mdp.
  • LibVersion.pm
    • $LibVersion::VERSION = 4.1201; $LibVersion::DLXS_CDROM = '14';
    • 14
  • ProcIns.pm
    • Allow string refs for handlers that are subroutines as has well as those that are object emthods
    • Removed StripPIPairContents etc. obsolete
    • add GetPIs
  • XPat.pm
    • m,,gs to get all the error messages back from xpat
  • XsltPIFiller.pm
    • url for Atom/Rss
    • changed TemplateName to TemplatePath
    • changed TemplateName to TemplatePath
    • removed setting of utf8flag for browse list data.
  • oaiGlobals.conf
    • new
  • stripdoctype.pl
    • regex will strip complicated DOCTYPE declarations
    • moved to $DLXSROOT/bin/f/findaid instead of ../lib since this is findaid specific
  • BookBag/BookBagIC.pm
    • added new method for checking ownership of bookbag
  • BookBagItem/BBItemTC.pm
    • Use maintitle, mainauthor, mainheader to add to bookbag
  • DLXSApp/FullTextApp.pm
    • added podBindings sub
    • 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"
  • DLXSClass/FullTextClass.pm
    • Removed line that was stripping out spaces in idno in RestrictBaseQuery. This was causing kwic view queries where the <eadid> contained a space to fail.
  • Stats/Config.pm
    • Explicitly specify the format of the config file.
    • Add method to return config file name.
  • Stats/DB.pm
    • Add method delete_expired_counter_requests()
    • Modify query to add a COUNTER job to use 99999 if institution is undefined.
  • Stats/MainPage.pm
    • State that COUNTER reports are available starting in May 2007.
    • Big rewrite to display aggregate stats rows. Also combined some code and got rid of the extra.
    • 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.
    • Add an additional message to COUNTER request feedback.
    • Correct name of DR1.
    • Don't provide DR1 yet - its not ready.
    • Show COUNTER section in form if user is logged in but IP address is unrecognized.
    • 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.
  • Stats/Resource.pm
    • Get 'public' attribute from config files to determine if a collection is public or not.
    • Allow upper- or lower-case for report types in config file.
  • Stats/Map/Auth.pm
    • Constructor now takes Stats::Config object.
  • Stats/Map/Titles/colldb.pm
    • 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.
  • Stats/Reports/COUNTER.pm
    • Include support for COUNTER Database Report 1.
  • Stats/Reports/COUNTER/BR1.pm
    • Clean up Database Report 1 a bit.
  • Stats/Reports/COUNTER/BR2.pm
    • Clean up Database Report 1 a bit.
  • Stats/Reports/COUNTER/BR5.pm
    • Clean up Database Report 1 a bit.
  • Stats/Reports/COUNTER/DR1.pm
    • Add module for COUNTER Database Report 1.
    • Clean up Database Report 1 a bit.
  • Stats/Reports/COUNTER/Report1.pm through Stats/Reports/COUNTER/Report5.pm
    • Pass Stats::Config object to COUNTER creation methods rather than creating other Stats::Config files within these methods.
    • Now must pass Stats::Config object to Stats::Map::Auth constructor.
    • 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.
    • Clean up Database Report 1 a bit.
  • Stats/Reports/COUNTER/ReportTools.pm
    • Die if location of COUNTER reports cannot be obtained from the config file.
    • Pass Stats::Config object to COUNTER creation methods rather than creating other Stats::Config files within these methods.
    • Include support for COUNTER Database Report 1.
  • Stats/Reports/Custom/Excel.pm
    • Big rewrite to include aggregate stats rows and use the same struct that is created for HTML reports.
    • Get rid of 'aggregate_only' concept.
  • Stats/Reports/Custom/Tools.pm
    • Remove file - no longer needed
  • Stats/Tools/AuthTools.pm
    • Just added comment.
    • Now all users are allowed, but if they are not recognized then they can only see aggregate stats for public collections.
  • Stats/Tools/DateTools.pm
    • Fix bug in day() method that returns the current day of the month (it was erroneously adding 1).
  • Stats/Tools/ResourceTools.pm
    • Big modification to allow unrecognized users to see public collections (aggregate stats only).
    • 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).
    • When doing regular expression with coll IDs, use /^..$/ to get the exact coll ID.
    • Get rid of 'aggregate_only' concept. Return an array of all coll ids for which the user is an admin.
  • Stats/XML/BuildXML.pm
    • This is now used for the Excel custom reports as well as the HTML reports. Now includes aggregate stats rows.
    • Get rid of 'aggregate_only' concept.
    • utf-8 encode collection name before passing to LibXML method.
    • Fix use of utf8::upgrade for collection name
    • 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.
  • upgrade_6_7
    • Initial
  • upgrade_6_7.cfg
    • Initial
    • add nameresolver, oai, oaisets table creation
  • BrowseUpdate.pm
    • Insertion is now skipped if browse field has no value. Also, field value counts are tallied and reported.
  • browseutils.cfg
    • added "an"
  • ub
    • more input checking
  • updatebrowsedb.pl
    • Insertion is now skipped if browse field has no value. Also, field value counts are tallied and reported.
    • more input checking
  • BrowseUpdate/ImageMysqlBU.pm
    • Added a comment about browse_split.
    • commented out a debug statement.
  • main.cfg
    • remove misc/db CSV related opertations
    • remove replace( "$DLXSROOT/bin/i/image/html2tab.pl", qq{\#!/l/local/bin/perl}, $perlhashbang );
    • remove replace( "$DLXSROOT/bin/i/image/tab2html.pl", qq{\#!/l/local/bin/perl}, $perlhashbang );
    • restore Text::CSV_XS
    • remove ["Net::hostent", 1.01] it is part of Perl
    • update Text::CSV_XS should be 0.23
    • Removed all references to outdated validate.pl script Changed references for samplefa.*inp files to new file names samplefa.ead2002.dcl and samplef.concat.ead.dcl
    • fixed move of fixdoctype.pl from s/samplefa to f/findaid
    • remove replace( "$DLXSROOT/bin/f/findaid/isolat128bit.pl", qq{\#!/l/local/bin/perl}, $perlhashbang );
    • removed sampletc obsolete (now just sampletc_utf8)
    • add setup_newcoll for findaidclass
    • Added section for findaid demofa collection
    • ["XML::LibXSLT", 1.63], ["XML::LibXML", 1.65], from ["XML::LibXSLT", 1.58], ["XML::LibXML", 1.58],
    • sru, broker20 optional, broker20 deprecated
  • dlxsglobals.xml
    • url for Atom/Rss
    • changed TemplateName to TemplatePath
    • changed TemplateName to TemplatePath
    • mtag changes
  • feedback.xsl
    • new feedback cgi code. generalized for use outside of just mdp.
    • these files were moved to web/i/image.
  • transform.xml
    • add <xsl:strip-space/>
    • <xsl:strip-space elements="*"/>
  • transform_xhtml.xml
    • add <xsl:strip-space/>
    • <xsl:strip-space elements="*"/>
  • transform_xml.xml
    • add <xsl:strip-space/>
    • <xsl:strip-space elements="*"/>
  • xsl2htmlutils.xsl
    • 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.' <xsl:when test="contains(Label,'.') and key('get-lookup',Label)"> <xsl:when test="contains(Label,'.')"> use 'selected' for valid xhtml <xsl:attribute name="selected">selected</xsl:attribute> <xsl:attribute name="selected">true</xsl:attribute>
  • css/feedback.css
    • new feedback cgi code. generalized for use outside of just mdp.
    • these files were moved to web/i/image.
  • js/feedback.js
    • new feedback cgi code. generalized for use outside of just mdp.
    • these files were moved to web/i/image.

TextClass

XML template and XSL stylesheet changes to web/t/text

  • browse.xml
    • added browseextra.xsl inc
  • clipviewer.xml
    • added some xsl incl
  • header.xsl
    • added code to allow for print on demand links to amazon.com from podPermittedItems
  • htmlhead.xsl
    • emit full path to main XML template for <TemplateName> element
    • changed TemplateName to TemplatePath
    • If we're viewing a single item, put its title in the HTML head.
    • Same as above, but also for view=trgt and page=root.
  • langmap.en.xml
    • add feature PRF (Preface) to langmaps
  • langmap.fr.xml
    • add feature PRF (Preface) to langmaps
  • pageviewerheader.xsl
    • Stub template for ProcessSerialarticle.
  • results.xsl
    • No more STATUS="hidden".
  • resultsheader.xsl
    • BIBLSCOPE filtering: made like tocheader.xsl (no comma before issuetitle).
    • <xsl:value-of select="$pubinfo"/> --> <xsl:copy-of select="$pubinfo"/> to write child nodes (e.g. <div>) to the HTML.
    • No comma after <div>[issuetitle]</div> for serialissue.
    • minor change to fix missing name search bug
  • scopedivs.xsl
    • TYPE="hidden" allows selective non-display of DIVn (and all descendents) in TOC. (Note distinction from mis-named STATUS="hidden".)
    • STATUS="hidden" now actually hides the DIV. No more TYPE="hidden".
  • text.components.xsl
    • FilterNumberedNotesWithParams: wrap paragraphs after the first in <p>.
    • LG template calls template name="addRend".
    • In <xsl:template match="P">, don't normalize value of @ID.
    • More robust filtering for filterNoteWithParas.
    • Handle CELL/@ROWSPAN.
    • In <xsl:template match="REF">, removed special case for PARENT::ITEM which appeared to be abandoned code.
    • 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.
    • OBJECT wrapper around PB text breaks in Safari; better to use span with display: block.
    • Add anchors to ITEMs which have IDs.
    • Create anchors for ID'd Ps in filterNumberedNoteWithParas.
    • In filterNumberedNoteWithParas, check whether we're in NOTE2 (in addition to NOTE1).
    • 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. <td class="xmltd-rend-center">.
    • L: pass forward all @RENDs, nit just ones that start with "line".
  • textclass.css
    • Added rend-plain.
    • Added rend-isub.
    • Added .rend-rightjustify.
    • Changed .pbtext.
    • List style .nomarker.
    • Add margin-bottom to div.lg and the like.
    • rend-aligntop.
  • tocheader.xsl
    • BIBLSCOPE filtering.
  • viewer.utils.xsl
    • minor change to fix missing name search bug
  • viewtextnote.xsl
    • remove crash your browser
    • OCR quality


Middleware Changes

bin/t/text

  • CER.pm
    • added dagger2 &#x2021; labr 〈 long &#xAF; rabr 〉 short ˘
  • dtdalyzer.pl
    • Added ROWSPAN attribute.
    • Added DOC attr.
  • utf8chars
    • fix error checking and display data


cgi/t/text

  • CVApp.pm
    • added pgseq to cache filename and change default view to pdf
  • DlpsLocalUtils.pm
    • Refactored LocalIdResolver(), moving substantial code into CreatePicklist().
    • 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.
  • TextAppXsltPIFiller.pm
    • print on demand links to amazon.com added
  • TextClass.pm
    • Add RemoveXMLPi for Kwic processing
    • Filter_REFsForText: treat <REF TYPE="txt"> same as <REF TYPE="ptr">.
    • GetDateParsePattern: optional hyphens between year-month-day parts of a sortdate.
    • Output FirstPageHref for layer2 serialissue results.
    • minor change to fix missing name search bug - close div at end of div1headbib
    • another change to fix missing NODE param in search error
  • textclass.cfg
    • added config to allow POD db lookups
  • ClipView/mdailyCV.pm
    • new

ImageClass

CGI/Middleware

Known Problems


Speed/Performance Enhancements

Other

Data Preparation

Speed/Performance Enhancements

Other

BibClass

cgi/b/bib

  • BibApp.pm
    • added size as a common param
    • add size to SID if we have one
  • BibClassPerlFilters.pm
    • BibClassPerlFilters::CollsFilter had a minor bug in the sql query used to select the collection name from the Collection table causing it to not always select the right row because it wasn't consdering the value of the DLPS_DEV environment variable. It now correctly selects the production, release, or user row.
  • BibClassUtils.pm
    • change openurl sub to be 1.0
    • change wording on openurl link
    • added support for icon in openurl links
  • bibclass.cfg
    • change openurl server

Oai

broker20

  • No changes.


Collmgr

  • Supports version 7.0 database for DLXS release14.

FindaidClass

XML template and XSL stylesheet changes

CGI/Middleware

XClass

  • No changes.

METS Pageturner and Collection Builder

  • Continuing development work in Pageturner. New application: Collection Builder allowing 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 DLXSROOT/{web,bin,cgi}/m/mdp and DLXSROOT/lib/App. 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 Interface (YUI) functionality.

Top

Personal tools