|
|
(14 intermediate revisions not shown.) |
Line 5: |
Line 5: |
| | | |
| Workshop materials are located at http://www.dlxs.org/training/workshop200707/findaidclass/fcoutline.html | | Workshop materials are located at http://www.dlxs.org/training/workshop200707/findaidclass/fcoutline.html |
- | | |
| | | |
| ==Overview== | | ==Overview== |
| + | The Finding Aids Class is in many ways similar in behavior to Text Class. Access minimally includes full text searching across collections or within a particular collection of Finding Aids, viewing Finding Aids in a variety of display formats, and creation of personal collections ("bookbag") of Finding Aids. |
| + | |
| To mount a Finding Aids Collection, you will need to complete the following steps: | | To mount a Finding Aids Collection, you will need to complete the following steps: |
- | # [[#Preparing_Data_and_Directories | Prepare your data and set up a directory structure]] | |
- | # [[#Validating_and_Normalizing_Your_Data| Validate and normalize your data]] | |
- | # [[#Building_the_Index |Build the Index]] | |
- | # [[#Mounting_the_Collection_Online |Mount the collection online]] | |
| | | |
| + | # [[Preparing_Data and Directories|Prepare your data and set up a directory structure]] |
| + | # [[Finding_Aids_Data_Preparation#Validating_and_Normalizing_Your_Data| Validate and normalize your data]] |
| + | # [[Building the Index |Build the Index]] |
| + | # [[Mounting the Collection Online|Mount the collection online]] |
| + | |
| + | ===[[Findaid Class Behaviors Overview]]=== |
| | | |
- | ===Examples of Findaid Class implementations and practices===
| + | This section describes the basic Findaid Class behaviors. |
| | | |
- | This section contains links to public implementations of DLXS Findaid Class as well as documentation on workflow and implementation issues. If you are a member of DLXS and have a collection or resource you would like to add, or wish to add more information about your collection, please edit this page.
| + | ===Examples of Findaid Class Implementations and Practices=== |
| | | |
- | ;[http://bentley.umich.edu/EAD/index.html University of Michigan, Bentley Historical Library Finding Aids] | + | This section contains links to public implementations of DLXS Findaid Class as well as documentation on workflow and implementation issues. If you are a member of DLXS and have a collection or resource you would like to add, or wish to add more information about your collection, please edit this section. |
| + | |
| + | ;[http://bentley.umich.edu/EAD/index.php University of Michigan, Bentley Historical Library Finding Aids] |
| : Out-of-the-box DLXS 13 implementation. | | : Out-of-the-box DLXS 13 implementation. |
- | ;[http://bentley.umich.edu/EAD/eadproj.htm Overview of Bentley's workflow process for Finding Aids ] | + | ;[http://bentley.umich.edu/EAD/eadproject.php Overview of Bentley's workflow process for Finding Aids ] |
| :See also the links in [[#Practical_EAD_Encoding_Issues | Practical EAD Encoding Issues]] for background on the Bentley EAD workflow and encoding practices | | :See also the links in [[#Practical_EAD_Encoding_Issues | Practical EAD Encoding Issues]] for background on the Bentley EAD workflow and encoding practices |
| | | |
Line 46: |
Line 51: |
| ;[http://archives.getty.edu:8082/cgi/f/findaid/findaid-idx?cc=iastaff;c=iastaff;tpl=browse.tpl J. Paul Getty Trust Institutional Archives Finding Aids] | | ;[http://archives.getty.edu:8082/cgi/f/findaid/findaid-idx?cc=iastaff;c=iastaff;tpl=browse.tpl J. Paul Getty Trust Institutional Archives Finding Aids] |
| :Heavily customized DLXS11a. | | :Heavily customized DLXS11a. |
- | | |
- | ===Overview of Data Preparation and Indexing Steps=== | |
- | | |
- | '''Data Preparation''' | |
- | | |
- | # [[#dataprep_step1|Validate the files individually]] against the EAD ''2002'' DTD<br />'''make validateeach'''<br /> | |
- | # [[#dataprep_step2|Concatenate the files into one larger XML file]]<br />'''make prepdocs'''<br /> | |
- | # [[#dataprep_step3| Validate the concatenated file against the ''dlxsead2002'' DTD]]:<br />'''make validate'''<br /> | |
- | # [[#dataprep_step4| Normalize the concatenated file.]]<br />'''make norm'''<br /> | |
- | # [[#dataprep_step5| Validate the normalized concatenated file against the ''dlxsead2002'' DTD]]<br />'''make validate'''<br /> | |
- | | |
- | The end result of these steps is a file containing the concatenated EADs wrapped in a <COLL> element which validates against the dlxsead2002 and is ready for indexing: | |
- | | |
- | <COLL><br /><ead><eadheader><eadid>1</eadid>...</eadheader>... content</ead><br /><ead><eadheader><eadid>2</eadid>...</eadheader>... content</ead><br /><ead><eadheader><eadid>3</eadid>...</eadheader>... content</ead><br /></COLL> | |
- | | |
- | | |
- | '''WARNING!''' If there are extra characters or some other problem with the part of the program that strips out the xml declaration and the doctype declaration the file will end up like: | |
- | | |
- | | |
- | <COLL><br />baddata<ead><eadheader><eadid>1</eadid>...</eadheader>... content</ead><br />baddata<ead><eadheader><eadid>2</eadid>...</eadheader>... content</ead><br />baddata<ead><eadheader><eadid>3</eadid>...</eadheader>... content</ead><br /></COLL> | |
- | | |
- | In this case you will get "character data not allowed" or similar errors during the make validate step. You can troubleshoot by looking at the concatenated file and/or checking your original EADs. | |
- | | |
- | '''Indexing''' | |
- | | |
- | # '''make singledd''' indexes words for texts that have been concatenated into on large file for a collection. | |
- | # '''make xml''' indexes the XML structure by reading the DTD. Validates as it indexes. | |
- | # '''make post''' builds and indexes fabricated regions based on the XPAT queries stored in the workshopfa.extra.srch file. | |
| | | |
| ==[[Working with the EAD]]== | | ==[[Working with the EAD]]== |
| | | |
- | | + | ==[[Preparing Data and Directories]]== |
- | ==[[Findaid Class Behaviors Overview]]== | + | |
- | ==Preparing Data and Directories==
| + | |
- | | + | |
- | | + | |
- | ===Set Up Directories and Files for Data Preparation===
| + | |
- | | + | |
- | | + | |
- | You will need to set up a directory structure where you plan to store your EAD2002 XML source files, your object files (used by xpat for indexing), index files (including region index files)and other information such as data dictionaries, and files you use to prepare your data.
| + | |
- | | + | |
- | The convention used by DLXS is to use subdirectories named with the first letter of the collection id and the collection name:$DLXSROOT/xxx/{c}/{coll}/ where $DLXSROOT is the "tree" where you install all DLXS components, {c} is the first letter of the name of the collection you are indexing, and {coll} is the collection ID of the collection you are indexing. For example, if your collection ID is "bhlead" and your DLXSROOT is "/l1", you will place the Makefile in /l1/bin/b/bhlead/ , e.g., /l1/bin/b/bhlead/Makefile. See the [[Directory Structure |DLPS Directory Conventions]] section and [http://www.dlxs.org/training/workshop200707/overview/dirstructure.html Workshop discussion of Directory Conventions]for more information.
| + | |
- | | + | |
- | When deciding on your collection id consider that it needs to be unique across all classes to enable cross-collection searching. So you don't want both a text class collection with a collid of "my_coll" and a finding aid class collection with a collection id of "my_coll". You will also probably want to make your collection ids rather short and make sure they don't contain any special characters, since they will also be used for sub-directory names.
| + | |
- | | + | |
- | Note that the Makefile we provide along with most of the data preparation scripts supplied with DLXS assume this directory structure.
| + | |
- | | + | |
- | We recommend you use the following directory structure:
| + | |
- | * Store specialized scripts for preparing and/or preprocessing your collection and its Makefile in $DLXSROOT/bin/{c}/{coll}/ where $DLXSROOT is the "tree" where you install all DLXS components, {c} is the first letter of the name of the collection you are indexing, and {coll} is the collection ID of the collection you are indexing. For example, if your collection ID is "bhlead" and your DLXSROOT is "/l1", you will place the Makefile in /l1/bin/b/bhlead/ , e.g., /l1/bin/b/bhlead/Makefile. See the DLPS Directory Conventions section for more information.
| + | |
- | * Store your source finding aids in $DLXSROOT/prep/{c}/{coll}/data/.
| + | |
- | | + | |
- | * Store any DTDs, doctype, and files for preparing your data in $DLXSROOT/prep/{c}/{coll}/. Unlike the contents of other directories, everything in prep should be expendable when actually running the indexes.
| + | |
- | * After running all the targets in the Makefile, the finalized, concatenated XML file for your finding aids collection will be created in $DLXSROOT/obj/{c}/{coll}/ , e.g., /l1/obj/b/bhlead/bhlead.xml.
| + | |
- | * Store index, region, data dictionary, and init files in $DLXSROOT/idx/{c}/{coll}/ , e.g., /l1/idx/b/bhlead/bhlead.idx. These will be updated as the index related targets in the Makefile are run. See the XPAT documentation for more on these types of files.
| + | |
- | | + | |
- | ====Fixing paths====
| + | |
- | The installation script should have changed all instances of /l1/ to your $DLXSROOT and all bang prompts "#!/l/local/bin/perl" to your location of perl. However, you may wish to check the following scripts:
| + | |
- | | + | |
- | * $DLXSROOT/bin/f/findaid/output.dd.frag.pl
| + | |
- | * $DLXSROOT/bin/f/findaid/inc.extra.dd.pl
| + | |
- | * $DLXSROOT/bin/s/samplefa/preparedocs.pl
| + | |
- | | + | |
- | If you use the Makefile in $DLXSROOT/bin/s/samplefa you should check that the paths in the Makefile are correct for the locations of xpat, oxs, and osgmlnorm as installed on your system. These are the Make varibles that should be checked:
| + | |
- | * XPATBINDIR
| + | |
- | * OSX
| + | |
- | * OSGMLNORM
| + | |
- | | + | |
- | | + | |
- | ====Step by step instructions for setting up Directories for Data Preparation====
| + | |
- | | + | |
- | | + | |
- | You can use the scripts and files from the sample finding aids collection "samplefa" as a basis for creating a new collection. In the instructions that follow you would use /{c}/{coll} instead of /w/workshopfa where {c} is the first letter of your collection id and {coll} is your collection id. So for example if your collection id was mycoll instead of
| + | |
- | | + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.extra.srch $DLXSROOT/prep/w/workshopfa/workshopfa.extra.srch
| + | |
- | | + | |
- | you would do
| + | |
- | | + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.extra.srch $DLXSROOT/prep/m/mycoll/mycoll.extra.srch
| + | |
- | | + | |
- | | + | |
- | This documentation will make use of the concept of the $DLXSROOT, which is the place at which your DLXS directory structure starts. We generally use /l1/.
| + | |
- | | + | |
- | To check your <span class="unixcommand">$DLXSROOT</span>, type the following command at the command prompt:
| + | |
- | | + | |
- | echo $DLXSROOT
| + | |
- | | + | |
- | The <span class="unixcommand">prep</span> directory under <span class="unixcommand">$DLXSROOT</span> is the space for you to take your encoded finding aids and "package them up" for use with the DLXS middleware. Create your basic directory <span class="unixcommand">$DLXSROOT/prep/w/workshopfa</span> and its <span class="unixcommand">data</span> subdirectory with the following command:
| + | |
- | | + | |
- | mkdir -p $DLXSROOT/prep/w/workshopfa/data
| + | |
- | | + | |
- | Move into the <span class="unixcommand">prep</span> directory with the following command:
| + | |
- | | + | |
- | cd $DLXSROOT/prep/w/workshopfa
| + | |
- | | + | |
- | This will be your staging area for all the things you will be doing to your EADs, and ultimately to your collection. At present, all it contains is the <span class="unixcommand">data</span> subdirectory you created a moment ago. Unlike the contents of other collection-specific directories, everything in <span class="unixcommand">prep</span> should be ultimately expendable in the production environment.
| + | |
- | | + | |
- | Copy the necessary files into your <span class="unixcommand">data</span> directory with the following commands:
| + | |
- | | + | |
- | cp $DLXSROOT/prep/s/samplefa/data/*.xml $DLXSROOT/prep/w/workshopfa/data/.
| + | |
- | | + | |
- | We'll also need a few files to get us started working. They will need to be copied over as well, and also have paths adapted and collection identifiers changed. Follow these commands:
| + | |
- | | + | |
- |
| + | |
- | cp $DLXSROOT/prep/s/samplefa/validateeach.csh $DLXSROOT/prep/w/workshopfa/.
| + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.xml.inp $DLXSROOT/prep/w/workshopfa/workshopfa.xml.inp
| + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.text.inp $DLXSROOT/prep/w/workshopfa/workshopfa.text.inp
| + | |
- | mkdir -p $DLXSROOT/obj/w/workshopfa
| + | |
- | mkdir -p $DLXSROOT/bin/w/workshopfa
| + | |
- | cp $DLXSROOT/bin/s/samplefa/preparedocs.pl $DLXSROOT/bin/w/workshopfa/.
| + | |
- | cp $DLXSROOT/bin/s/samplefa/Makefile $DLXSROOT/bin/w/workshopfa/Makefile
| + | |
- | | + | |
- | (If you have installed the Release 13 August 24th patch substitute [[patch prep commands|these]] instructions)
| + | |
- | | + | |
- | Now you'll need to edit these files to ensure that the paths match your <span class="unixcommand">$DLXSROOT</span> and that the collection name is ''workshopfa'' instead of ''samplefa''.
| + | |
- | | + | |
- | ''STOP!! Make sure you edit the files before going to the next steps!! ''
| + | |
- | | + | |
- | Make sure you change these files:
| + | |
- | | + | |
- | * $DLXSROOT/prep/w/workshopfa/validateeach.csh
| + | |
- | * $DLXSROOT/bin/w/workshopfa/Makefile (see below for details)
| + | |
- | | + | |
- | You can run this command to check to see if you forgot to change samplefa to workshopfa:
| + | |
- | | + | |
- | grep "samplefa" $DLXSROOT/bin/w/workshopfa/* $DLXSROOT/prep/w/workshopfa/* |grep -v "#"
| + | |
- | | + | |
- | With the ready-to-go ead2002 encoded finding aids files in the <span class="unixcommand">data</span> directory, we are ready to begin the preparation process. This will include:
| + | |
- | | + | |
- | # [[#dataprep_step1 | Validating the files individually against the EAD 2002 DTD]]
| + | |
- | # [[#dataprep_step2 | concatenating the files into one larger XML file]]
| + | |
- | # [[#dataprep_step3 | validating the concatenated file against the ''dlxsead2002'' DTD]]
| + | |
- | # [[#dataprep_step4 | "normalizing" the concatenated file.]]
| + | |
- | # [[#dataprep_step5 | validating the normalized concatenated file against the ''dlxsead2002'' DTD]]
| + | |
- | | + | |
- | These steps are generally handled via the <span class="unixcommand">Makefile</span> in <span class="unixcommand">$DLXSROOT/bin/s/samplefa</span> which we have copied to $DLXSROOT/bin/w/workshopfa. [[samplefa Makefile |Example Makefile]].
| + | |
- | | + | |
- | Make sure you changed your copy of the Makefile to reflect
| + | |
- | | + | |
- | /w/workshopfa instead of /s/samplefa. You will want to change lines 2 and 3 accordingly
| + | |
- | | + | |
- |
| + | |
- | 1
| + | |
- | 2 NAMEPREFIX = samplefa
| + | |
- | 3 FIRSTLETTERSUBDIR = s
| + | |
- | | + | |
- | Tip: Be sure not to add any space after the workshopfa or w. The Makefile ignores space immediately before and after the equals sign but treats all other space as part of the string. If you accidentally put a space after the FIRSTLETTERSUBDIR = s , you will get an error like "[validateeach] Error 127" If you look closely at the first line of what the Makefile reported to standard output (see below) you will see that instead of running the command:
| + | |
- | | + | |
- | /l1/workshop/tburtonw/dlxs/prep/w/workshopfa/validateeach.csh
| + | |
- | | + | |
- | which just calls the validateeach c-shell script
| + | |
- | | + | |
- | it tried to run a directory name: "/l1/workshop/tburtonw/dlxs/prep/w" with the argument "/workshopfa/validateeach.csh" which does not make sense
| + | |
- | | + | |
- | % make validateeach
| + | |
- | /l1/workshop/tburtonw/dlxs/prep/w /workshopfa/validateeach.csh
| + | |
- | make: execvp: /l1/workshop/tburtonw/dlxs/prep/w: Permission denied
| + | |
- | make: [validateeach] Error 127 (ignored)
| + | |
- | | + | |
- | Further note on editing the Makefile: If you modify or write your own Make targets, you need to make sure that a real "tab" starts each command line rather than spaces. The easiest way to check for these kinds of errors is to use "cat -vet Makefile" to show all spaces, tabs and newlines
| + | |
- | | + | |
- | You should make sure you thate $DLXSROOT, and the locations of the various binaries to have been changed to match your installation.
| + | |
- | | + | |
- | | + | |
- | * Change $DLXSROOT /l1/ to your $DLXSROOT on every line that uses it
| + | |
- | * Change XPATBINDIR = /l/local/bin/ to the location of the <span class="unixcommand">xpat</span> binary in your installation
| + | |
- | * Change the location of the <span class="unixcommand">osx</span> binary from
| + | |
- | OSX = /l/local/bin/osx
| + | |
- | to the location in your installation
| + | |
- | * Change the location of the <span class="unixcommand">osgmlnorm</span> binary from
| + | |
- | OSGMLNORM = /l/local/bin/osgmlnorm
| + | |
- | to the location in your installation
| + | |
- | | + | |
- | Tip: oxs and osgmlnorm are installed as part of the OpenSP package. If you are using linux, make sure that the OpenSP package for your version of linux is installed and make sure the paths above are changed to match your installation. If you are using Solaris you will have to install (and possibly compile) OpenSP. You may also need to make sure the $LD_LIBRARY_PATH environment variable is set so that the OpenSP programs can find the required libraries. For troubleshooting such problems the unix '''ldd''' utility is invaluble. See also links to OpenSP package on the tools page: [[Useful Tools]]
| + | |
- | | + | |
- | ----
| + | |
- | | + | |
- | === Set Up Directories and Files for XPAT Indexing ===
| + | |
- | | + | |
- | Please substitute /{c}/{coll} where {c} is the first letter of your collection id
| + | |
- | and {coll}is your collection id for any instance of /w/workshopfa
| + | |
- | and substitute {coll} wherever you see "workshopfa" in the following instructions.
| + | |
- | | + | |
- | First, we need to create the rest of the directories in the '''workshopfa''' environment with the following commands:
| + | |
- | | + | |
- | mkdir -p $DLXSROOT/idx/w/workshopfa
| + | |
- | | + | |
- | The <span class="unixcommand">bin</span> directory we created when we prepared directories for data preparation holds any scripts or tools used for the collection specifically; <span class="unixcommand">obj</span> ( created earlier) holds the "object" or XML file for the collection, and <span class="unixcommand">idx</span> holds the XPAT indexes. Now we need to finish populating the directories.
| + | |
- | | + | |
- | <pre>
| + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.blank.dd DLXSROOT/prep/w/workshopfa/workshopfa.blank.dd
| + | |
- | cp $DLXSROOT/prep/s/samplefa/samplefa.extra.srch $DLXSROOT/prep/w/workshopfa/workshopfa.extra.srch
| + | |
- | </pre>
| + | |
- | | + | |
- | | + | |
- | '''Each of these files need to be edited '''to reflect the new collection name and the paths to your particular directories. Failure to change even one file can result in puzzling errors, because the scripts ''are'' working, just not necessarily in the directories you are looking at.
| + | |
- | | + | |
- | grep -l "samplefa" <span class="unixcommand">$DLXSROOT/prep/w/workshopfa/</span><nowiki>*</nowiki>
| + | |
- | | + | |
- | will check for any leftover unchanged instances of the string /samplefa.
| + | |
- | You also need to check that "/l1/" has been replacedby whatever $DLXSROOT is on your server. If you don't have an /l1 directory on your server (which is very likely if you are not here using a DLPS machine) you can check with:
| + | |
- | | + | |
- | grep -l "l1" <span class="unixcommand">$DLXSROOT/prep/w/workshopfa/</span><nowiki>*</nowiki>
| + | |
| | | |
| ==[[Finding Aids Data Preparation]]== | | ==[[Finding Aids Data Preparation]]== |
- | | |
| | | |
| ==[[Building the Index]]== | | ==[[Building the Index]]== |
- | | |
| | | |
| ==[[Working with Fabricated Regions in Findaid Class]]== | | ==[[Working with Fabricated Regions in Findaid Class]]== |
| | | |
- | | + | ==[[Customizing Findaid Class]]== |
- | ==Customizing Findaid Class == | + | |
- | ===Working with the table of contents===
| + | |
- | | + | |
- | The table of contents on the left-hand side of the finding aid display is based on fabricated regions set up in *.extra.srch and configured either in a configuration file or in a subclass of FindaidClass.pm
| + | |
- | | + | |
- | If a subclass is not being used to override the FindaidClass::_initialize method, the configuration file will be used. It is:
| + | |
- | | + | |
- | $DLXSROOT/cgi/f/findaidclass/findaidclass.cfg
| + | |
- | | + | |
- | The configuration file sets up a hash called %gSectHeadsHash. The relevant section of the findaidclass.cfg file is:
| + | |
- | | + | |
- | # **********************************************************************
| + | |
- | # Hash of section heads that XPAT should search for. A reference to
| + | |
- | # this hash is added as member data keyed by 'tocheads' to the
| + | |
- | # FindaidClass object at initialization time. Comment out those that
| + | |
- | # are missing in your finding aids.
| + | |
- | # **********************************************************************
| + | |
- | %gSectHeadsHash = (
| + | |
- | 'bioghist-t' => {
| + | |
- | 'collection' => qq{Biography},
| + | |
- | 'recordgrp' => qq{History},
| + | |
- | },
| + | |
- | 'controlaccess-t' => qq{Subject Terms},
| + | |
- | 'frontmatter-t' => qq{Title Page},
| + | |
- | 'arrangement-t' => qq{Arrangement},
| + | |
- | 'scopecontent-t' => qq{Collection Scope and Content Note},
| + | |
- | 'summaryinfo-t' => qq{Summary Information},
| + | |
- | 'contentslist-t' => qq{Contents List},
| + | |
- | 'admininfo-t' => qq{Access and Use},
| + | |
- | 'add-t' => qq{Additional Descriptive Data},
| + | |
- | );
| + | |
- | | + | |
- | | + | |
- | The %gSectHeadsHash is normally loaded read from the configuration file and loaded into a hash called tocheads in the FindaidClass::_initialize method when the FindaidClass object is created. If you wish to change the table of contents on a collection-specific basis, you can override the FindaidClass::_initialize method in a collection-specific subclass.
| + | |
- | | + | |
- | For an example of using a subclass to override the default table of contents see:
| + | |
- | $DLXSROOT/cgi/f/findaid/FindaidClass/[[SamplefaFC.pm]]
| + | |
- | | + | |
- | | + | |
- | | + | |
- | Note that the default setting in the Collection Manager for the samplefa collection is to use this subclass:
| + | |
- | | + | |
- | [[Image:Samplefa collmgr subclass.png | image of CollMgr setting for subclass of Findaid Class]]
| + | |
- | | + | |
- | | + | |
- | | + | |
- | The diagram below shows the fabricated region and the corresponding EAD element tags for the out-of-the-box table of contents
| + | |
- | | + | |
- | [[Image:Tochead2.jpg]]
| + | |
- | | + | |
- | ====Changing the labels in the table of contents====
| + | |
- | If you want to change the labels for all of your Findaid Class collections, you can change the strings in the %gSectHeadsHash hash in $DLXSROOT/cgi/f/findaid/findaidclass.cfg. If you want to change the labels on a collection by collection basis, you will probably want to subclass and override the FindaidClass::_initialize method as is done in the sample file: $DLXSROOT/cgi/f/findaid/FindaidClass/[[SamplefaFC.pm]]
| + | |
- | | + | |
- | ====Adding sections to the table of contents ====
| + | |
- | | + | |
- | ====Changing the Bioghist labels to use the appropriate <head> elemements====
| + | |
| | | |
| ==[[Mounting the Collection Online]]== | | ==[[Mounting the Collection Online]]== |
| | | |
| + | ==[[Troubleshooting Finding Aids]]== |
| | | |
- | | + | ==[[Linking from Finding Aids Using ID Resolver]]== |
- | ==Troubleshooting== | + | |
- | | + | |
- | ===General Techniques===
| + | |
- | ===Common Problems and Solutions===
| + | |
- | | + | |
- | ====Title of Finding Aid does not show up====
| + | |
- | | + | |
- | This is usually caused by the <origination> preceding the <unittitle> in the top level <did> element of your EAD
| + | |
- | | + | |
- | In the *.extra.srch file
| + | |
- | | + | |
- | | + | |
- | comment out the following line:
| + | |
- | | + | |
- | ''(note that the region definitions are all on one line, but have been wrapped so they will be readable in the wiki)''
| + | |
- | | + | |
- | | + | |
- | ##
| + | |
- | ((region "<origination".."</unittitle>")
| + | |
- | within ((region did within region archdesc)
| + | |
- | not within region dsc));
| + | |
- | {exportfile "/l1/release/13/idx/s/samplefa/maintitle.rgn"};
| + | |
- | export; ~sync "maintitle";
| + | |
- | ##
| + | |
- | | + | |
- | copy the line but reverse the order of unittitle and origination
| + | |
- | | + | |
- | ##
| + | |
- | ((region "<unittitle".."</origination>")
| + | |
- | within ((region did within region archdesc)
| + | |
- | not within region dsc));
| + | |
- | {exportfile "/l1/release/13/idx/s/samplefa/maintitle.rgn"};
| + | |
- | export; ~sync "maintitle";
| + | |
- | ##
| + | |
- | | + | |
- | | + | |
- | | + | |
- | * make post errors
| + | |
- | ** x
| + | |
- | ** y
| + | |
- | | + | |
- | See also
| + | |
- | * [[#Customizing_Findaid_Class | Customizing Findaid Class]]
| + | |
- | * [[Working_with_Fabricated_Regions_in_Findaid_Class |Working with Fabricated Regions in Findaid Class ]]
| + | |
- | | + | |
- | ==Linking from Finding Aids Using ID Resolver==
| + | |
- | | + | |
- | How do you do this?
| + | |
- | | + | |
- | Findaid Class is coded so that if there is an href attribute to the <dao> element, it will check to see if it contains the string "http". If it does, FindaidClass will not us ID Resolver, but will create a link based on the content of the href attribute of the <dao>. If there is no "http" string in the href attribute, FindaidClass assumes that the href attribute is actully an id and will look up that id in in the idresolver and build a link if it finds the ID in the IDRESOLVER table. The method FilterAllDaos_XML in $DLXSROOT/cgi/f/findaid/FindaidClass.pm can be overridden per collection if different behavior is needed.
| + | |
- | | + | |
- | If you decide to use this feature, you will want to modify the preprocessing script preparedocs.pl which out-of-the-box inserts the string 'dao-bhl-' after the href. Below is an example of a Bentley <dao> where the id number is 91153-1.
| + | |
- | | + | |
- | <dao linktype="simple" href="91153-1" show="new" actuate="onrequest"><br /> <daodesc><br /> <p>[view selected images]</p><br /> </daodesc><br /> </dao>
| + | |
- | | + | |
- | The preparedocs.pl program would change this to:
| + | |
- | | + | |
- | <dao linktype="simple" href="dao-bhl-91153-1" show="new" actuate="onrequest"><br /> <daodesc><br /> <p>[view selected images]</p><br /> </daodesc><br /> </dao>
| + | |
- | | + | |
- | The ID resolver would look up the id "dao-bhl-91153-1" and replace it with the appropriate URL.
| + | |
- | | + | |
- | <font color="#0000A0">ID Resolver Data Transformation and Deployment</font>
| + | |
- | | + | |
- | The ID Resolver is a CGI that takes as input a unique identifier and returns a URI. It is used, for example, by Harper's Weekly to link the text pages in Text Class middleware to the image pages in the Image Class middleware, and vice versa.
| + | |
- | | + | |
- | Plug something like the following in to your web browser and you should get something back. If you choose to test middleware on a development machine that uses the id resolver, make sure that the middleware on that machine is calling the resolver on the machine with the data, and not the resolver on the production server.
| + | |
- | | + | |
- | * [http://clamato.umdl.umich.edu/cgi/i/idresolver/idresolver?id=dao-bhl-bl000684 http://clamato.hti.umich.edu/cgi/i/idresolver/idresolver?id=dao-bhl-bl000684]
| + | |
- | * which should yield...<br /><code>'''<ITEM MTIME="20030728142225"><ID>dao-bhl-bl000684 </ID><URI>http://images.umdl.umich.edu/cgi/i/image/image-idx?&q1=bl000684&rgn1=bhl_href&type=boolean&med=1&view=thumbnail&c=bhl </URI></ITEM>'''</code>
| + | |
- | | + | |
- | [http://www.dlxs.org/docs/13/ancil/idresolver.html Information on how to set up the ID resolver]
| + | |
- | | + | |
- | </blockquote>
| + | |
| | | |
| ==[http://www.dlxs.org/training/workshop200707/findaidclass/fcoutline.html Workshop Materials]== | | ==[http://www.dlxs.org/training/workshop200707/findaidclass/fcoutline.html Workshop Materials]== |
Line 398: |
Line 75: |
| | | |
| General user interface customizations, such as changing rendering style (CSS) or making changes to the XSL are covered in [[Customizing the User Interface]]. Specific user-interface issues related to Findaid Class are discussed in the following sections: | | General user interface customizations, such as changing rendering style (CSS) or making changes to the XSL are covered in [[Customizing the User Interface]]. Specific user-interface issues related to Findaid Class are discussed in the following sections: |
- | # [[#Customizing_Findaid_Class |Customizing Findaid Class]]
| + | * [[Customizing Findaid Class]] |
- | ## [[#Working_with_the_table_of_contents | Working with the table of contents]]
| + | ** [[Customizing Findaid Class#Working_with_the_table_of_contents |Working with the table of contents]] |
- | # [[#Working_with_Fabricated_Regions_in_Findaid_Class |Working with Fabricated Regions in Findaid Class]]
| + | * [[Working with Fabricated Regions in Findaid Class]] |
- | # [[#Common_Problems_and_Solutions |Common Problems and Solutions]]
| + | * [[Troubleshooting Finding Aids#Common_Problems_and_Solutions |Common Problems and Solutions]] |
- | ## [[#Title_of_Finding_Aid_does_not_show_up |Title of Finding Aid does not show up]]
| + | ** [[Troubleshooting Finding Aids#Title_of_Finding_Aid_does_not_show_up |Title of Finding Aid does not show up]] |
- | | + | |
- | | + | |
- | | + | |
| | | |
| ===[[Findaid Class Graphics Files]]=== | | ===[[Findaid Class Graphics Files]]=== |
Line 411: |
Line 85: |
| | | |
| ===[[Findaid Class Processing Instructions]]=== | | ===[[Findaid Class Processing Instructions]]=== |
- | We decided that we could not maintain a list of class specific processing instructions so this section should probably be cut.
| + | These are some current processing instructions for Finding Aids Class, but the DLXS group will not maintain this section. |
- | | + | |
- | | + | |
- | | + | |
| | | |
| [[#top|Top]] | | [[#top|Top]] |
This topic describes how to mount a Findaid Class collection.
The Finding Aids Class is in many ways similar in behavior to Text Class. Access minimally includes full text searching across collections or within a particular collection of Finding Aids, viewing Finding Aids in a variety of display formats, and creation of personal collections ("bookbag") of Finding Aids.
To mount a Finding Aids Collection, you will need to complete the following steps:
This section describes the basic Findaid Class behaviors.
This section contains links to public implementations of DLXS Findaid Class as well as documentation on workflow and implementation issues. If you are a member of DLXS and have a collection or resource you would like to add, or wish to add more information about your collection, please edit this section.
General user interface customizations, such as changing rendering style (CSS) or making changes to the XSL are covered in Customizing the User Interface. Specific user-interface issues related to Findaid Class are discussed in the following sections:
Are there findaid class specific graphics files? The existing html docs actually point to a ../t/text/ directory and it appears that the graphics are generic and not at all specific to findaid class.
These are some current processing instructions for Finding Aids Class, but the DLXS group will not maintain this section.