Thursday, 30 January 2014

Some basic customisation


Now, that I have Koha up and running, I would like to do some basic customisation.

I went into the Administration tools as shown in the final steps of the Ubuntu instructions and created my home library (Martinville Public). Now I wanted to see what else I could do, so it was time for some good old discovery through exploration. I went into the settings to see what I could do. I decided, since there were so many settings, that I would focus on OPAC customisation. I found the settings by searching the Global system preferences for the world OPAC. I changed a number of the settings to what I preferred, and this was relatively easy, each setting had a good description, any setting which needed each clarification could be looked up in the manual, and additional information and examples were available.
Koha Administration settings
A few settings in the OPAC configuration which I wished to change were a bit harder. They required me to brush up on my HTML skills. I was trying to get the image to scale to 100% of the page, and couldn't figure out how to do it. I had visited Google, and W3C Schools, but couldn't find the right way, so I asked my husband, and he said that all I needed to do was to add a style element to my <img> tag to create

<img src="http://i.imgur.com/0YQEJWX.png" style="width:100%;" alt="Martinville Library Banner" />

This worked very well, and I now had a banner which resized based upon the width of the widow.

I also edited the HTML for the footer to add my name

<p style="text-align:center;">&copy; Karla Martin</p>

as well as the Important links on the side, which I added a few links back to my public library, Hutt City, as fillers.

<ul style="list-style-type:none;">
   <li><a href="http://epukapuka.lib.overdrive.com/8532C2E5-CC21-4BB7-BA0C-2F42FF568DE1/10/50/en/Default.htm">Ebooks</a></li>
   <li><a href="http://library.huttcity.govt.nz/cgi-bin/spydus.exe/MSGTRN/OPAC/CONTACT">Contact us</a></li>
   <li><a href="http://library.huttcity.govt.nz/cgi-bin/spydus.exe/MSGTRN/OPAC/LOCATIONS">Locations & Hours</a></li>
</ul>

I used my existing knowledge of HTML to complete these tasks, referring to W3C Schools to find out how to remove bullet points from an unordered list.

Changed Koha Settings

My Customised Catalogue


What I learnt - I had a good existing knowledge of HTML which allowed me to set a lot of these settings rather easily. I was surprised to realise how easy I found it to change the settings. I think my previous knowledge of HTML helped a little, but this was greatly helped by the good manual and descriptions included with all the settings. I also learnt the knowledge of other people can sometimes trump Google searching, as when I couldn't find a way to get a full width header.

Thursday, 23 January 2014

Web Installation - Finally something I am familar with

This is the stage I has been looking forward to - a graphical interface. My goal was now to complete the web install and set-up of Koha.

  • I accessed the Koha web installer through the staff interface, and retrieved the password and user name, guided by the Ubuntu instructions.
  • I then followed the prompts to complete the setup. I encountered a few things I did not understand, however, and, as the installer didn't clearly explain what a lot of them did, I relied on Google to tell me what selecting this optional setting would do.


For example, I didn't know what "Matching rules for MARC 21" were, so I Googled it, and found section 4.7 of the Koha manual particularly enlightening. I did this for all the settings that weren't immediately obvious from their names, descriptions, and/or examples.

Now, finally, after many, many, many hours. I have two Koha web interfaces up and running: The OPAC, and the Staff/Administrator Interface, and they both work!
My Koha Staff/Administrator Interface
My Koha OPAC
I learned that I much prefer a graphical interface to command line, and that with instructions I can achieve what I thought also impossible. Having experience this complete install I am much less afraid to try command line interfaces, as most problems it seems can be solved with a little research, and a lot of perseverance.

Pre-Web Install Setup of Koha

It was another day, and I had decided to finish the pre-web installation and set up of Koha. My goal was to install and set-up MySQL, configure Apache, and determine the IP addresses.
  • I again followed the instructions on this page, with additional visual help from the Koha in 11 mins video.
  • Installing and setting up of MySQL was simple, and I just needed to follow the instructions given.
  • While configuring Apache, by thoroughly reading the instructions I figured out I needed to change the ports, as Koha setup uses a different port for the staff/administrative interface than for the OPAC. I went back to video, and attempted to see what they did. It showed I needed to change add a second virtual host and tell it to listen on port 8080.

  • The next few steps were completely straightforward. I retrieved my password for the web install, and was now ready to ditch the command line interface and do everything through the staff interface in a web browser.
