Overview of the various bespoke Perl modules and mod_perl handlers used by the system…
MyReading::Core
- core functions and config settings
MyReading::Lists
- mod_perl handler for all /myreading/lists/ URLs
MyReading::Ajax
- mod_perl handler for all /myreading/ajax/ URLs
- generates the non-cacheable content for reading lists, e.g. live catalogue holdings info, access links, purchase options, etc
MyReading::Database
- handles all interactions with the MyReading MySQL database and the LMS
- uses Apache::DBI to provide persistent connections
MyReading::OnlineLookup
- for a given ISBN, DOI, etc, return details for an item by querying external databases (Amazon, CrossRef, etc)
MyReading::Render
- functions for the rendering of a list and the items on it
The following are the various CPAN modules currently used:
- Apache::DBI (for persistent database connections)
- Business::ISBN
- CGI
- Data::Dumper (for generating debug info)
- Digest::HMAC_SHA1
- Digest::MD5
- HTML::Entities
- HTTP::Date
- Lingua::EN::Numbers::Ordinate
- LWP::Simple
- LWP::UserAgent
- MIME::Base64
- Net::Amazon::AWSSign
- Storable (for temporary database caching)
- Time::HiRes (for benchmarking)
- WWW::Scraper::ISBN::GoogleBooks_Driver
- WWW::Scraper::ISBN::LOC_Driver
- WWW::Scraper::ISBN::OpenLibrary_Driver
- WWW::Scraper::ISBN::Yahoo_Driver
- WWW::SlideShare
- XML::Simple