Catching Up

      Comments Off on Catching Up

Yes, those are in fact cobwebs hanging from the corners.  It’s not that I’ve been too busy to write something, just distracted, I guess. Vacation…a few other short trips…couple of deadlines…a digression into the twittersphere…it’s pretty easy to fall behind on one’s blogging…

Award winning

A few weeks ago we received one of the 2009 Campus Technology Innovation Awards. GM_WGandEC_small.jpg I wasn’t really expecting that (heard there were 349 nominees) so it came as a nice surprise even as it managed to burn up the last of my 15 minutes of fame. (I lost the bulk in June when this AP story appeared in over 2,000 places.  My favorite was this one which nicely showcased my sudden-onset facility with Spanish).

But getting back to the award, I don’t think our innovation was the technology or the end product.   I prefer to think we received it because we’re trying to find new ways to use technology to empower librarians; particularly those interested in extending their interaction with faculty and upper-level researchers. I’ve been really pleased to see a number of our librarians embrace this portal idea and run with it.

Here’s are a few of our current portals:

Bioinformatics
Bioengineering
Early US History
Global Research and Education
Neuroscience
Biodefense

DSpace / MARS

Shane Beers, our Digital Repository Librarian, finished up with us a few weeks ago and is off to the University of Michigan where he’ll be working as a digital preservation librarian. Good luck, Shane and thanks for the contributions you made to our efforts over the past couple of years.

You know, that makes two MARS librarians in a row I’ve lost to large institutions in the upper Midwest. Will I ever again look at a resume from that part of the country? I don’t know…send me one.

In lieu of an exit interview, Shane and I spent the last day or so migrating our current DSpace installation (1.4.2) to the current release (1.5.2). By the time we finished we…

  • moved DSpace to a new server (from a dual G5 machine to an 8 core Xserve)
  • moved from OSX 10.4 to 10.5.8
  • said goodbye to the OSX default JBOSS servlet container
  • installed Tomcat 6.0
  • changed our application user from “appserver” to “dspace”
  • upgraded Postgres from 8.1 to 8.3
  • switched from the JSP to a Manakin interface

Just so I have it documented somewhere, here’s one way to move DSpace to a new server:

1. On the new machine, figure out where you want the assetstore to live and export that directory under NFS to the old DSpace server.
2. On the old server, mount the new assetstore volume via NFS
3. cd into the assetstore directory on the original server
4. Issue this command:

find . -depth -print | cpio -pdmv /newservermountpoint

5. as “postgres” user, dump the entire postgres database cluster (all databases) from original DSpace server:

pg_dumpall > allmydspacedata.dmp

note: at this point in the process, I opened the allmydspacedata.dmp file with a text editor and changed all instances of “appserver” to “dspace” since I was using “dspace” as my dspace user on the new server.

6. copy the databases dump file over to the new server.

7. as postgres user on the new server, import the database dump file.

psql -f allmydspacedata.dmp postgres

note: at this point in the process, I had to run the SQL file to update my database structure from DSpace 1.4.2 to DSpace 1.5.2:

psql -U [dspace-user] -f [dspace-source]/dspace/etc/
database_schema_14-15.sql [database-name]

8. If you had other postgres databases on your DSpace installation, you can drop them from the new system. For example, we have an ojs installation that will remain on the old server so we need to delete it from this postgres collection:

su -m postgres
psql83
select datname from pg_database;
drop database ojs;

9. Run index-init on the new server to build the DSpace indexes.

You can take a look at our new MARS installation here:

http://digilib.gmu.edu:8080/xmlui

The migration of bitstreams and metadata (even changing the DSpace user) went smoothly.  Getting a stable manakin install up and running proved problematic.   The system would run well for a few hours then begin to slow down. Eventually it would crash with “out of heap memory” java errors and refuse to continue.   At that time, the jspui interface would still be chugging along–which at least allowed me to cross postgres off my list of suspects.

Unable to spend the four or five months it might take to figure out exactly how the various Tomcat, Dspace, Cocoon, whatever logs relate to one another, I took a different approach.   I swapped out the Macports version of Tomcat with a slightly newer version (6.0.20) and built the software stack following instructions found on this helpful site:

http://www.malisphoto.com/tips/tomcatonosx.html

That seemed to fix it.

Once the “new” system ran for 36 hours without symptoms, I sent our new “handle” file off to CNRI. They got back to me within hours and now handle-based links resolve to the new MARS system.

Still working on getting old servername-based links from elseweb to resolve but at least handles are working correctly–and that’s all we’ve ever absolutely committed to.  And I’m still not convinced that all the memory leaks or sub-optimal configurations have been identified and fixed (had the same “sql pool exhausted” error that I used to see on the older G5 instance of DSpace happen today…likely after Google or some other bot visited).

Time to become more active in the dspace-tech list, I guess.  And a wonderful incentive to get me moving on the task of finding a new MARS librarian.

Update: Exhausted connection pool problems persist, but thanks to Andrew Stevens (our Web Services Librarian), I gained sufficient mod_rewrite mojo to fix these two examples of “deprecated” URLs, sending the browser on to the correct destination:

http://u2.gmu.edu:8080/dspace/handle/1920/1544

http://mars.gmu.edu/dspace/handle/1920/1820

Will keep trolling the net for other variations we need to support.

2nd update (9/3/09): The manakin interface has become so unstable I’ve switched over to the jspui until I can get to the bottom of the problem.   There are still connection pool exhaustion problems and at times other “wander off in the weeds” behaviors.    Will spend a bit of time tweaking the jsp interface into something I can live with for a few weeks.