Overview
I've just finished the beta release of the Goodreads Integration extension for Joomla. ·This plugin uses the Goodreads developer API to integrate your book reviews and booklists into your existing Joomla website.· To see the plugin in action, check out my personal site or ashleyperez.com.· If you want to use the core API library for a different Goodreads integration project, there is a separate page for the Goodreads API PHP library here.
If you find this extension useful, please consider making a contribution to support further development.
- Bug Reports
- Upcoming Features
- Quick Start Guide
- Tips and Technical Notes
- License and Warranty
- Use of the Goodreads API
- Download the Latest Version
Bug Reports
To make a bug report or feature request, please use the issue tracker on the joomlacode.org.
Upcoming Features
I'm considering the following features for the next update of the goodreads plugin. If you have feature requests or suggestions for improvement, please submit them at the issue tracker.
- Search plugin to integrate and return results
- Other review pages, like all reviews by an author
- Links to specific reviews (for linking from other locations)
- Option to show a clickable alphabet (instead of next/previous) for paginated results -- this may be tricky if it is hard to determine the author's last name.
Quick Start Guide
- Download and install the Goodreads Integration plugin for Joomla!.
- Go to: www.goodreads.com/api and sign up for a developer API key.
- Determine your Goodreads User ID number (usually the number toward the end of the URL on your user page.
- Enter the API key and your user ID number in the parameters box, and set whatever other options you want.
- Create a menu item for a list of bookshelves and recent reviews. You can also create a menu link for a specific bookshelf.
- Publish the links and watch as Goodreads.com content is automatically imported.
Tips and Technical Notes
- This component requires PHP5.
- The component installs default icons for the rating stars in /media/com_goodreadasintegration/images.· These paths are set as the defaults in the settings (in menu item parameters).· If your Joomla site is installed in a subdirectory (e.g.·www.example.com/sub/), you will need to prepend the subdirectory ("/sub") to the icon paths in the settings for each menu item.
- The component will correctly handle a mixture of shelf list and shelf menu items for the same user. For example, you create a shelf list, and a set of sub-menu items for specific bookshelves.
- HOWEVER, if you have multiple items for the same user, make sure you use the same black/white lists in each one. It doesn't really make sense to do otherwise, but if you forget, the results can be unpredictable. For example, a bookshelf item might create a link to another shelf that is blacklisted in the main bookshelves item, and a 403 error will occur when that link is clicked on.
- You can include results from more than one user by setting the Goodreads User ID in the menu options for specific pages. The Goodreads API will return truncated reviews for users other than the user whose account is associated with the API key. You can contact the Goodreads API team and request to have this restriction removed.
- The component includes a CSS file which provides basic formatting. To customize the look of the pages, goodreads.css from media/css/ to the root or css folder in the active template. It will be included automatically, and styles there can be used to override or augment the default styles.
- The Goodreads API parser caches results (see GoodreadsParser.php for cache lifetime) -- reloading this page automatically clears the cache.
License and Warranty
This extension is Copyright (C) 2010 by Justin Ray. It is licensed under the GPL version 2.0 except for the Goodreads API PHP library, which is licensed under the LGPL version 3.0.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Use of the Goodreads API
This extension is designed to comply with the Goodreads.com API terms of use as they are published at the time the extension was released (namely, the frequency of requests). However, you need to get a separate developer API key and enter it in the parameters dialog (top-right corner of this page). You are responsible for meeting the API terms of use on your own site, even if those terms change.
Download the Latest Version
The initial (1.0) release can be downloaded here:· com_goodreads_1.0.zip.






