Tuesday, July 14, 2009

Applying code patches in Windows Vista

(I'm speaking of .patch files, BTW) =)

In Vista it was particularly frustrating figuring out how to do this in Windows:
   patch -p0 <patchfile
...something that's pretty simple in the UNIX shell of your choice.

I started by installing GNU Patch for Windows... but Vista didn't want to run it because of Windows UAC. Also, to me it seemed too cumbersome to have to open up a Windows commmand prompt JUST to apply patches, when I was doing everything else from the Windows Explorer UI thanks to the awesome TortoiseCVS.

So, here's what I did:
  1. Install GNU Patch for windows, using the Binaries ZIP file; I installed it in C:\Program Files
  2. Make sure patch.exe now lives in c:\program files\patch\bin\patch.exe
  3. Create the .bat file c:\program files\patch\bin\patch.bat with these commands:
    @echo off
    "c:\program files\patch\bin\patch" -p0 < %1
    pause
    
  4. Create two .manifest files to keep UAC happy:

    c:\program files\patch\bin\patch.exe.manifest
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
    <requestedPrivileges> 
    <requestedExecutionLevel level="asInvoker"/> 
    </requestedPrivileges> 
    </security> 
    </trustInfo> 
    </assembly> 
    

    c:\program files\patch\bin\patch.bat.manifest
    With the exact above contents of patch.exe.manifest

  5. Associate .batch files with the new patch.bat file. You can do this by creating an empty file and renaming it something.patch. On Windows Explorer, right-click this new file and use the "Open with" option, and tell Windows to always use c:\program files\patch\bin\patch.bat to open this file type.
There! Now, when you double-click on .patch files from Windows Explorer, a command line will open up with the Patch results, and wait for a keystroke before closing.

Tip: Always remember to place your patches in the correct directory!

Friday, June 26, 2009

My article about our Drupal library discovery layer

At last, it's out.

From the abstract:

The purpose of this paper is to document how the library at Tecnológico de Monterrey, Monterrey Campus came to use the open source Drupal with other freely available tools as the basis for an extensible platform for current and future information discovery gateways.


The article is available here:
From OPAC to CMS: Drupal as an extensible library platform (subscription required: visit your local library!).

Basically the article relates how we built a library discovery layer built on Drupal, which contains the portion of our collections that is relevant to the School of Biotech and Health at the university. It uses the Drupal Millennium and HILCC modules, the Google Custom Search Engine, EZProxy and lots of other Drupal modules to do it.

As it stands, I'm proud I was able to publish my first article in a peer-reviewed Journal; I, however, think I could have delivered a better product. Something for next time =)

Also, I was rather surprised to find out the journal (Library Hi-Tech) has impact factor metrics from ISI-Thomson.

I'm not sure if I can distribute a pre-print version; I'll ask =)

You can also view my earlier post about a presentation on the same subject.

Tuesday, May 5, 2009

Library of Congress releases LCSH as linked data

Yesterday the LOC announced it is releasing it's first service on id.loc.gov which contains LCSH terms represented as RDF/XML, N-Triples and JSON.

The vocabulary is available for download, or can be searched online at http://id.loc.gov/authorities/

Here are some sample snapshots:

Search for "simple machines"




View for the topical term "Simple machines". Note you can export the term as RDF, N-Triples or JSON.



Each term has a "Visualization" tab which shows related, broader and narrower term relationships.

Thursday, April 16, 2009

Authenticating Drupal users against III / Millennium


The Millenium (III) Integration module for Drupal now has a VERY experimental module that uses screen-scraping to allow authenticating users against an III system using their library credentials (barcode/ID, last name and PIN).

This is done using a bit of screenscraping and using the "usual" Drupal API hooks.

The neat side of doing this is you could, in theory:
  • [optionally] share your currently loaned items with other users or publicly
  • receive custom alerts while navigating within the Drupal site ("you owe the library $$")
  • when looking at an item imported via Millennium module for Drupal, see a message informing this item is one you currently have/is overdue, etc.
  • let users make some/all of their loaned items public (in profile? RSS? etc)
  • Mash up any of the previous with other Drupal modules (imagine "Your Friend checked out this book, and rated it ****", or "Subscribe to your friend's checkout feeds", etc.)
Here's a screenshot of how this shows under the /user Drupal path:




Now, of course this is teh fragile, using screenscraping and stuff. Current options are: (1) $hell out for Patron API module for III, (2) use SIP (which still requires a module), or (3) keep at this;

How can YOU help? If you have an III system at your command, you could provide me with a temporary login to test against.

Friday, April 3, 2009

Ideas to improve Drupa 7's admin usability

I posted some ideas on how to improve administrative usability in Drupal. Care to comment?

Thursday, March 26, 2009

Article on Drupal and RDF

A great article that simplifies what the fuss over RDF/RDFa is about, and how Drupal is trying to tie into it.

http://www.cmswire.com/cms/web-cms/rdfa-drupal-and-a-practical-semantic-web-004149.php

Thanks @robertDouglass!

Tuesday, March 17, 2009

HILCC module for Drupal

In our Drupal sites for our library and now in our Knowledge Hub we've been using LCC to catalog items and then using HILCC to produce a navigatable architecture in our Drupal sites.


This functionality is now available to the public at large as a Drupal module, which you can download here:

http://drupal.org/project/hilcc

HILCC is a hierarchic classification scheme developed originally at Columbia University Libraries, designed to offer library catalogs a way to easily cluster similar-subject items for navigation. HILCC is licensed under a Creative Commons BY-NC license.

For now it's only available for Drupal 5, but a D6 version is in the works.

Thursday, March 5, 2009

LOC (re-)releasing Subject Headings and more

Karen coyle mentioned LC is bringing back subject headings and other information (some originally available in the now-defunct lcsh.info).

More info is available in http://id.loc.gov/

What this means, is that at last some of LC's controlled vocabularies will be available to build the semantic web.

Wednesday, February 11, 2009

Intersection of IA and Librarianship

James Kalbach wrote this piece which, although not its main focus, talks about the intersection of Information Architecture and Librarianship.

Read "IA, Therefore I Am" by James Kalbach.

Wednesday, January 28, 2009

Auto-tag your content with Calais for Drupal

This is rebooting my interest in automated classification. =)

Check out the Calais Drupal module, based on the Calais service from Thomson-Reuters.
The Calais modules for Drupal (found at http://drupal.org/project/opencalais) are feature-rich, highly intuitive and designed to make it easy for Drupal users to automatically metatag their content, generating rich Semantic metadata that can be shared via a simple key and integrated into the larger content universe.


The screencast shows what an implementation would look like. I'm ready to use Drupal's RSS aggregator or FeedAPI module to pull in some content and see how Calais auto-tagging would work.

Of course, now I want to see what Calais does to library items imported into Drupal, see how Drupal would expose RDF and other stuff!