Release Notes for Current DLXS Release

From DLXS Documentation

(Difference between revisions)
Jump to: navigation, search
(IdResolver)
(IdResolver)
Line 1,109: Line 1,109:
<UL><li>CGI script that returns a URL (marked up in XML) for an ID</li></UL>
<UL><li>CGI script that returns a URL (marked up in XML) for an ID</li></UL>
<LI>idresolver-nr</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</li></UL>
+
<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>
<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>
<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>

Revision as of 10:43, 19 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.
  • 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

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

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

cgi/o/oai/

  • oai, oai.cfg, oai_conf.xml, sample_config.xml, UMProvider.pm
    • new -- new OAI data provider and accompanying scripts

bin/o/oai/

  • ConfirmPublicDomain.pl, loadOai.pl, mbooks_harvest_cron.pl, mbooks_update.pl, oai_conf.xml, OaiList.pl, OaiToDb.pl, RepositoryConfig.xml, revertOaiTbl.pl, updateMbooksOai.pl
    • new -- new OAI data provider and accompanying scripts

bin/o/oai/provider

  • 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
    • 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

bin/o/oai/provider/logs

  • This directory houses the logs generated by the scripts in bin/o/oai/provider

bin/o/oai/provider/reports-new-colls

  • This directory houses the reports generated by bin/o/oai/provider/GetNewCollections.pl

bin/o/oai/provider/reports-oai-update

  • This directory houses the reports generated by bin/o/oai/provider/GenerateReport.pl

bin/o/oaister/

  • RepositorySets.cfg
    • new -- contains baseURLs, MODS info and OAITransFixer.pm subscripts
  • oaitransform/CollsObj.cfg
    • new -- config for CollsObj.pm
  • oaitransform/CollsObj.pm
    • new -- used for FMPro connection for OAIster
  • oaitransform/DataConditioning.pm
    • Get rid of any remaining stray sp0t tags
  • oaitransform/MODSTransform
    • Fix bug where MODS record was not ignored for re-exposure if no URL in record
    • Changed the tree removing metadata from the re-exposed XML, changed the language code mapping, added setSpec to about container
    • 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
    • new -- perl subscripts for fixing harvested data
  • oaitransform/OAITransform
    • Make tmp utf8 conditioning file unique
    • Added flag to skip DTD validation change, the PostXslt process to be after each small file, not the final large one
    • Added code to regenerate the perl config files from the XML config files each time this is run
    • Comment out LoadRepositoryLookTable() and changed SetCurrentArchive() to use XML config value
    • Fixed x option print message
    • Do not assume the input XML is utf8 when we open it
    • Move removing attribute to after data conditioning
    • Patch to fix latin1 regex problem
    • Unescape hex and dec entity refs
    • Change HTML remove reporting
    • Added fixer call and other minor changes
    • Fix @INC
    • Skip deleted records
    • 0 if no skipped or deleted records
    • Add skipped and deleted to repo count
    • Moved around reporting msg
    • Get the return from PreprocessXML bug fix
    • Added more XML cleanup
    • Semi opt for hex and dec ent refs
    • Added CollsDB
    • Always set in_progress in DB
  • oaitransform/browse.tpl
    • new -- template for building OAIster browse pages
  • oaitransform/manageCollsDb.pl
    • new -- CGI script for managing FMPro DB for oaister
  • oaitransform/mods-bibclass.xsl
    • Added copyrightDate YR
    • urls in own URL tags
    • Change to pick up URLs in identifier type=uri
  • oaitransform/mods_repositoryNames.pl
    • Fixed amp;
  • oaitransform/oai-bibclass3.xsl
    • Added tests for empty elements
  • oaitransform/repositoryNames.pl
    • Add &amp; fix
    • Fix amp;
  • scripts/Batch_UMHarvest
    • Add skip HTML flag for transform
    • Allow -x for transform
    • Added -a for incremental batch harvesting
  • scripts/ListRecords
    • Message added to die call
    • Added copyright
    • Error code checking
    • Support multiple sets
    • Change log message
    • Do not exit on OAI error
    • Fixed log reporting
    • Back out multiple sets option
    • Make list of dirs, not files, to check for replacement records -- speed up incremental
  • scripts/UMHarvester
    • Changed to use the XML config file; requires XML::LibXML now
    • Added wait flag
    • Support multiple sets harvests
    • Ignore log messages about sets
    • Change back date matching for sets
    • Back out multiple sets option
    • Check for sets cfg before trying to parse it, only loop on sets for list records
    • ID bug fix
  • scripts/browse_check.pl
    • new -- checking FMPro repositories against browse pages
  • scripts/id_check.pl
    • new -- checking FMPro repositories against incremental batch harvest
  • scripts/rc_check.pl
    • new -- checking FMPro repositories against RepositoryConfig.cfg
  • scripts/restoreHarvestedData.pl
    • new -- restores backup copy of repository dir
  • scripts/startIndex.pl
    • new -- runs xpat and multirgn on xml obj files

IdResolver

cgi/i/idresolver/

  • idresolver
    • CGI script that returns a URL (marked up in XML) for an ID
  • idresolver-nr
    • 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
  • idresolver-srch
    • new-- CGI script that takes a text file of ids (one per line) and checks to see if they exist in the nameresolver database
  • IDResolver.pm
    • Perl module that is used by each of the cgi scripts

