19
Electronic Resource Reminders in Google Calendar Nada O’Neal, Systems Engineer [email protected] Columbia University Libraries ENUG 10/28/2011

O neal columbia

  • Upload
    enug

  • View
    294

  • Download
    0

Embed Size (px)

Citation preview

Page 1: O neal columbia

Electronic Resource Reminders in Google Calendar

Nada O’Neal, Systems Engineer [email protected]

Columbia University Libraries ENUG 10/28/2011

Page 2: O neal columbia

Specifics…

Page 3: O neal columbia

Specifics…

Page 4: O neal columbia

Columbia’s Problem

Some background: •  Columbia Libraries = big, federation of many libraries •  Electronic subscription resources = lots, expensive •  Assessment of subscription e-resources is hard

The problem: •  Assessment of electronic subscription resources was great in some libraries, less

great in others •  There wasn’t much guidance for assessors who wanted it •  Data is available for assessors, but they must proactively get it themselves The solution: •  Some push technology that enforced a 5- and 3-month pre-renewal assessment

schedule.

Page 5: O neal columbia

Wait. Why push?

Push (instead of “pull”) means the data goes to the people, instead of people needing to go to the data. Fantastic! Email, pop-ups, etc, are examples of push technology. Oh. Note that push technology can backfire because it can be very annoying, in which case people will block/ignore it. It works best when it fits into existing workflow, and when users get exactly what they want.

Page 6: O neal columbia

Columbia’s Pick

•  The Libraries had just completed a transition to Google Calendar.

•  Available to all staff •  Staff were already using heavily to manage schedules

•  This made ninja-push possible •  Staff had been recently trained •  IT Staff were (somewhat) experienced with the API •  Cheap! (free)

Page 7: O neal columbia

gCal Caveats

•  Reminders at most 4 weeks in advance •  The http API is slow •  The API is limited •  http requests can be interrupted •  Google is “in the cloud”, man •  Data privacy! Understand: Columbia is using “Google Apps for your Domain”, Education edition, which is different from a consumer Google account, especially in terms of privacy. Is gCal the best choice for you? Maybe.

!

Page 8: O neal columbia

Our App in GCal

•  Each fund code is its own calendar •  These are secondary calendars under the “_backup”

service account, so they must be added to the global address book

•  Any Columbia Libraries staff can view any fund calendar •  A user begins typing “Fund Code …” and the calendar pops

up •  A user can subscribe themselves to receive email or pop-up

reminders for a code/calendar or a resource/event •  Assessment working group members receive a monthly

emailed report on who is subscribing to what

Page 9: O neal columbia

Expenditure = 3 events

•  Each fund may have hundreds of expenditures! •  Each expenditure is entered once, on the day it happened •  5-month and 3-month renewal reminders (for non-negative expenditures) •  (There is no expiration event.) Sample calendar event: On 10/27/2011: Title: renew Asian philosophy $XXX by 01/26/2012 Event data: (three months reminder) 2035E 1AEM2727 20110126 Asian philosophy.

1 Abingdon, Oxfordshire : enk expenditure $XXX 9123215 ags1 EBS29 USD $XXX CUL 11 EBSCO [1: 20(01/11)-21(12/11) - PRINT + ONLINE] [Start Date:

2011-01-01] [End Date: 2011-12-31]

Page 10: O neal columbia

Finding A Fund…

Page 11: O neal columbia

Viewing Funds…

Page 12: O neal columbia

Email/Popup Reminders…

On fund… On event…

Page 13: O neal columbia

Subscriber Report…

Subject: Fundcode Calendar Subscribers (30 total) From: [email protected] Here's the latest list of people subscribed to at least one fund calendar. This is an automated message. 1. Xxxxx Xxxxxx (2038E, 4317E) 2. Xxxxx Xxxxxx (2235E, 2235EO, 2242E, 2248E, 2248EO, 2464E) 3. Xxxxxx Xxxxxx (2011E, 2029EO, 2462E, 2462EO, 2464E, 2465E, 2564E) 4. Xxxxxx Xxxxxx (2040E, 2462E, 2462EO, 2463E, 2465E, 6255E) 5. […]

Page 14: O neal columbia

Data into Google

•  Choice of python somewhat arbitrary: Google has good, well-supported APIs for: •  python •  .NET •  Java

•  And other APIs for: •  php •  javascript •  ruby

•  See http://code.google.com/apis/calendar/

Page 15: O neal columbia

Data from Voyager

•  I opted to keep the current perl scripts that were producing “Excel” reports from Voyager’s Oracle backend, and to extract the data from those.

$sql = "SELECT DISTINCT FUND_TRANSACTION.TRANS_TYPE, FUND_TRANSACTION.AMOUNT, TO_CHAR(FUND_TRANSACTION.TRANS_DATE,'yyyymmdd'), FUND_TRANSACTION.TRANS_DATE, FUND_TRANSACTION.OPERATOR_ID, FUND_TRANSACTION.REFERENCE_NO,FUND_TRANSACTION.NOTE, FUND.INSTITUTION_FUND_ID, FUND.FUND_NAME, FUND.FUND_CODE, FUND.FUND_ID, FUND.EXPENDITURES, LEDGER.LEDGER_NAME FROM $database.FUND_TRANSACTION, $database.FUND ,$database.LEDGER WHERE FUND.FUND_CODE = '$fundcode' AND FUND.FUND_ID = FUND_TRANSACTION.FUND_ID AND ( FUND.LEDGER_ID = '29' OR FUND.LEDGER_ID = '30') AND FUND.LEDGER_ID = FUND_TRANSACTION.LEDGER_ID AND FUND_TRANSACTION.LEDGER_ID = LEDGER.LEDGER_ID ORDER BY FUND.FUND_CODE,TO_CHAR(FUND_TRANSACTION.TRANS_DATE,'yyyymmddhhmiss')";

Page 16: O neal columbia

Why not?

•  customer service, support, history •  http API verses monolithic DB-to-xls dump

Page 17: O neal columbia

Script Structure

•  Find all current Fund Codes •  Create any new Fund Code calendars •  Add any new calendars to global address book •  Take new list of fund code calendars •  For each calendar,

•  download list of this fiscal year’s events •  compare to current cumulative file of transactions •  add any missing events and any missing reminders

… everything but the first item is an API call. The script is designed to expect to fail, and to be able to be run over and over.

Page 18: O neal columbia

Helper Scripts

•  For the times your script has made bad entries/duplicates: •  Address book cleaner •  Something to delete calendars matching criteria

•  For when the business logic changes: •  Something to empty calendars or selectively empty

calendars •  Something to list users subscribed to calendars

Page 19: O neal columbia

Other Resources

•  Email me at [email protected]!

Google Calendar as manual reminder app: •  http://www.libraryinnovation.org/article/view/23 Google APIs: http://code.google.com/apis/ Columbia’s renewal reminder application: •  See poster about renewal app at http://hdl.handle.net/

10022/AC:P:9978 (includes link to code) •  Article will be available in JERL Volume 24, Issue 2