SlideShare a Scribd company logo
1 of 19
Download to read offline
Electronic Resource Reminders
      in Google Calendar



              Nada O’Neal, Systems Engineer
                    nco2104@columbia.edu
               Columbia University Libraries
                        ENUG 10/28/2011
Specifics…
Specifics…
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.
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.
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)
!            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.
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
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]
Finding A Fund…
Viewing Funds…
Email/Popup Reminders…

On fund…       On event…
Subscriber Report…
Subject: Fundcode Calendar Subscribers (30 total)
From: nco2104@columbia.edu

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. […]
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/
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')";
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 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.
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
Other Resources
•  Email me at nco2104@columbia.edu!

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

More Related Content

Similar to O neal columbia

2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...
2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...
2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...datacite
 
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...The CTW Library Consortium
 
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...UKSG: connecting the knowledge community
 
From Project to Program: Building Sustainable Digital Collections
From Project to Program: Building Sustainable Digital CollectionsFrom Project to Program: Building Sustainable Digital Collections
From Project to Program: Building Sustainable Digital Collectionsegore
 
Store, Extract, Transform, Load, Visualize. Untagged Conference
Store, Extract, Transform, Load, Visualize. Untagged ConferenceStore, Extract, Transform, Load, Visualize. Untagged Conference
Store, Extract, Transform, Load, Visualize. Untagged ConferenceAni Lopez
 
Daily expenses tracker project ppt7.pptx
Daily expenses tracker project ppt7.pptxDaily expenses tracker project ppt7.pptx
Daily expenses tracker project ppt7.pptxssusere6f5a11
 
Itt dublin mobile library catalogue
Itt dublin mobile library catalogueItt dublin mobile library catalogue
Itt dublin mobile library catalogueNiamh Walker-Headon
 
Evaluating Electronic Resources
Evaluating Electronic ResourcesEvaluating Electronic Resources
Evaluating Electronic ResourcesRichard Bernier
 
12.10.14 Slides, “The SHARE Notification Service”
12.10.14 Slides, “The SHARE Notification Service”12.10.14 Slides, “The SHARE Notification Service”
12.10.14 Slides, “The SHARE Notification Service”DuraSpace
 
Improving Module Support for Academics and Students in UCD
Improving Module Support for Academics and Students in UCDImproving Module Support for Academics and Students in UCD
Improving Module Support for Academics and Students in UCDUCD Library
 
Selecting a Digital Collections Management System: Getting Large Projects Don...
Selecting a Digital Collections Management System: Getting Large Projects Don...Selecting a Digital Collections Management System: Getting Large Projects Don...
Selecting a Digital Collections Management System: Getting Large Projects Don...Cliff Landis
 
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...Charleston Conference
 
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...dwestbrook
 
A New Service Model through Technology
A New Service Model through TechnologyA New Service Model through Technology
A New Service Model through TechnologyBrian Gray
 
Ala 2011 pda preconference
Ala 2011 pda preconferenceAla 2011 pda preconference
Ala 2011 pda preconferenceboaz22
 

Similar to O neal columbia (20)

Project proposal
Project proposalProject proposal
Project proposal
 
