Electronic Resource Reminders      in Google Calendar              Nada O’Neal, Systems Engineer                    nco210...
Specifics…
Specifics…
Columbia’s ProblemSome background:•  Columbia Libraries = big, federation of many libraries•  Electronic subscription reso...
Wait. Why push?Push (instead of “pull”) means the data goes to the people,instead of people needing to go to the data. Fan...
Columbia’s Pick•  The Libraries had just completed a transition to Google   Calendar.•  Available to all staff•  Staff wer...
!            gCal Caveats•    Reminders at most 4 weeks in advance•    The http API is slow•    The API is limited•    htt...
Our App in GCal•  Each fund code is its own calendar    •  These are secondary calendars under the “_backup”       service...
Expenditure = 3 events•    Each fund may have hundreds of expenditures!•    Each expenditure is entered once, on the day i...
Finding A Fund…
Viewing Funds…
Email/Popup Reminders…On fund…       On event…
Subscriber Report…Subject: Fundcode Calendar Subscribers (30 total)From: nco2104@columbia.eduHeres the latest list of peop...
Data into Google•  Choice of python somewhat arbitrary: Google has good,   well-supported APIs for:    •  python    •  .NE...
Data from Voyager•  I opted to keep the current perl scripts that were producing   “Excel” reports from Voyager’s Oracle b...
Why not?•  customer service, support, history•  http API verses monolithic DB-to-xls dump
Script Structure•    Find all current Fund Codes•    Create any new Fund Code calendars•    Add any new calendars to globa...
Helper Scripts•  For the times your script has made bad entries/duplicates:    •  Address book cleaner    •  Something to ...
Other Resources•  Email me at nco2104@columbia.edu!Google Calendar as manual reminder app:•  http://www.libraryinnovation....
Upcoming SlideShare
Loading in …5
×

O neal columbia

439 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
439
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

O neal columbia

  1. 1. Electronic Resource Reminders in Google Calendar Nada O’Neal, Systems Engineer nco2104@columbia.edu Columbia University Libraries ENUG 10/28/2011
  2. 2. Specifics…
  3. 3. Specifics…
  4. 4. Columbia’s ProblemSome background:•  Columbia Libraries = big, federation of many libraries•  Electronic subscription resources = lots, expensive•  Assessment of subscription e-resources is hardThe 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 themselvesThe solution:•  Some push technology that enforced a 5- and 3-month pre-renewal assessment schedule.
  5. 5. 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 backfirebecause it can be very annoying, in whichcase people will block/ignore it.It works best when it fits into existingworkflow, and when users get exactlywhat they want.
  6. 6. 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)
  7. 7. ! 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 yourDomain”, Education edition, which is different from aconsumer Google account, especially in terms of privacy.Is gCal the best choice for you? Maybe.
  8. 8. 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
  9. 9. 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/2012Event 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]
  10. 10. Finding A Fund…
  11. 11. Viewing Funds…
  12. 12. Email/Popup Reminders…On fund… On event…
  13. 13. Subscriber Report…Subject: Fundcode Calendar Subscribers (30 total)From: nco2104@columbia.eduHeres the latest list of people subscribed to at least one fund calendar. This is anautomated 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. […]
  14. 14. 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/
  15. 15. 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)";
  16. 16. Why not?•  customer service, support, history•  http API verses monolithic DB-to-xls dump
  17. 17. 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 isdesigned to expect to fail, and to be able to be run over andover.
  18. 18. 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
  19. 19. Other Resources•  Email me at nco2104@columbia.edu!Google Calendar as manual reminder app:•  http://www.libraryinnovation.org/article/view/23Google 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

×