What I learned - I learned to take care while reading to ensure that I picked on up any places where I had to enter something that differed from the default value (like changing the ports for the staff interface). I also found it helpful to have two sets of instructions, one in text, and one in video, and it provided me somewhere to refer to when the other was hard to understand. Having now finished with the command line, I find that it is not nearly as intimidating as I had once thought, and that I would probably use it more in the future.

Tuesday, 21 January 2014

Ubuntu - Third time's a charm, right?

Back to the drawing board - I was still trying to solve the same problem, that of installing Koha. Debian Squeeze had had issues with my user name, and Amazon Linux didn't have the ability to install Koha from a Debian package.

So what next? I still needed a Linux based AMI. Other than Debian Squeeze, Koha community also had instructions for installing on Ubuntu. Some quick double-checking on Google told me that Ubuntu was Debian-based, and there was an Amazon-supported Ubuntu AMI. I also knew that "ubuntu" was the user name. Why wasn't this my second choice?

It was 11:30PM, and I thought "Why not? I'll give this one more try. Third time's a charm, right?" I installed the Unbutu AMI and logged in via PuTTY. I was now an expert at doing this from my previous two attempts, and didn't even need the Koha in 11 Minutes video.

I then followed the instructions and commands to enter on the Ubuntu instructions from Koha community up to (but not including) Pre-Web install set-up. Everything worked exactly as planned, exactly as written in the instructions, and I now had Koha downloaded and installed. At 12PM. And I needed to get up in just over 5 hours.
Koha Installed

What I learned - That, while sometimes all you need to do is just follow the instructions to get a good result, it is important to make sure that the instructions actually apply to your exact situation. Once I got a Linux platform I could actually work with, I found this was remarkably simple. I originally thought entering the code into the command line would be my biggest challenge, but this proved remarkably simple and easy for me to grasp compared to bizarrely abstract problems like the differences between two versions of Linux, or what somebody has decided to make the default username.

I also learned a lot from my two failed attempts. I found that setting a server up on AWS and logging in via PuTTY was actually pretty simple, whereas at first I had found it difficult. This could be due to the fact that practice makes perfect, but also, through my failures, I learned what I was actually doing, rather than just following some instructions. Most importantly, I understood what I was trying to do when performing those actions. This increased my ability to problem solve, and I think this will be especially useful if I attempt to do this again.

Amazon Linux (Red Hat) and the Yum Repository

Now that I had given up on Debian Squeeze, I needed to find a different AMI, and to follow the same steps again up to the point where I try again to access it.

I choose another Linux AMI. I decided to go with Amazon Linux. I decided this as I knew the user name for this AMI, so I hoped this would not be a problem to access, and as my research had told me Koha will work on any Linux based server. I also figured that Amazon Linux would have the most support (especially in the form of user guides) from Amazon, since they put their name on it.

Once I had launched this instance on AWS (which took all of ten minutes, thanks to my previous experience), I again followed the instructions for accessing via PuTTY, and this proved no difficulty.

Now I had access to the my server through the command interface. This was a Woo hoo! moment, however short lived... I went back to the video I had found, which promised Koha in 11 Minutes (11 minutes which I was currently at least 4 hours into...). Although this video was based upon Debian Squeeze, I assumed I could work around any issues, as the two platforms are both Linux based, and so should be fairly similar.

The next problem to solve was to download and install Koha itself. Both the video and the instructions from Koha community tell you to add the Koha community repository by adding the line

deb http://debian.koha-community.org/koha squeeze main

to the file

/etc/apt/sources.list.d/koha.list

I tried this using the nano text editor, but found that there wasn't even a folder /etc/apt. Probably just a difference between Debian Squeeze and Amazon Linux, I thought. I tested out what the next step would do without having the repository added, and typed the command

$ sudo apt-get install koha-common

It, unfortunately, did not install Koha. In fact, it didn't even know what apt-get was. Neither did I, so I did some more research. To quote Wikipedia,