bin/i/idresolver/

  • cvstag.idresolver, rdist.class

bin/n/nameresolver/

  • IdParser.pl
    • new -- script used to populate the nameresolver database
  • LoadLLMCIds.pl
    • new -- this is a sample script of how you can use a .csv file to populate the nameresolver database
  • CreateTable.pl, NRTable.sql
    • new -- scripts for creating nameresolver table in database (which is already included in the release)
  • new -- other sample files: DeepBlueShortIds.txt, getUpdatedNRfiles, InsertCrosscIssues.pl, N2TestExecution.txt, NRDevVsProdComparison.xls, README.txt, RemoveDeepBlueConflicts.pl, statusLoadingNRinProd.txt, TestIdParser.pl
    • These files were used for DLPS collections and are provided only as additional resources. They are not necessary to the Idresolver/nameresolver configuration

broker20

  • No changes.

Collmgr

  • Supports version 7.0 database for DLXS release14.
  • default browse page for Text and Findaid Class now set from first item in Browsefields list

FindaidClass

Findaid Class Summary

Prep scripts

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

$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:

 $DLXSROOT/bin/f/findaid/setup_newcoll -c workshopfa  -s $DLXSROOT/prep/s/samplefa/data 

More information on the setup_newcoll script can be found by clicking here or invoking the man page:

$DLXSROOT/bin/f/findaid/setup_newcoll --man

New options for preparedocs.pl

The $DLXSROOT/bin/s/samplefa/preparedocs.pl script now takes several new arguments.

  ./preparedocs.pl --man   will give details

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.

Changes to Makefile

Addition of these new targets:

prepdocslist
Same as prepdocs but uses the -i inputfilelist to preparedocs.pl and by default reads a file $DLXSROOT/prep/c/collection/list_of_eads.
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

$DLXSROOT/bin/s/samplefa
Moved generic bin files to f/findaid
Makefile modified
preparedocs.pl has new options
$DLXSROOT/prep/s/samplefa
Renamed files
	samplefa.text.inp  to samplefa.ead2002.dcl
	samplefa.xml.inp to samplefa.concat.ead.dcl
Removed:
	samplefa.inp
Added:
   list_of_eads
$DLXSROOT/bin/f/findaid
Removed:
	catsourcefiles.pl	
	isolat128bit.pl
	validate.pl
Added/moved from bin/s/samplefa
	fixdoctype.pl		
	stripdoctype.pl
	validateeach.sh
        setup_newcoll

XML template and XSL stylesheet changes

web/f/findaid

  • bookbagitemsstring_debug.xsl
    • For debugging in oxygen since the Oxygen debugger uses Saxon and Saxon doesn't understand the extensions
  • browse.xsl
    • Added code for subject browse
  • browseheader.xsl
    • bulk dates labelled
  • htmlhead.xsl
    • emit full path to main XML template for <TemplateName> element
    • changed TemplateName to TemplatePath
  • text.components.xsl
    • Modified template for processing c0x's so that if there are two containers within a //c0x/did/ such as box/folder they will both show up in the proper column.
    • Highlighting fix. Replaced about 36 instances of <xsl:value-of select="."/> with <xsl:apply-templates select="*|text()"/> If value-of select gets highlighted text in the context node: "text<HIGHLIGHT>text</HIGHLIGHT>text text" it will ignore the <HIGHLIGHT> elemnts and just render all the text. On the other hand the apply-templates "*" will match the <HIGHLIGHT> element and trigger the appropriate highlighting template and the text() nodes will get passed to the template that just outputs the text

    • 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
    • Changed code for handling notes/scopeconent in match=C01|c02... now both did/note and note and did/scopecontent and scopecontent will be rendered
    • fixed bug in template match="list" where there was a foreach and then value-of select *|text() that needed to be value-of select="."
    • space before unitdate value
    • title styling
    • optional labels for additional descriptive material
    • hide sorting title
    • sponsor
    • Restored ADD to full-text view
    • abstracts in dids
    • Change template for index mode= add so it doesn't produce 2 copies of any <head> text. Key is to limit the apply templates after we already processed the head not to process the head again: <xsl:apply-templates select="*[not(self::head)]"/>

bin/f/findaid

  • 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

CGI/Middleware

cgi/f/findaid

  • FindaidApp.pm
    • remove FormatGuideFrame() obsolete since the change to XML/XSL
  • FindaidAppXsltPIFiller.pm
    • Removed FormatOutlineResult_XML and FormatOutlineFrame_XML as they are not called by any code (or bound to any PIs).
  • FindaidClass.pm
    • highlight hits in layer 1 result items
    • Added highlighting to BuildItemTitle_XML so highlighting will show up in title
    • Fixed bug in FilterAllDaos_XML that would not properly process daos with real hrefs and would result in illegal xml being output when id resolver is turned on.
  • FindaidClass/ClementsmssFC.pm
    • removes "viewtextnote" speedbump
  • FindaidClass/DemofaFC.pm
    • Demo of subclassing
    • add relatedmaterial and separated material TOC heads
    • use <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 <head> tags for bioghist instead of bentley logic

XClass

  • No changes.

METS Pageturner and Collection Builder

  • 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 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 Interfacen toolkit (YUI) functionality.

SRU

  • Added fielded searching to query -- not yet Level 1 or 2, though

Top

Personal tools