You are exploring: VU > Library > Blogs > Falvey Memorial Library Blog

New Online Tutorial on Chicago-Style Citations

Are you tired of repeating the basics of Chicago Style notes and bibliographies to your students?
Are your students confused about how to format first and subsequent notes following Chicago style?

Clear up some of your students’ confusion by referring them to Falvey’s Brief Introduction to the Chicago Manual of Style.  Research Center intern Matt Ainslie has created a brief online tutorial (4 min.) in which he demonstrates step-by-step how to cite a sample source in the first note, in subsequent notes and in the bibliography.

The tutorial includes a link to the Chicago-Style Citation Quick Guide, which is basically a short list of templates for first notes, subsequent notes and the full bibliographic entries for commonly cited sources such as books, chapters, journal articles, dissertations and even web sites.  The Quick Guide is easy to use and a great reference tool for undergraduate and graduate students alike.  It includes a link to the full text online version of the 16th edition of the Chicago Manual of Style.

Please contact me with your ideas and suggestions for additional tutorials.


How Scholarly Outreach Engages the Community: Darren Poley on Falvey's Initiatives

Outreach by academic libraries can take on nearly as many meanings as there are libraries. Outreach Librarian Darren G. Poley addressed the Delaware Valley Chapter of the Association of Colleges and Research Libraries (ACRL-DVC) spring meeting at the Goodstay Center of the University of Delaware in Wilmington, Del., on April 20, 2012.

He talked about the path Falvey Memorial Library chose in its effort to navigate what it means to do outreach in the university setting.

Poley discussed the varied scholarly communication-related projects Falvey’s Outreach team works on, and how, at the same time, the team serves both the Library and Villanova University by reaching out to the scholarly community. Some of the team’s activities include developing academic and social event programs, mounting regular cultural displays, hosting online journals and encouraging digital publishing, and maintaining the institutional bibliography as it relates to both recording faculty publications and documenting University-wide intellectual contributions. (more…)


Learn to fence (and more!)

The London Olympics officially open tonight and just this week we’ve digitized a short book on fencing and other sports. The lengthy title of this book seems like it’s in inverse proportion to its diminutive size: How to Fence: containing full instruction for fencing and the use of the broadsword also instruction in archery, described with twenty-one practical illustrations. A complete book. And that’s not even all there is in the book!

Illustration of "The Engage" (fencing position)
“The Engage” (fencing position).

At just about 60 pages, this “complete book” includes instructions for fencing (p. 5), archery (p. 43), hurdle racing (p. 57), pole-vaulting (p. 58), hammer throwing (p. 59), and shot put (p. 60). The “practical illustrations” only appear in the fencing section, however, so you must use your imagination for the other sports (or perhaps watch some Olympic athletes in the next few days).

Photo of the books we rescued

The books we rescued.

This book was part of a collection of extremely fragile late-19th- and early-20th-century publications that we recently found in a forgotten corner of the library basement, where they would have been destined for the trash if we hadn’t saved them. Many of these publications are extremely rare and have not been digitized elsewhere, so we are excited to be preserving and sharing them. Among these books are short plays, humorous anecdotes, and “dime novels.” We’ll be posting more about some of these titles as we digitize them and Demian will be adding some to our ongoing Project Gutenberg proofreading project, so stay tuned for more!

P.S.: For more Olympic spirit, you can read about Villanova athletes in the Olympics in our digitized collection of The Villanovan. For instance, in the 1956 Summer Olympic Games, held in Australia from November 22 to December 8, two Nova track stars (Charley Jenkins and Ron Delany) brought home 3 gold medals — making Villanova track coach “Jumbo” Jim Elliott “the first American college coach to produce two Olympic winners” (p. 1). You can find more articles by searching the Digital Library’s Villanovan collection.


Help Us Test a New Scanner

A new high-end scanner on the first floor has been installed on a trial basis.  We invite students, staff, faculty and visitors to help us test it out. The large flatbed (book edge) scanner and accompanying PC with touch screen interface are easy to use.  The software can even convert text to audio. You’ll find the trial scanner near the public print station on the first floor of the Library. Feedback forms are available. Give it a try and tell us what you think!


Lisa Kruczek, Summer Digital Library Intern

By Alice Bampton

Lisa Kruczek, currently enrolled in Drexel University’s Master of Library and Information Science program, is a Digital Library intern for the summer. She is specializing in archival studies, one of Drexel’s six optional concentrations, but is considering adding digital libraries for a double concentration.

Kruczek says that her internship, which is “structured in such a way that it is a meaningful experience,” providing experience in scanning, metadata and other aspects of digital librarianship, will aid in making her decision.

