Most Content

From UA Libraries Digital Services Planning and Documentation
Revision as of 13:28, 25 May 2017 by Jlderidder (talk | contribs) (Overview/Checklist)


  • Make sure everything is properly prepared for upload (see Preparing Collections)
    • Move the metadata spreadsheet to S:\Administrative\Pipeline\collectionInfo\forMDlib\needsRemediation

(If new to this process, see Command-line_Work_on_Linux_Server)

  • Run makeFits script on server in scripts directory
    • This will take some time, probably hours
    • Check the corresponding ouput file located in the scripts output directory
    • If there are errors, run FixFits, in the same directory; else it will say "Everything looks fine."
  • Run holdContent, a script which
    • puts tiffs, FITS, OCR, and collection xml (if there) in hold4metadata directory on server
    • makes a collection directory in For_Metadata_Librarians and puts the Metadata directory and contents there
    • generates smaller, non-watermarked images for metadata librarians in a Jpegs directory there
    • deletes the collection in Digital_Coll_in_Progress
  • Wait till you hear that the MODS are ready: Metadata librarians will move collection to Return_To_Digital_Services
    • a weekly script, checkStatusDS will watch for content returned there, and will:
      • check their jpegs against our tiffs
      • check their MODS against their jpegs
      • if all good, deletes their jpegs and moves the collection to Digital_Coll_Complete for processing -- then notifies us
      • if problems, sends us a list of errors, and leaves the collection in Return_To_Digital_Services
    • If collection is still in Return_To_Digital_Services, resolve issues (may require renaming TIFFs and regenerating FITS to replace those on server), then rerun checkStatusDS (in ds /home/scripts/ till all is good
  • Run jpegs2Server, a script which:
    • copies the MODS to the UploadArea for online delivery and Deposits for archiving, and deletes the version from the Share drive
    • copies any .txt files in the Metadata to the Deposits for archiving
    • creates watermarked JPEG derivatives and thumbs of all the TIFFs and puts them into the UploadArea
    • generates MIX files and logs technical metadata to the database
    • moves any Excel spreadsheets to Administrative\Pipeline\collectionInfo\Storage_Excel
    • moves the TIFFs to Deposits
    • uploads transcripts & OCR to the Acumen database
    • checks the collection XML (if there is one; warns you if it needs one) and gets it in the database, online, and in Deposits
    • removes the hold4metadata folder and the Digital_Coll_Complete folders if empty
    • sends you an email to check the output, and then run relocate_all to get stuff in Acumen
  • Run relocate_all, a script which puts that content in the UploadArea in the right places in Acumen
  • Check error report. If no errors, run findMissing. Correct any problems found.

Problems? See Troubleshooting

Important things to remember about working with the server

  • Think long and hard before you run upload scripts on more than one collection at a time. Yes, it is possible to run the same scripts on multiple collections at a time. But just because it's possible doesn't mean you should do it. If something goes wrong, it can be very difficult to disentangle the separate collections in order to fix the problem.
  • Do not run the same script more than once at a time on a particular collection. If a script encounters a problem such that it doesn't finish running, do not just run it again. We do not want two instances of the same script running simultaneously. This gets very confusing and multiplies the possibility of error exponentially!
  • If you need to kill a script, please see someone who manages the scripts (Jody or the Repository Manager). Closing the current Terminal Window (the command line interface) of SSH Secure File Transfer does not kill the scripts that are running. This is especially important to remember for makeJpegs, which splits into two processes as soon as you run it (whether you see results of this in the UploadArea or not).
  • When checking a libcontent folder for ongoing upload status, hit Refresh. The SSH File Transfer Window will not refresh on its own.

Preliminary steps on the server

  1. make sure that the Windows share is mounted: type into the ssh window on libcontent: `ls /cifs-mount` -- if no listing appears, or the window hangs up, you need to mount the share drive. Otherwise, proceed to getting content from the share drive...
  2. To mount the Windows drive, type this in on the commandline on libcontent: `sudo mount -t cifs -o username=jjcolonnaromano,domain=lib //\ Projects/ /cifs-mount` and use the password for share for Jeremiah. If successful, the command in the last step will show you the directories within the Digital Projects folder on Share.

Getting content from the share drive to live in Acumen


  1. Make sure content is in the Completed directory, and that all quality control scripts have been run, and all corrections made.
  2. Create FITS with the makeFits scripts on the server (in the scripts directory, not in the UploadArea).
  3. Create the MODS from the exported text spreadsheet (Generating_MODS), and place them in a MODS directory within the Metadata directory. If this is a batch, rather than a complete collection, see Batches for info on what parts of this process might be different.
  4. Log onto libcontent and change into the UploadArea/scripts directory. (see Command-line_Work_on_Linux_Server)

Getting content to libcontent server

  1. Type in 'makeJpegsPurls' and answer the questions that arise. If errors appear on the commandline or in the output file, repair them. The output file will be located in the UploadArea/output directory, and the script will tell you its name, which is timestamped. Script here: (File:MakeJpegsPurls.txt)
    1. The makeJpegsPurls script will do some minor QC, including checking to see if there is a MODS for each item-level object and an object for each item-level MODS.
    2. If there are no problems, it will copy the MODS files to the UploadArea/MODS directory on the server, copy the transcripts to the UploadArea/transcripts directory on the server, and will generate JPEG derivatives (a thumb ending in _128.jpg and a large image ending in _2048.jpg) and place them in the UploadArea/jpegs directory on the server.
    3. OCR
      1. The log file will be searched for information about what items to OCR
      2. If instead you provide an ocrList.txt file in the Admin directory then the items on that list will be OCR'd.
    4. This new version of makeJpegs will also copy the MODS to the Deposits folder and, if everything checks out, delete them from the Share drive. If any of these files remain in the Metadata/MODS directory on the Share drive, they did NOT copy to the server!!

Getting content to Acumen

  1. In the UploadArea/scripts directory, type in 'relocate_all' (File:Relocate all.txt). This script will move all the content just uploaded into the correct directories in Acumen. If anything remains in the above-mentioned directories after the script has completed, there's a problem which must be repaired. CHECK THE OUTPUT FILE. Another thing to check, if there's no errors in the output, is Server Permissions.
  2. In the scripts directory (on the same level as the UploadArea, AUDIO and CABANISS directories), run 'findMissing'. This script will hunt through Acumen to make sure there is a MODS file for every item, and at least one derivative for each MODS file. Any errors will be found in the output file written to the scripts/output directory. If errors are found, regenerate those MODS and/or JPEGs/MP3s and rerun relocate_all. Then run this script again to ensure all errors have been remedied. (Script here: File:FindMissing.txt)
  3. Check the indexing of the uploaded content the next day to verify. (Content is currently being indexed each day overnight.) Once the content appears online in Acumen, it is safe to do the next step for new collections; for ongoing collections that already have a listing on the collection page, you may proceed to the next step without waiting. The collection list can be viewed here: Collection List Online.

Quick Steps

  1. Login as DS and navigate to UploadArea/scripts
  2. Type in makeJpegsPurls
  3. Check output should begin with collnum.timestamp it should be the bottom most file
  4. Run relocate_all
  5. Wait a night for it to index
  6. Run moveContent
  7. Check output it should begin with Storing.collnum.timestamp
  8. Make sure everything is deleted off sharedrive
  9. Done!

Getting content from the share drive to the storage server to prepare for archiving


Check the file NOTIFICATIONS.txt in S:\Digital Projects\Digital_Coll_Complete to verify that none of the content is part of collections that need to have special attention paid to them by Jody or the metadata unit.

Getting content to storage

MoveContentFile:MoveContent.txt will move archival content to the deposits directory on the storage server, where it will be prepared for archiving at a later date.

  1. In the UploadArea/scripts directory, run 'moveContent.' This script will:
    1. check the database for existing info about this collection, and provide you with whatever we already know, so you can correct it with your collection xml file,
    2. update our database and online collection xml file, if yours is new or changed -- adding the online link to the collection if new. This is why, if this is a new collection, you have to wait to run this script until the files have been indexed and content is viewable online, so there will not be a dead link in the collection list.
    3. update or add the icon image if you are providing it for a collection thumbnail
    4. copy the archival content to the deposits/content directory on the server, for processing into the archive
    5. compare the copied content with what you have on the share drive; if it uploaded okay, it will delete it on the share drive
    6. output errors into a file in the output directory
  2. Check back after a few hours and look at the output file to verify that there were no problems and that the script completed. If you want, you can watch the files being uploaded in the deposits/content directory on libcontent.  :-)
  3. Check the share drive directories for any files that still remain. If any files remain in the directories on the share drive, they did NOT copy to the server!! Run the script again, as there may have been a failure of the copy across the network. If this fails, the file will need to be moved manually, and the problem encountered by the script must be resolved. Please notify Jody ASAP.
  4. Exit out of secure shell. Good work!!

Archiving content

The first sections of the attached diagram which pertain to Digital Services are delineated in Preparing_Collections_on_the_S_Drive_for_Online_Delivery_and_Storage.

See lines 9-25 and 31-33 on this page: Moving_Content_To_Long-Term_Storage

The movement of metadata is spelled out in Metadata_Movement and the process for uploading MODS is in Uploading_MODS.

We have yet to determine at what point MODS are ready for archiving, but that will be sorted out soon.