2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...
2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...
2013 DataCite Summer Meeting - DOIs and Supercomputing (Terry Jones - Oak Rid...
 
amansingh.docx
amansingh.docxamansingh.docx
amansingh.docx
 
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...
2011 ACRL Workshop: Collaborative Collection Development & Patron-Driven Acqu...
 
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...
UKSG 2018 Breakout - TERMS redefined: developing the combination of electroni...
 
From Project to Program: Building Sustainable Digital Collections
From Project to Program: Building Sustainable Digital CollectionsFrom Project to Program: Building Sustainable Digital Collections
From Project to Program: Building Sustainable Digital Collections
 
Store, Extract, Transform, Load, Visualize. Untagged Conference
Store, Extract, Transform, Load, Visualize. Untagged ConferenceStore, Extract, Transform, Load, Visualize. Untagged Conference
Store, Extract, Transform, Load, Visualize. Untagged Conference
 
CTW’s Shared DDA Program
CTW’s Shared DDA ProgramCTW’s Shared DDA Program
CTW’s Shared DDA Program
 
Daily expenses tracker project ppt7.pptx
Daily expenses tracker project ppt7.pptxDaily expenses tracker project ppt7.pptx
Daily expenses tracker project ppt7.pptx
 
Itt dublin mobile library catalogue
Itt dublin mobile library catalogueItt dublin mobile library catalogue
Itt dublin mobile library catalogue
 
Evaluating Electronic Resources
Evaluating Electronic ResourcesEvaluating Electronic Resources
Evaluating Electronic Resources
 
12.10.14 Slides, “The SHARE Notification Service”
12.10.14 Slides, “The SHARE Notification Service”12.10.14 Slides, “The SHARE Notification Service”
12.10.14 Slides, “The SHARE Notification Service”
 
Improving Module Support for Academics and Students in UCD
Improving Module Support for Academics and Students in UCDImproving Module Support for Academics and Students in UCD
Improving Module Support for Academics and Students in UCD
 
Selecting a Digital Collections Management System: Getting Large Projects Don...
Selecting a Digital Collections Management System: Getting Large Projects Don...Selecting a Digital Collections Management System: Getting Large Projects Don...
Selecting a Digital Collections Management System: Getting Large Projects Don...
 
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...
Making the Big Move: Moving to Cloud-Based OCLC’s WorldShare Management Servi...
 
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...
ALA MidWinter 2013 - Electronic Resources Management Interest Group meeting -...
 
A New Service Model through Technology
A New Service Model through TechnologyA New Service Model through Technology
A New Service Model through Technology
 
Library projects
Library projectsLibrary projects
Library projects
 
Ala 2011 pda preconference
Ala 2011 pda preconferenceAla 2011 pda preconference
Ala 2011 pda preconference
 
Workflow Toolkit
Workflow ToolkitWorkflow Toolkit
Workflow Toolkit
 

More from ENUG

Jaffe o'brien-rosetta
Jaffe o'brien-rosettaJaffe o'brien-rosetta
Jaffe o'brien-rosettaENUG
 
Jones aleph acqorders
Jones aleph acqordersJones aleph acqorders
Jones aleph acqordersENUG
 
Yang enhance-voyager-user-innovations
Yang enhance-voyager-user-innovationsYang enhance-voyager-user-innovations
Yang enhance-voyager-user-innovationsENUG
 
Yang hofmann-next generationcatalogforenug
Yang hofmann-next generationcatalogforenugYang hofmann-next generationcatalogforenug
Yang hofmann-next generationcatalogforenugENUG
 
Bischof custom-circ-ov
Bischof custom-circ-ovBischof custom-circ-ov
Bischof custom-circ-ovENUG
 
Wenger sf xin-barton
Wenger sf xin-bartonWenger sf xin-barton
Wenger sf xin-bartonENUG
 
Guy avoiding-dat apocalypse
Guy avoiding-dat apocalypseGuy avoiding-dat apocalypse
Guy avoiding-dat apocalypseENUG
 
Collins whats buggingyou-aleph
Collins whats buggingyou-alephCollins whats buggingyou-aleph
Collins whats buggingyou-alephENUG
 
Wagner whats buggingyou-voyager
Wagner whats buggingyou-voyagerWagner whats buggingyou-voyager
Wagner whats buggingyou-voyagerENUG
 
Oneal perl-code-to-extract-from-voyager
Oneal perl-code-to-extract-from-voyagerOneal perl-code-to-extract-from-voyager
Oneal perl-code-to-extract-from-voyagerENUG
 
Schwartz ez proxy-logs
Schwartz ez proxy-logsSchwartz ez proxy-logs
Schwartz ez proxy-logsENUG
 
Moulen digital bookplates
Moulen digital bookplatesMoulen digital bookplates
Moulen digital bookplatesENUG
 
Moulen aleph update
Moulen aleph updateMoulen aleph update
Moulen aleph updateENUG
 
Enug2011 innovative use-of_sfx_with_new_interface-final
Enug2011 innovative use-of_sfx_with_new_interface-finalEnug2011 innovative use-of_sfx_with_new_interface-final
Enug2011 innovative use-of_sfx_with_new_interface-finalENUG
 
Callahan princetonenug2011
Callahan princetonenug2011Callahan princetonenug2011
Callahan princetonenug2011ENUG
 
Baksik3 enug baksik_xmlinvoice
Baksik3 enug baksik_xmlinvoiceBaksik3 enug baksik_xmlinvoice
Baksik3 enug baksik_xmlinvoiceENUG
 
Baksik2 enug baksik_ebookplates
Baksik2 enug baksik_ebookplatesBaksik2 enug baksik_ebookplates
Baksik2 enug baksik_ebookplatesENUG
 
Baksik1 enug baksik_rest
Baksik1 enug baksik_restBaksik1 enug baksik_rest
Baksik1 enug baksik_restENUG
 
Moulen batch loadingebookspdf
Moulen batch loadingebookspdfMoulen batch loadingebookspdf
Moulen batch loadingebookspdfENUG
 

More from ENUG (19)

Jaffe o'brien-rosetta
Jaffe o'brien-rosettaJaffe o'brien-rosetta
Jaffe o'brien-rosetta
 
Jones aleph acqorders
Jones aleph acqordersJones aleph acqorders
Jones aleph acqorders
 
Yang enhance-voyager-user-innovations
Yang enhance-voyager-user-innovationsYang enhance-voyager-user-innovations
Yang enhance-voyager-user-innovations
 
Yang hofmann-next generationcatalogforenug
Yang hofmann-next generationcatalogforenugYang hofmann-next generationcatalogforenug
Yang hofmann-next generationcatalogforenug
 
Bischof custom-circ-ov
Bischof custom-circ-ovBischof custom-circ-ov
Bischof custom-circ-ov
 
Wenger sf xin-barton
Wenger sf xin-bartonWenger sf xin-barton
Wenger sf xin-barton
 
Guy avoiding-dat apocalypse
Guy avoiding-dat apocalypseGuy avoiding-dat apocalypse
Guy avoiding-dat apocalypse
 
Collins whats buggingyou-aleph
Collins whats buggingyou-alephCollins whats buggingyou-aleph
Collins whats buggingyou-aleph
 
Wagner whats buggingyou-voyager
Wagner whats buggingyou-voyagerWagner whats buggingyou-voyager
Wagner whats buggingyou-voyager
 
Oneal perl-code-to-extract-from-voyager
Oneal perl-code-to-extract-from-voyagerOneal perl-code-to-extract-from-voyager
Oneal perl-code-to-extract-from-voyager
 
Schwartz ez proxy-logs
Schwartz ez proxy-logsSchwartz ez proxy-logs
Schwartz ez proxy-logs
 
Moulen digital bookplates
Moulen digital bookplatesMoulen digital bookplates
Moulen digital bookplates
 
Moulen aleph update
Moulen aleph updateMoulen aleph update
Moulen aleph update
 
Enug2011 innovative use-of_sfx_with_new_interface-final
Enug2011 innovative use-of_sfx_with_new_interface-finalEnug2011 innovative use-of_sfx_with_new_interface-final
Enug2011 innovative use-of_sfx_with_new_interface-final
 
Callahan princetonenug2011
Callahan princetonenug2011Callahan princetonenug2011
Callahan princetonenug2011
 
Baksik3 enug baksik_xmlinvoice
Baksik3 enug baksik_xmlinvoiceBaksik3 enug baksik_xmlinvoice
Baksik3 enug baksik_xmlinvoice
 
Baksik2 enug baksik_ebookplates
Baksik2 enug baksik_ebookplatesBaksik2 enug baksik_ebookplates
Baksik2 enug baksik_ebookplates
 
Baksik1 enug baksik_rest
Baksik1 enug baksik_restBaksik1 enug baksik_rest
Baksik1 enug baksik_rest
 
Moulen batch loadingebookspdf
Moulen batch loadingebookspdfMoulen batch loadingebookspdf
Moulen batch loadingebookspdf
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

O neal columbia

  • 1. Electronic Resource Reminders in Google Calendar Nada O’Neal, Systems Engineer nco2104@columbia.edu Columbia University Libraries ENUG 10/28/2011
  • 4. 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.
  • 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 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.
  • 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. ! 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.
  • 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. 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]
  • 13. Subscriber Report… Subject: Fundcode Calendar Subscribers (30 total) From: nco2104@columbia.edu 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. […]
  • 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. 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. Why not? •  customer service, support, history •  http API verses monolithic DB-to-xls dump
  • 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 is designed to expect to fail, and to be able to be run over and over.
  • 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. Other Resources •  Email me at nco2104@columbia.edu! 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