Kruczek, a resident of Merchantville, N.J., has a bachelor’s degree in media arts from Duquesne University, Pittsburgh, Pa. She worked as a video editor and as a graphic artist before reevaluating her career. She has always been interested in history, media and computers, and these interests led her to enroll in Drexel’s Library and Information Science program. “In a perfect world I’d work in a moving image archive,” says Kruczek.

Her research interests are music (its different types and its history) and film, noting that in her first career she worked with film. Her hobbies include movies, books and music. She is currently reading Snow Crash, a “light contemporary science fiction adventure,” by Neal Stephenson.

Michael Foight, Special Collections and Digital Library coordinator, says, “After a period of intensive training and practical experience consisting of a set of modules including management of digital libraries, selection for digitization, social media, online exhibits, copyright, metadata, cataloguing, rare materials handling and scanner training, each intern selects, in conjunction with the needs and priorities of the digital library enterprise, a project that highlights one of these content area modules and produces a representative work project” about four weeks into his or her internship.



Join Our Online Reading Group

Last fall we established an online reading group for fans and friends of Falvey Memorial Library. “Falvey Reads” can be found on the Goodreads website. Register now and start sharing your reading with other Villanovans and see what other readers recommend. For instance, this summer library staff are reading The Googlization of Everything by Siva Vaidhyanathan. Members can share titles they have read, plan to read, or are currently reading.

It’s easy and it’s free. If you don’t have a Goodreads account, you can sign up for one for free.  It’ll just take a few seconds–all you need is an email address and password! Alternatively, you can sign in with your Facebook, Twitter, or Google account instead.

Once you’ve registered, a couple of survey prompts will appear, which you may skip. After you get past the prompts, click on Home at the top of the display and then click on Explore to search for groups. Search for Falvey Reads and join the group!

Only two rules apply: be respectful and have fun! (If you have questions, contact Laura Bang at laura.bang@villanova.edu.)


Moving VuFind to Zend Framework 2: Part 4 — Command Line Tools

UPDATE – July 26, 2012: The release of Zend Framework 2 RC 1 makes much of this obsolete since it includes better native console support. I’ll try to post again when I have time to rework everything to use the new functionality, but for now I’ve just patched in a workaround. See comments at the bottom of the article if you are interested.

VuFind is primarily a web application, but it also includes a number of command-line tools for performing various harvest, import and maintenance tasks.  It would be nice if these command-line tools could leverage the infrastructure of the web application so we don’t need to write redundant code for setting up autoloaders, configuring resources, etc.  However, we don’t want to accidentally expose command-line behaviors through the web interface.  Fortunately, Zend Framework 2’s module system makes this fairly easy to achieve.

The Goal

In order to achieve some level of granularity, it would be nice if, when you run any given command-line utility, VuFind routes your request to a special command-line controller whose name corresponds with the directory containing the tool, executing an action corresponding with the tool’s filename.  So, for example, running import/import-xsl.php would call importController::importXslAction().

Naming the Module

Zend Framework 2 modules correspond with PHP namespaces.  For example, the main VuFind module is located in module/VuFind/Module.php, and it defines a VuFind namespace.  All supplementary files living within the VuFind namespace are found under module/VuFind/src/VuFind, and Zend Framework knows how to access them based on the module’s configuration.

When creating the CLI module, we have two options:

1.) We can create a new namespace, such as VuFindCLI, and locate the module in module/VuFindCLI/Module.php with a structure totally parallel to the main VuFind module.  This results in the cleanest directory structure, but the namespacing isn’t very logical, since this is really a subset of VuFind functionality.

2.) We can create a sub-namespace, such as VuFindCLI, and locate the module in module/VuFind/CLI/Module.php.  Because this namespace is a subset of the main VuFind namespace, supplemental files will live in module/VuFind/src/VuFind/CLI rather than module/VuFind/CLI/src/VuFind/CLI — a potential source of some confusion.

I opted for approach #2 — I prefer having logical namespaces at the expense of a little directory irregularity.

Loading the Module

Having decided what to call the module, loading it is simply a matter of modifying the main application configuration (config/application.config.php) to load the CLI module when it detects that it is running in CLI mode:

