Friday, November 16, 2018

Week 12: Kaltura, ArchivesSpace, and Google Studio.

Three items of systems related success this week:

  1. Kaltura issues: so we are using up all the disk space on the server. I decided to try and just delete files to get enough room so if I have to remove content it is updated in the database properly.

    As I would expect it, I remove and make space one day with no luck, then the next day I move one of the videos over to WU's hosted server, and prep a page for it on my development server. I remember that there are some interviews also on our pages that I might have to bring over, and sure enough, the interview loads fine as well as well as the admin pages now. So well keep this as is until next week when we meet with Casey regarding disk space.
  2. ArchivesSpace issues: so everyone once in a while I think the archivesspace software loses its connection to the MySQL database. I think with a lot of the content, it just relies on the SOLR indexes, but on the main repositories query when clicking on "Collections" and if you tried to do a search in a specific collection both functions failed with an error unable to connect to the database. A reboot of the software fixed the problem and restored the collections listing and search.
  3. Google Studio: so last week I got to attend a great conference, it was the NWACC 2018 Instruction Technology Roundtable, NWACC is the Northwest Academic Computing Consortium. One of the best sessions was a breakout session on technology tools, and one of the top picks besides Adobe Spark that I picked up was Google Studio. I have started working on a number of different reports now, with different data sources, and it looks like might even be able to sync some of the data up with our Google Analytics, but well save that for another blog post. Here is a link to libguides usage at Willamette, with a data source being a Google Doc spreadsheet.

Friday, November 2, 2018

Week 10 - Fall 2018 (cron jobs, analytics, and archivesspace OAI)

Three items of systems related success this week:

  1. Cron jobs are now running to backup the archivesspace database, using cron and the .my.cnf file this is now working reasonably well with a backup every morning at 6:30 a.m. we are going to keep just the last two created
  2. The second thing I worked on was getting the new Finding Aids from ArchivesSpace piped into our Primo instance. So I had to delete the all of the old WUARCHIVES scope, and then harvest the new finding aids from the OAI (port 8082) of our server which for some unknown reason to me was not open. Then once WITS opened permanently for me, since I could open temporarily by editing the IP tables, I had to set up a proxy for it since ExLibris from off-campus had to do the harvesting. Which also had me create a new normalization rule similar to the CONTENTdm one with some minor modifications.
  3. Finished off this week with some alma analytics trying to clean up some old messy records on our system and also demo something for the upcoming systems call for analytics.

Friday, October 26, 2018

Week 9 - Fall 2018 (Kaltura, ArchiveSpace, Google Tag Manager)

Here are three systems related tasks/actions for the ninth week of the fall semester.



  1. This week I was dealing with a Kaltura player and playlist that we wanted to be responsive to its layout. Well, I spent way too much time on this one trying to customize the player and playlist using HTML and the Kaltura API. As it turned out, it was already in a responsive player set to a 16 x 9 ratio. However, it's width was actually large than the div it is was in so it would pooch out the side. Mike shared a way to make a player responsive, but to be honest, I don't think you need to use that trick anymore. Good thing this one got finished this week.
  2. Did some organizing to our Google Analytics and Tag Manager. It's perfect now as I went over with Mike how we had it set up, he shows me how we want to capture all pages, but with the way the application is set up, we also need to capture the History Changes. We verified this is in place and working for the Academic Commons, we also set it up for the new instance of ArchivesSpace.
  3. Finish the week off with another Kaltura related challenge, I'm looking at integrating Kaltura into Omeka, and Will at the IU Digital libraries had written an Omeka plugin for Kaltura. It's not official, but I thought I would give it a try. It basically takes the Kaltura information, uiconfID, parnterID, and then based on your parameters it will play a video. Turns out its really designed with PHP 7, and the libapps server is just on 5.3. So I'm going to move my development to libtest-1, which is running PHP 7. Something positive from that challenge last week. 

Friday, October 19, 2018

Week 8 - Fall 2018

Sorry about the gap in blog posts, it has been very busy and finding time to capture what I'm working on has not been easy. Also, thinking if I now try to keep it weekly it might have a better chance to happen.

