Skip to content

Instantly share code, notes, and snippets.

@jweisman
jweisman / gist:15bfa5094ea463d6c4c0
Created June 2, 2014 15:31
Primo Feedback Button
<script>
var timer;
var feedbackOn = false;
var isInitial = true;
var cookieName = "feedback";
function showFeedback() {
cleanTimer();
if (!feedbackOn) {
$("#shorttext").css("display", "none");
@jweisman
jweisman / harvest.rb
Last active September 3, 2015 08:23
Harvest OAI to AWS CloudSearch
require 'rest-client'
require 'nokogiri'
require 'aws-sdk-core'
def process_oai(inst, qs, domain, alma)
oai_base = "https://#{alma}.alma.exlibrisgroup.com/view/oai/#{inst}/request"
log "Calling OAI with query string #{qs}"
oai = RestClient.get oai_base + qs
@jweisman
jweisman / chart.html
Last active September 2, 2021 05:08
Google Chart from Analytics API
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['corechart']}]}"></script>
<script>
google.setOnLoadCallback(drawChart);
function drawChart() {
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","https://api-na.hosted.exlibrisgroup.com/almaws/v1/analytics/reports?path=%2Fshared%2FAlma%2FFulfillment%2FReports%2FGeneral%20Circulation%20Statistics&apikey=[[APIKEY]]",false);
xmlhttp.send();
@jweisman
jweisman / AlmaValidateFields.groovy
Last active January 19, 2023 07:20
Script to validate the existence of several custom fields on transition using the ScriptRunner plugin for Jira.
import com.opensymphony.workflow.InvalidInputException
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
def customFieldManager = ComponentManager.getInstance().getCustomFieldManager()
def fields = []
// For Alma issues, if issue is fixed, make all sorts of validations
@jweisman
jweisman / curl.txt
Last active February 9, 2017 10:29
Alma SWORD Deposits
-----------------1605871705
Content-Type: application/atom+xml; charset="utf-8"
Content-Disposition: attachment; name=atom
MIME-Version: 1.0
<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:dcterms="http://purl.org/dc/terms/">
<title>Deposit sample</title>
@jweisman
jweisman / add-file.sh
Last active November 1, 2016 09:33
Shell script to add a file to an Alma Digital representation
INSTITUTION="YOUR-INSTITUTION"
AWS_BUCKET="na-st01.ext.exlibrisgroup.com"
APIKEY="YOUR-API-KEY"
FILENAME=`basename "$1"`
if [ $# -lt 2 ]; then
echo "Usage: `basename $0` file-name representation-id [file-label]"
exit 0
fi
@jweisman
jweisman / index.js
Created December 17, 2016 18:15
Twitter Card Proxy
'use strict';
exports.handler = function(event, context) {
var agent = event.headers['User-Agent'] || 'None';
var path = event.path.substring(event.path.indexOf('http'));
if (agent.startsWith('Twitterbot')) {
var proxy = require('./proxy');
proxy(path, (err, status, headers, body) => {
var response = {
@jweisman
jweisman / workflow.json
Last active April 17, 2018 12:23
Azure Logic App for Alma Webhooks
{
"$connections": {
"value": {
"sftp": {
"connectionId": "/subscriptions/78e1da39-3d31-4b09-8636-f49b6fc5223b/resourceGroups/DefaultResourceGroup/providers/Microsoft.Web/connections/sftp-1",
"connectionName": "sftp-1",
"id": "/subscriptions/78e1da39-3d31-4b09-8636-f49b6fc5223b/providers/Microsoft.Web/locations/eastus/managedApis/sftp"
}
}
},
@jweisman
jweisman / export-set.sh
Last active October 18, 2017 06:24
Process Orchestration in Alma with the Job and Set APIs
#!/bin/bash
echo "Creating new set"
SET_ID=`curl -s --fail -X POST -H "Authorization: apikey $API_KEY" -H "Content-type: application/xml" -H "Accept: application/xml" --data @set.xml "https://api-na.hosted.exlibrisgroup.com/almaws/v1/conf/sets" | xmllint --xpath '/set/id/text()' -`
res=$?
if test $res != 0; then
echo "HTTP request failed with return code $res"
exit $res
fi
@jweisman
jweisman / bibcard.html.erb
Last active October 9, 2020 18:03
Linked Data example - Alma JSONLD and BibCard
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title><%= viewmodel[:title] %></title>
</head>