"The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants."

"Amazon Linux is Linux based," I thought. "So why isn't working?" I had had enough by now, being that it was 11pm, and I had to get up at 5.30 in the morning, but was determined to have Koha at least installed. I decided to phone a friend (not literally), and I asked my husband. He said that I should look to see if I can find out what the package manger is for Amazon Linux, as it may be different. So, back to Google.
I searched for "Package manager Amazon Linux," and found this handy page. The package manager for Amazon Linux is Yum. I went back to my command line again, and now typed in

$sudo yum install koha-common

It didn't work. It said something along the lines of can't find Koha Common, which was about what I expected. I did some Googling to find out how to add a repository to yum, but the instructions I found made no sense with the information I had (yum configuration needs a lot more details to add a repository, and they're structured completely differently). As it turns out, yum is not the same as apt at all, though they fulfill the same purpose. Basically, Debian-based Linux distributions use apt and Red Hat-based Linux distributions use yum. Koha is only available either as a totally manual installation or as a Debian repository. Koha was not going to work on Amazon Linux. It was time to start over. Again.

I learned that sometimes, especially at 11pm, you need to ask for somebody to talk it through with, and you need a lot of perseverance to do something complicated on a totally unfamiliar system. I also learned that, although I had thought ahead, maybe I should have investigated this version of Linux, and consulted the Community Pages, which had no instructions for Amazon Linux, and instead chosen one that I had specific instructions for, instead of trying to merge the two. The last thing I learned is to not assume. I had made the mistake of assuming that two operating systems would be mostly compatible because they were both called Linux.

Accessing my Debian Server - Why, oh, why Debian

My next goal was to try and remotely log in to the server as the root user (or administrator), of my Debian Squeeze instance on AWS.

I needed to access this through a command line interface, which is vastly different to the prettied up graphical interface I am use to.

I was trying to connect via to my server via PuTTY using
root@ec2-54-84-52-230.compute-1.amazonaws.com as laid out in both the AWS User Guide and the Koha in 11 Minutes video. I followed these to the letter, but I kept getting the error below:

My first thought was that the the key I had downloaded to authenticate my access was somehow corrupted, so I started this step again, getting a new key. This yielded the same error, so I Googled the error message, and figured out found that I was probably not following the step pictured below.


I tried to look up my user name by finding the Debian Squeeze AMI again, but it provided no clues as to what it could be. My AMI did not list the root user name, as I had chosen an machine from the Community AMIs, and not the standard AMIs created by Amazon. Having figured this out, I attempted various user names suggested by Amazon Troubleshoot Page and Google, including: debian, ec2user, admin, and various others.

I tried Google my AMI, but could find no more information of any use. After about 3 hours of frustration, I realised it would be quicker to just give up and use another Linux AMI.

I learned that perseverance is good trait to have, but there is only so much you can do before it becomes more worthwhile to try something else. In other words, I learned when to change tactics, and try a different approach, and where to draw the line between perseverance and stubbornness. In future, I will look a few steps ahead in the process, and make sure I have all the appropriate information to complete the next step. This way I will not waste as much time attempting to do something that is simply not going to work.

Amazon Web Services - Setting up my Debian Server

My goal was to set-up an Amazon Web Services (AWS) account, and create a Debian Squeeze server on it.

  • I followed the prompts to set-up a AWS account. This was straightforward
  • Using the video Koha in 11 minutes I followed the instructions for setting up an instance (virtual server) on Amazon EC2.
  • I needed to choose an Amazon Machine Image (AMI). Based upon my research, I wanted one from the community AMIs, Debian Squeeze 6.0, 64bit. I made sure the image I found met these specifications, and followed the simple step-by-step interface to install it.
  • I found that the instructions in the video were now slightly out of date. Although the actions I needed to do were the same, things were not in the same place, or were now found later in the process. To overcome this, I used some reasoning, and tried to find the same process and see what it looked like now. This involved some outside the box thinking, as well and skipping back and forth through the video, and making sure all the steps were complete before moving on to the next stage.
  • When I didn't understand why I was doing something, I would check help information, and if I still did not understand I Googled it. This was mostly to answer questions like "What the heck is SSH?" (remote access to the server command line) and "Why do I need to set up the extra 8080 port" (it's for the staff/administrative access web interface).
