Posted by: wendymcfarland | 2009-05-12

BBEdit update – issues with Subversion

Subversion. Having updated BBEdit to version 9.2 this morning, I was suddenly getting an error message when trying to commit a file for revision control:

svn: This client is too old to work with working copy; please get a newer Subversion client

The fix was to issue the following command from the Terminal application:

defaults write com.barebones.bbedit Subversion:SubversionToolPathOverride /usr/bin/svn

Posted by: wendymcfarland | 2009-05-02

ONIX

Perl. Adding Tables of Contents to our standard ONIX title list data as requested by Bowker. Reviewing the <ContentItem> composite in the ONIX documentation to determine which elements are worthwhile (or mandatory). Examining the structure of data in our chapter table and adding handler subroutines to my Perl module ONIX/NAP_Value_For.pm.

Posted by: wendymcfarland | 2009-05-01

AuthorSplit

PHP. Using set_error_handler() to intercept (and supplement) errors that would otherwise be written to the server’s error log. Using output buffering with debug_print_backtrace() to capture the function calls leading up to an error. And then using error_log() to first print these error details to an application-specific log file, then send them to myself as an email.

This way, I won’t miss any incoming errors but I’ll be able to look at them in the context of the AuthorSplit error log. I wish I had taken the time to implement this sooner.

Posted by: wendymcfarland | 2009-04-15

Mercury

Excel. Having decided to use ONIX, the XML Schema for representing book industry product information, as the foundation for the data warehouse, I began by extracting the skeleton of XML reference names and element descriptions from the ONIX documentation into an Excel file I could work with, naming them as onx1 through onx922. Originally, I had expected to use ONIX short tags to name the table fields in mercury.products but I was surprised to find that they are not unique. There must be SOME good reason for that because having them be unique seems to me really, really obvious.

Then, referring to my title_list_onix.pl program, I marked off all of the ONIX fields we’re currently using. For each of the non-ONIX data clients, I mapped their required data to existing ONIX fields where possible. For the data elements that don’t exist in ONIX, I added fields named as nap923 through nap963 (being sure to avoid duplication).

Posted by: wendymcfarland | 2009-04-13

Outsourced digitization

Requirements. Preparing requirements and file samples of ONPI’s annual Report to Congress with the intention of outsourcing production of XHTML. Sending a request for an estimate to VCI.

Posted by: wendymcfarland | 2009-04-10

Yea, Project Plan

I had such a positive experience with billing today. Q1 just ended so I needed to bill for In Focus and Issues in Science and Technology.

Usually I do this by searching the “day” files I keep for tracking the time I spend on tasks. But THIS time I could just go to the Open Proj (free, open source equivalent of Microsoft Project) Project Plan that I started using the 1st week of January. Everything’s categorized and recorded with standardized descriptions, times, and dates. It was a snap to transfer that to the Excel timecards I use for sending hours to Clinton.

Posted by: wendymcfarland | 2009-04-06

Mercury

SQLite. Using field names, data types, and null settings from XML config file db_products.xml to generate the SQL to CREATE the mercury.products data warehouse table.

Posted by: wendymcfarland | 2009-04-05

Mercury

XML. Configuration files for Mercury.

  • title_lists.xml – Includes universal inclusion logic, shared by all clients, and client-specific exclusions.
  • db_products.xml – Includes field names, data types, and null settings for the creation of the data warehouse table. As more clients are added the number of fields required for an instance of mercury.products will grow.
Posted by: wendymcfarland | 2009-04-03

VCI invoices

Perl and MySQL. For monthly digitization invoices, verify the receipt of all items. Verify page counts and formats sent (PDF vs. TIFF). Use Excel calculations to verify rates and totals. With service bureau colleagues at Value Chain International (India), resolve discrepancies as they arise. Send approved invoices on to Alphonse for processing and payment. Update the e_tracking table to record date_paid for invoiced formats.

Posted by: wendymcfarland | 2009-04-02

Subject categories

Text wrangling. Save the gateway to the latest BISAC Subject Headings as HTML source. Run HTML Tidy to correct line wrapping and ensure consistency. Use regular expressions and sorting to extract the HREFs; sorting also helps to spot any inconsistent link formats. Use regular expressions to generate a shell script of wget commands that will download each page. Run HTML Tidy on downloaded subject pages to correct line wrapping and ensure consistency. Use grep to extract the complete list of terms and BISAC codes. Use Perl to make sure our current BISAC codes are valid (that they are still found in the new list). Use regular expressions to generate INSERT statements to load any new codes into our topics database. 3579 codes extracted from 52 web pages.

Older Posts »

Categories