$config = array(
    'modules' => array(
    /* ... trimmed for clarity ... */
if (PHP_SAPI == 'cli') {
    $config['modules'][] = 'VuFind\CLI';
return $config;

Creating the Module

The CLI module itself doesn’t need to contain very much content. We need a configuration to tell it how to load CLI-specific controllers (module/VuFind/CLI/config/module.config.php), and a module definition to set up custom routing (module/VuFind/CLI/Module.php).

The routing is a little bit complicated, so let’s look more closely at it. Here is the relevant code from Module.php:

    public function onBootstrap(MvcEvent $e)
        $callback = function ($e) {
            // Get command line arguments and present working directory from
            // server superglobal:
            $server = $e->getApplication()->getRequest()->getServer();
            $args = $server->get('argv');
            $filename = $args[0];
            $pwd = $server->get('PWD', CLI_DIR);

            // Convert base filename (minus .php extension) and containing directory
            // name into action and controller, respectively:
            $baseFilename = basename($filename);
            $baseFilename = substr($baseFilename, 0, strlen($baseFilename) - 4);
            $baseDirname = basename(dirname(realpath($pwd . '/' . $filename)));
            $routeMatch = new RouteMatch(
                array('controller' => $baseDirname, 'action' => $baseFilename), 1

            // Override standard routing:
        $events = $e->getApplication()->getEventManager();
        $events->attach('route', $callback);

The onBootstrap() method is called automatically on every module. Within this method, we are using the Zend Framework 2 event manager to associate a callback function with the route event. The callback function is defined as a closure.

Within the closure, we need to do two things:

1.) Figure out the directory and filename that were used to access VuFind (the idea here is that every CLI utility will simply be a wrapper that loads the core of Zend Framework with an include statement).

2.) Using this contextual information, force the router to load the appropriate controller by injecting a routeMatch object that matches the ‘default’ route defined by the core VuFind module.

As it turns out, step 1 was a little harder than anticipated. Figuring out the filename that was accessed is easy; PHP’s $_SERVER superglobal (accessible in Zend Framework through the getServer() call) contains an ‘argv’ element representing command-line parameters, and the first element of this array will always contain the base filename. The hard part is figuring out the containing directory. The __DIR__ magic constant is of no use to us, because it refers to the context of the currently-executing file, not the top-level script run by the user. Similarly, the getcwd() function is of no help, because part of the standard ZF2 initialization sets the current working directory to a fixed location.

Some versions of PHP come to the rescue with a $_SERVER element called ‘PWD’ which contains the directory from which the user executed PHP. The problem is that this is not present in every operating system (it is missing in Windows, for example). For lack of a more elegant solution, I eventually settled on defining a constant called CLI_DIR in my command-line scripts so that code deeper in the framework can figure out the context. Hence the code:

$pwd = $server->get('PWD', CLI_DIR);

This attempts to use the $_SERVER[‘PWD’] variable, but if it is not set, it fails over to the CLI_DIR constant. That way, the ugly workaround is only triggered when absolutely necessary.

Putting it All Together

As my first proof of concept, I decided to implement the import/import-xsl.php script. The code inside the script is very simple:

define('CLI_DIR', __DIR__);     // save directory name of current script
require_once __DIR__ . '/../public/index.php';

This just sets the CLI_DIR constant described above and loads the framework.

Now we just need to define a controller to respond to the request. I created a base controller with shared methods that are likely to be used by other CLI-oriented controllers (module/VuFind/src/VuFind/CLI/Controller/AbstractBase.php) and then extended that with the actual ImportController functionality (module/VuFind/src/VuFind/CLI/Controller/ImportController.php).

At this point, all the pieces are in place. When you run import-xsl.php, it loads Zend Framework. Zend Framework detects CLI mode and loads the CLI module. The CLI module overrides the router and directs the user to ImportController::importXslAction(). The controller is able to make use of all the same classes and resources as a web application, and no setup code has been duplicated anywhere.

The Rough Edges

There is one piece of the puzzle that I am not entirely happy about right now. Zend Framework 2 controllers work by building up a ViewModel or Response object and then returning that for further processing. This model does not work well in the CLI environment for two reasons:

1.) CLI tools often need to produce real-time output. Unlike a web request which gets built all at once, a CLI tool will often show incremental details as it works (“loading file 1, loading file 2, etc.”).

2.) CLI tools need to return an exit status to the operating system in order to indicate success or failure, which is critical for incorporating PHP tools into shell scripts and batch files.

Neither of these use cases are currently met through native framework features (at least as far as I can tell). For now, I am simply using “echo” and “exit” inside the controllers to achieve the desired effects, which is functional but less than ideal.

There is hope, though: the Zend Framework community is currently thinking about CLI integration, as evidenced by this Request For Comment. I’ll try to keep an eye on developments in this area, and once the framework has the capabilities we need, the existing code can be more tightly integrated into it.


New Proofreading Project: The Decadent

Illustration from The DecadentA new title has been released to the Distributed Proofreaders project. This time around, it is The Decadent: Being a Gospel of Inaction, a rare, self-published philosophical novel by Ralph Adams Cram, a Gothic architect who also found time to write a variety of works ranging from religious texts to ghost stories. If you want to help bring this 19th-century novel to modern electronic formats, you can participate at the project page for the book. If you are not already familiar with Distributed Proofreaders, see Proofreading the Digital Library to learn more.


VuFind Developer's Article Features Ways to Help Users Discover Content

Demian Katz, technology development specialist, has co-authored “Content Integration: Creating a Scalable Common Platform for Information Resources,” published in the March 2012 issue of Computers in Libraries. The other author, Max Berenstein, is a product manager at Elsevier, a publisher of scientific, technical and medical information.

In their article, Berenstein and Katz discuss solutions, such as SciVerse Applications, developed at Elsevier, and VuFind, developed at Villanova University, which can be used “to help institutions better aggregate, manage, and expose licensed and in-house content.”

A sidebar, “Application Development: A Collaborative Process,” features Katz highlighting his interaction with Berenstein “to create the VuFind template application, a scalable and inexpensive new way to expose library resources within the OpenSocial universe .”

VuFind is open source library software developed at Falvey. Katz is the current lead developer, but he says, “I’m certainly not solely responsible for its content – a lot of people around the world have contributed code; I just take all the contributions and put them together into the finished product.” VuFind replaced the traditional OPAC (Online Public Access Catalog) used to search a library’s holdings.

Falvey’s Technology Development team—Katz, David Lacy and David Uspal—develops “major features for the … Library web site.”

Also contributing: Gerald Dierkes


New Exhibit – Joseph McGarrity: Man of Action; Man of Letters

Posted for: Brian J. McDonald, PhD (2012 Digital Library Intern)

Joseph McGarrity (1874-1940), at the age of 18, left his Irish hometown of Carrickmore, County Tyrone to immigrate to America. He arrived in Philadelphia with no luggage, very little money and a strong sense of Irish nationalism that would soon attract him to become an active member of the Clan-na-Gael, the leading Irish republican organization in the United States. He would, during his lifetime, rise to lead the Clan-na-Gael and become a significant figure in the struggle for Irish independence.

Despite the secretive nature of much of Joseph McGarrity’s political activity, his name surfaces in the historical record at key moments during the tumultuous years of the Irish Revolution and the foundation of the Irish Free State. Students of Irish history encounter McGarrity as a successful liquor and real estate entrepreneur who helped finance the Easter Rising in 1916; and as a colleague, confidant and correspondent of many of the leading Irish revolutionaries of the period, including Michael Collins, Padraig Pearse, Roger Casement, John Devoy and Harry Boland. He is also known as a close personal friend of Eamon de Valera, and as one of the key architects, along with Sean Russell, of what came to be known as the Sabotage or S-plan Campaign, the IRA’s 1939 bombing operation against targets on British soil.

While the political and administrative papers that tell the singular story of Joseph McGarrity’s lifelong commitment to the cause of Irish independence are scattered across many repositories, including the National Library of Ireland and New York Public Library, his personal papers held by Villanova University provide unique insight into Joseph McGarrity the man—the devoted father, friend, Catholic and poet. It is the latter, McGarrity the poet (who also maintained a lifelong interest in Irish history, culture and books), which provides the focus of Joseph McGarrity: Man of Action; Man of Letters, a new Villanova Digital Library online exhibition.

Though not a major poet, McGarrity was unquestionably committed to his verse. Despite being prodigiously busy with his many political and business responsibilities, McGarrity would often stay up late into the night working away at his poetry. In his introduction to Celtic Moods and Memories, McGarrity’s only major published collection, the poet and folklorist Padraic Colum speculates that as:

A man of moods and memories whose days were taken up with business, an Irish country boy living the strenuous life of an American city, a man of simple Catholic piety going vehemently through the world, Joseph McGarrity must have been aware of a conflict in himself.

In many ways this psychological portrait of McGarrity as a seemingly contradictory figure sets the framework for this exhibition; which, it is hoped, will suggest something of the complexity hinted at by Colum. Joseph McGarrity: Man of Action; Man of Letters presents a selection of digitized items representative of McGarrity as a literary man exhibited alongside descriptions of key details of his remarkable life, of his “going vehemently through the world.” All exhibition items are drawn from Special Collections, Villanova University Falvey Library (many of which are accessible online through Villanova University Digital Library).

1 People Like This Post

Next Page »


Last Modified: July 12, 2012