“Logical Assumptions” and Technology Do Not Mix
A couple of weeks ago, I was tasked with setting up a new server for one of our departments. They wanted me to setup ArchivesSpace and migrate their data from Archon onto a new server. I have heard horror stories about this process, but the task had to be done and I was assured that I am the only one who can do it and that my PHP skills would be vital to the process.
I started by setting up the server with LAMP and installing ArchivesSpace. I made the assumption that it would work on Centos. I was wrong. My first response was that some configuration was not set correctly so I took a look at the source code to find where the main config file is located. To my surprise, it is not coded in PHP but in Java and Ruby, two languages I am none familiar enough with to do anything constructive. So much for my PHP skills being a vital asset for this project.
After some research, I also discover that it only works with Ubuntu and that it does not require LAMP. The people who made the program also built in their own web server. So I decided to scrap the server and start over. I spin up an Ubuntu server and install ArchivesSpace. It works.
The next day, I start migrating the data over to test the install and see how the migration process will work. It was simple enough. Enter the user credentials for each server and press the button. Five hours later, the migration is complete. I check the data and everything looks good to me. I ask the department to review the data for accuracy.
The department gets back to me with their errors report the following week. There were a couple of fields that did not transfer over correctly. I compare the two databases and I verify that each field transferred to its correct place. After asking some probative questions, I learn they did use some different fields with some information in Archon so that that the information would display a particular way for users. A-ha! An easy but manual fix. I will write scripts for everything else. They are happy. I am happy.
My take-away is to not make assumptions about technology that I am unfamiliar with. Code may be written in any language or only work on a particular platform. Assumptions and technology do not mix— even if they are logical. Let the learning continue!