The three top systems related items from this week:
  1. PHP and Curl, so this one was not much fun. I had a server which I thought was designated for me to use for development and staff operations.  However, it got grabbed and used for development of http2 so I basically had to install a new version of php on it, CURL, and then symlink in my website pages to get my program to work. Not ideal, but I guess I did learn some new systems stuff.
  2. News photos trick - so on our live library server we wanted to just have the name of the image files remain the same, while on a monthly basis putting in a new image. The only problem, is if you keep the names the same, a browser reload does not pick up the new image file but still shows the old one even though the file is different. Looking around for a solution, I found if you append a "?" with a random number after the file name, it causes the browsers to reload the image file. So we now have an image call that looks like this:

    <img src="images/site/features/reads.jpg?5656" alt="WU Reads" width="250" height="200" />

    and the new images are served each time.
  3. Started on Lean Javascript Fundamentals from udemy.com and I also found a great chapter on Asynchronous Programming. Going to change this now, as Mike wants me to look at using Angular six, so my new tutorial to work through is this one on YouTube: angular 6 tutorial for beginners

Friday, October 12, 2018

Summer Academic Commons Usability...

So I wanted to at least capture what we came up with during our testing of the Academic Commons of Summer 2018.

Here are the test folks and the date and time we had them test the site.

This was the moderator script and these were the notetaker sheets.

We had three folks take the test, the only problem which I had with them is that they all were library employees. Not sure it affects the outcomes, but to me, it just seems like it must.

These were the outcomes of the testing.

Mike does not believe we can do much with these now, so we will just sit on them. If we do ever return to looking at using the Academic Commons we may return to these test results.

Friday, July 13, 2018

IE and Conditional Styles, eXist indexing...

So two challenges this week:


  1. I had created an angular javascript addition to the catalog to display the gift book information of a title, so you can click on it, and then get a listing of all gift books from that donor. Well I have this in place for most of the year, and just happened to notice in IE, that it was not working, and it was placing the words "Gift of" on each title since the stylesheet declaration to not display was not working.

    For the longest time, I thought it was strictly a CSS issue and IE, but the more I looked into it I saw that my conditional CSS was not getting populated with anything, and just was style="$ctrl.show".

    So I started looking for information on CSS, angular ctrl elements, and IE. And sure enough, found that you must use ng-style instead of style, otherwise, some browsers like IE will remove invalid style attribute values (presence of {} etc makes it invalid) before even angular has a chance to render it. When you use ng-style angular will calculate the expression and add the inline style attributes to it.

    However, even just flipping to just ng-style, was not enough, I needed to make it ng-attr-style <span ng-attr-style="$ctrl.show"> and now it works properly in both browsers. I also rewrote what I had as a module which is better than just a component.
  2. The other challenge has been eXist, and I could not figure out how I was not able to get any results in my eXist queries to just search for full text, and I know that there must have been something different that I was doing as it had worked before.

    Below is an example:

    http://exist.willamette.edu:8080/exist/apps/METSALTO/api/SearchQuery.xquery?q=all^Editorial^phrase&collection=studentpubs&type=search

    and this returns a json string of matches, but for some reason, it would work any other collection but the one I had been working on in studentpubs. I think it came down to who I was logged in when I ran the full-text indexing query. Ran as administrator I would never get results, re-ran as myself and I get results just fine now.
I'm just glad I did not have to ponder these issues over the weekend.

Friday, July 6, 2018

ArchivesSpace Proxy...

This task should have been easier than it was. So I needed to proxy archivesspace similar to how proxy Kaltura and Omeka from libmedia.

Usual apache proxy, but on archivesspace, there are some config settings in the ruby application that need to be set.

AppConfig[:frontend_url] = "http://libtest-1.willamette.edu:8080/archives/asadmintest"

AppConfig[:public_url] = "http://libtest-1.willamette.edu:8081/archives/astest"

So for them, the staff side is the frontend URL. Once I had these set up I then set the proxy pass on libmedia:

ProxyPass /archives/asadmin http://archivesspace.willamette.edu:8080/archives/asadmin
ProxyPassReverse /archives/asadmin http://archivesspace.willamette.edu:8080/archives/asadmin

ProxyPass /archives/as http://archivesspace.willamette.edu:8081/archives/as
ProxyPassReverse /archives/as http://archivesspace.willamette.edu:8081/archives/as

Thought that would be it, but there was still a link on the main page of the interface displaying archivesspace.willamette.edu

So I added this to the config.rb file:

AppConfig[:frontend_proxy_url] = 'https://libmedia.willamette.edu/archives/asadmin'
AppConfig[:public_proxy_url] = 'https://libmedia.willamette.edu/archives/as'

Now my front page link is properly pointing at the proxied address.