I was surprised at how easy I found this step. I learned that doing research and finding the instructions which worked best for me (i.e. visual format) was key to my success. Although these instructions were not perfect, I found it was important to have the creative thinking to merge several resources, as well as detective work, to complete this task. I also learned a lot about the bigger picture - what a server actually is and how the internet works. Having a solid grasp on the fundamentals makes it a lot easier to understand small details when they come up.

Monday, 13 January 2014

Research, research, research

I am a true reference librarian. I need to research a lot before I begin any project or assignment. I almost need to know everything about a topic before I decide to do anything (this is a bad habit I know).

My goal was to find out how to install Koha, what resources I would need, what I would need to know, and the different approaches I could take (if any). Therefore, I needed to do some research.

  • I first attempted to just Google "Installing Koha". Google is most often my first port of call, and through this found the Koha Community, and although this page was helpful, in terms of describing what I would need to know, it didn't give me step-by-step instructions from beginning to end.
  • After seeing this page, I decided to search the library for how to books on not only Koha, but Perl, MySQL, and Apache, so that I could also refer to these when necessary.
  • Through this, I also found the Community Wiki and email lists, which I thought would prove helpful if and when I encountered issues.
  • Through searching the Community Wiki, I found install instructions for Debian and Ubuntu, and established that Debian Squeeze was the recommended operating system for install but that any Linux-based operating system should work.
  • None of these contained instructions for setting up the Linux environment in the first place, so I again did some Google searching, using terms such as "Setting up a Linux (or Debian) Server," and found several options that I could use on my Windows computer, including VirtualBox and creating a separate partition and installing a Linux operating system on it. However, I was in the process of moving house and was unsure about my internet connection, so did not want it on my home PC where I could possibly lose my connection, and nobody would be able to see my server.
  • I had resigned myself to having to take this risk, but I still had one more thing to search for: a video tutorial. I am a visual learner, so I decided to search YouTube and Google for video instructions of people installing Koha from scratch. That is when I stumbled upon a video called - Koha in 11 minutes. I was sold! I started to watch it, and they were using Amazon Web Services (AWS). I decided to investigate this to see if I could use this to run Koha.
  • AWS did indeed have a free tier of services, which I found suited my needs perfectly. I decided to follow the video's lead and use AWS with an installation of Debian Squeeze.
What this taught me: Doing initial research is important. It allowed me to get a handle on what this project would involve, and allowed me to see many different approaches to take, and to choose the one which most suited my needs. Also, although Google searching is effective, looking beyond the initial page it finds to others on the same website can sometimes yield even better content than that discovered by Google. In future, I will remember to look beyond the page that Google found to see what other gems the website may contain.

Saturday, 4 January 2014

Koha - The instant regret

I have decided, for my project, to get Koha installed and up and running. Why Koha? To be perfectly honest, at the time of posting this, I was regretting my decision just a little bit (well a lot). I want to learn how to install Koha because my library (a government library) is looking at moving from its current Library Management System (LMS), which is Notebooks (part of Lotus Notes) to a different system. We have looked into various free and commercial LMS, but have decided to try Koha. I would like to see if I can learn the skills needed to install and run this software, as the cost of getting this done by another company is a not unsubstantial. I am also interested in learning these skills for myself, as I think they will enhance my understanding of how to create and run a server, as well as some programming skills. I have also never worked with a command line, so I am interested working with this.

The reason I say I am regretting this is, although I believe I am reasonably technically competent, I didn't release just how involved Koha was, nor how many technical skills I would need to implement it. In other words, I think I may have bitten off more than I can chew.
http://www.pinterest.com/pin/95771929547015404/

I was being a bit naive thinking that it would be like most other software, and would just require installation and simple customisation. I quickly figured out this is not the case. I will need to acquire knowledge of Debian Squeeze, Apache, MySQL, and Perl.

For this reason, I had decided to just try and get a version of Koha installed, and running, and hopefully add a few items to the catalogue. I will set smaller goals and try and achieve each of these, rather than the ultimate goal of having a version of Koha completely up and running.