Fetchr(TM) for SlideShowPro(TM) (Fetchr4SSP)

Fetchr4SSP logo
Version: 1.4
Last Updated: 01 JAN 2009
Author: Steve Mooradian (stevemooradian.com)
Author email: fetchr4ssp [at] stevemooradian [dot] com

Live Demo ...you can also see here that I eat my own dog food
Trial Version FREE to try - limited to one (1) photo per album
Full Version & Personal License $7.99 USD for unlimited personal use
Full Version & Commercial License $14.99 USD per domain (See the Software License for details)

About

Fetchr4SSP(TM) is a Fetchr(TM)-based PHP script that will fetch photos from Flickr(TM) to display as albums inside the awesome gallery software SlideShowPro!

SlideShowPro + flickr + Fetchr4SSP = Photo Gallery Goodness

The final result is a Flickr photo gallery wrapped in a beautiful, Flash-based interface that is a delight for your web visitors. Questions or comments?

Fetchr4SSP is used in concert with Flickr and SlideShowPro and is not directly associated with either product, nor with Yahoo, Inc or Dominey Design Inc.


Requirements


Installation

  1. Unzip the files (after unzipping, the files should all be inside a folder named fetchr4ssp)
  2. Upload the folder to your web server
  3. Edit the configuration settings in the file fetchr4ssp.php

Usage

Inside your SlideShowPro configuration file param.xml set/leave the parameter xmlFiletype as "default" and set the parameter xmlFilePath as follows:

xmlFilePath="http://-YOUR-DOMAIN-/-YOUR-PATH-/fetchr4ssp/fetchr4ssp.php"

That's it... were you expecting more?


Fine Tuning

Tweaking is all part of the fun when seeking the "perfect" web gallery. When experimenting with configuration settings within fetchr4ssp.php you'll probably want to rebuild your images.xml file quickly to view the changes you just made without having to wait for your entire cache to "naturally" expire... so simply enter the following URL:

http://-YOUR-DOMAIN-/-YOUR-PATH-/fetchr4ssp/fetchr4ssp.php?xml_refresh

If you'd like to refresh your entire cache of Flickr API data without waiting for it to "naturally" expire simply enter the following URL (this may take a while depending on how many photos you're loading):

http://-YOUR-DOMAIN-/-YOUR-PATH-/fetchr4ssp/fetchr4ssp.php?cache_refresh

If you're getting just a plain white screen (that may even timeout after a few moments and show a "file not found" screen) it means that your gallery XML file is still in the process of being built. This sometimes takes a while. If the normal, periodic recaching and rebuilding of your gallery delays loading your SlideShowPro (which it probably will -- it does for me), I have discussed the best course of action in the FAQ.


Troubleshooting

If you are getting errors or bad behavior be sure that your site is running on PHP version 5 (not 4), and that your configuration settings inside the fetchr4ssp.php file are free of any errors... especially when setting the value of $fetchr_settings['albums']. Check your settings against the given examples in the documentation that came with your software.

Also, most problems can be diagnosed by navigating directly to your fetchr4ssp.php file in your browser and seeing if the output looks correct:

http://-YOUR-DOMAIN-/-YOUR-PATH-/fetchr4ssp/fetchr4ssp.php

If any errors were encountered (e.g. Flickr user not found) they will be included at the bottom of your XML file. Also, check the FAQ for more troubleshooting information.

Problems related specifically to Flickr or SlideShowPro should be directed to their respective customer support.


FAQ

I edited the param.xml file, but I still see my old gallery photos?

Sometimes Flash files need a little help to acknowledge a freshly edited parameter file. Navigate to your param.xml file directly by typing the URL into your browser's address bar, then refresh your browser. The param.xml file should now be "fresh"... so try your gallery again.

Why do I get just a plain white screen? And why does my gallery file occassionally take SO long to load?

The Flickr API is well-crafted, but is not known for its speed. After your cache has expired (as defined by you in the fetchr4ssp.php file) the software will perform a full refresh. Unfortunately, this refresh can take a while and the gallery won't load until it's done! Although your gallery will "eventually" display the refreshed photos, it can become annoying and may have some poor random visitor to your gallery left waiting!? Not good. Sometimes my own gallery can take five (5) minutes to fully refresh.

To remedy this situation you can either *gasp* widdle down your displayed albums (no way!) or do what I do - implement a CRON job. A CRON job is a recurring task that runs on your web server at some specified periodicity. You may have never heard of a so-called CRON job, but believe me they're very common. Consult your host provider for more information on CRON jobs, but any web host worth a grain of salt will provide this ability (if they don't, drop them!). This is how I did it -- I set a daily (every 24 hours) CRON job to refresh my cache using the URL shown previously, and then in my fetchr4ssp.php configuration file I set my cache refresh frequency to be 90,000 seconds (25 hours). So while my cache is refreshing at the 24 hour mark (due to my CRON job) my visitors will still my previous day's XML file of photos without delay (because it won't expire for another hour). Too easy!

Yeah... easy for me to say "too easy", but if you run into problems drop me a line. At this writing I use GoDaddy and their CRON manager didn't like running a PHP file with a "?cache_refresh" on the end of it... but that workaround was easy for me, which means it's also easy for you if you email me. ;-)

Why do I get an error saying that my username is not found on Flickr?

If you DO NOT have a Flickr PRO account, make sure that inside your fetchr4ssp.php configuration file you have left the value of $fetchr_settings['token'] blank.

Why is my cache folder and/or images.xml file not writable?

Very, very rarely certain web hosting server configurations require you to explicitly make the folder cache and/or the file images.xml writable by the server (chmod 777).

Will this software deliver Flickr video inside SlideShowPro?

Not yet. Flickr does not yet have a stable API for fetching a video file's URL. Once it does, I plan to provide this functionality. Won't that be sweet? :-)

Why do you charge for this software?

To be frank, my time is fairly limited, so I want to ensure that I'm only helping those who are serious about their photo galleries. You'd be surprised how many entitlement-minded clowns I avoid dealing with merely by charging a nominal fee. And really, the commercial license fee is intended to be neatly passed on to your clients. And in the end, my extra income from projects like this tend towards "higher" causes like Compassion International -- do you realize how far a few US dollars can go in Bolivia?


Support

Please look for answers to your support questions in the following locations listed by order of precedence:

  1. This official website
  2. The official Fetchr4SSP blog post and comment area located here: http://negative99.com/general/fetchr4ssp
  3. Email: fetchr4ssp [at] stevemooradian [dot] com

Changelog

1.4 01 JAN 2009
  • Added option for enabling/disabling photo links back to Flickr
  • Upgraded the phpFlickr included library to version 2.3.0.1
  • Made minor code adjustments
  • Made minor editorial changes to accompanying documentation
1.3 01 AUG 2008
  • Added option for an album of Flickr group photos
  • Added option for an album of photos filtered by specific tags
  • Added option for an album of a user's "most interesting" photos (according to Flickr)
  • Switched method of specifying a Flickr user from their Flickr username to the Flickr user ID
1.2 19 JUL 2008
  • Refactored the base class file into a SlideShowPro specific file and a generic Fetchr engine class
  • Added ability to choose the size of retrieved photos and their thumbnails
  • Cleaned up the way private photos are handled so that all returned photos, no matter what privacy filter setting, are put in the proper order - and also, only the number of photos you request are displayed now
1.1 11 JUL 2008
  • Completely rewritten XML file creation engine
  • Added option for an album of Flickr 'favorites'
  • Added ability to display non-public photos you have read access to
  • Added ability to compile any combination of albums, in any order, of any Flickr user's recent photos, favorites, or photosets
  • Increased resolution and clarity of gallery thumbnails
  • Added ability to rebuild the XML file without having to refresh the entire cache (for gallery design tweaking)
1.0.3 01 JUL 2008
  • Now handles the full UTF-8 character set within photo titles and description
  • Fixed cache refreshing so that phpFlickr's stored API calls will also refresh on command
1.0.2 28 JUN 2008
  • Now handles a broader range of characters in photo titles and description
  • Fixed photo Flickr pagelinks when showing photosets that don't match the given username
1.0.1 27 JUN 2008
  • Made editorial fixes for username/"screen name"
1.0 26 JUN 2008
  • Initial Release

Acknowledgements

Thanks to Dominey Design Inc. for their wonderful SlideShowPro gallery software!

Fetchr4SSP uses the phpFlickr Class (phpFlickr.com) beautifully coded by Dan Coulter.


Software License

COPYRIGHT

This software (“Fetchr” and “Fetchr4SSP”) includes any and all files and/or documentation received by any means during any method of procurement with or without monetary or other compensation (the “SOFTWARE”). The SOFTWARE is Copyright (c) Steve Mooradian (the “SELLER”) and is protected by the United States Copyright laws, international treaty provisions and other applicable laws. All rights reserved. “Fetchr”, “Fetchr4SSP”, “Fetchr for SSP”, “Fetchr for SlideShowPro”, “Fetchr4dfG”, Fetchr for dfG”, Fetchr for dfGallery”, and any and all associated logos and/or symbols are service marks and trademarks of the SELLER. “SlideShowPro” and associated logos/symbols are service marks of Dominey Design Inc. “dfGallery” and associated logos/symbols are service marks of DezinerFolio. “Flickr” and associated logos/symbols are service marks of Yahoo, Inc. Other product and company names mentioned in association with the SOFTWARE may or may not be the service marks or trademarks of their respective owners or of the SELLER. No title or intellectual property rights are ever transferred to you. The SELLER retains all rights not expressly granted by this license.

Photos stored on Flickr are the sole property of their owners, and may or may not be licensed for public retrieval and/or display. You are required to abide by all existing licenses for all content on Flickr.

DESCRIPTION

The SOFTWARE provides users with a script that may build the necessary XML to populate gallery software, such as SlideShowPro (http://slideshowpro.net) or dfGallery (http://www.dezinerfolio.com/), with Flickr (http://www.flickr.com) photos. Proper and/or intended operation of the SOFTWARE is contingent on: 1) the user possessing a valid, licensed, working copy of the gallery software, 2) the user having a web hosted PHP-capable area to deploy the gallery, and 3) the user be willing and able to obtain a Flickr API key (freely available as of the writing of this document at http://flickr.com/services/api/keys/apply/). The SELLER is not responsible for any changes of service from any herein mentioned gallery software and/or the Flickr photo service that may or may not alter the operation of the SOFTWARE.

YOUR LICENSED USE OF THE SOFTWARE

The trial version of the software grants you no rights in any way to do anything having to do with the SOFTWARE, except to use the trial version as an evaluation for the purchase of the full version of the SOFTWARE. If you have any questions regarding that restriction you must not use the SOFTWARE.

The personal and commercial versions of the SOFTWARE allow you normal use of the SOFTWARE per the respective guidelines as set forth in this license.

By purchasing and/or downloading the SOFTWARE, you agree to the following:

1) The SELLER grants you the non-exclusive, non-transferable license to use the SOFTWARE subject to the restrictions contained herein.

2) The license permits the use of the software on an unlimited number of non-commercial websites so long as you are the website’s owner or the designated permanent web developer/designer. For information on a commercial license, see the section of this document with the heading COMMERCIAL LICENSING.

3) The license DOES NOT permit the SOFTWARE to be embedded and/or redistributed as part of a template, content management system, proprietary software application or anything else. The SOFTWARE may not be sub-licensed, resold, or distributed online in any format downloadable or otherwise. The SOFTWARE may not be installed on any website you did not create or do not currently administer.

4) You may not rent, transfer, or grant any rights to the SOFTWARE contained herein, or any compilation, derivative or collective work containing the SOFTWARE to any other person or organization without prior written consent of the SELLER. Using the SOFTWARE in a way not covered by this license or that is specifically prohibited, without prior written consent from the SELLER, is a violation of Federal copyright law. This license is in full force until it is terminated. If you do not comply with the terms and conditions above, the license automatically terminates.

5) You agree to hold the SELLER harmless for any damages that may occur due to use, or inability to use, the SOFTWARE.

6) You agree not to reproduce, duplicate, copy, sell, trade, resell or exploit for any commercial purposes, any portion of the SOFTWARE, use of the SOFTWARE, or access to the SOFTWARE. For information on a commercial license, see the section of this document with the heading COMMERCIAL LICENSING.

7) You agree to abide by this license, and any and all changes to this license, at all times.

8) You agree to maintain all copyright and header information contained within the SOFTWARE within any deployed instance of the SOFTWARE.

9) You agree that a breech of these terms will invalidate this license and you must immediately cease all use of the SOFTWARE, delete all occurrences of the SOFTWARE resulting from this license, and all funds paid for the SOFTWARE are forfeit.

10) The names the SOFTWARE and the SELLER must not be used to endorse or promote products derived from this software without prior written permission from the SELLER.

11) The right to distribute this software or to use it for any purpose does not give you the right to use service marks or trademarks of the SOFTWARE or the SELLER.

12) If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date and nature of any change.

13) You agree that you alone are the license holder of the SOFTWARE.

14) You agree to not delete, alter, remove, or in any way manipulate sections of the SOFTWARE that specifically forbid you to do so.

15) You agree that had Belicheck stuck with his regular season gameplan of mixing in screen passes to foil blitz's, Super Bowl XLII would have turned out differently.

CHANGES TO THIS LICENSE

The SELLER reserves the right to update and/or change any and all terms and/or any and all references herein with or without any prior notice, early warning or other means of precognition psychic or otherwise. All headings and other organizational features of this license are for the reader’s benefit and are not in any way construed to be content of this license. No misppellings or typoz will constitute grounds for altering the intended meaning of any of these terms. Any questions as to the intended meaning of any of these terms must be validated by the SELLER.

The current version of this license may be found at the Fetchr website (http://fetchr.net). If the software license cannot be found, or cannot be verified as current per its online location, contact the SELLER immediately to obtain a copy if this license.

PRIVACY STATEMENT

We respect your right to privacy. The SELLER collects only the information necessary to complete your order or to contact to you regarding the status of your order. The information collected includes your name, email address, shipping address, and billing address. The SELLER does not store your credit card information. The SELLER is not liable in any way for any occurrence of anything, real or imagined, causing any damages to you while you are using the PayPal service (http://paypal.com), or any other service, to procure the SOFTWARE.

INDEMNITY

By using the SOFTWARE you agree to indemnify and hold the SELLER and its subsidiaries, affiliates, officers, agents, employees, partners and licensors harmless from any claim or demand, including reasonable attorneys’ fees, made by any third party due to or arising out of content you submit, post, transmit or otherwise make available through the SOFTWARE, your use of the SOFTWARE, your connection to the SOFTWARE, your violation of this document, or your violation of any rights of another.

DISCLAIMER

THE SOFTWARE IS PROVIDED BY THE SELLER “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF INFRINGEMENT AND THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE SELLER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DISTRIBUTION OR USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

COMMERCIAL LICENSING

The SOFTWARE may not be used for Commercial Purposes nor Distributed Commercially unless the terms of the following are met:

1) “Commercial Purposes” means you are a business with annual sales or revenues greater than $10,000. (A “business” files business tax returns, including the personal Schedule C, or should if it was in the USA.) Non-profit educational institutions AND U.S. 501(c)(3) tax exempt organizations ARE considered businesses for this license. However, non-profit and tax exempt organizations may contact the SELLER regarding the waiving of any commercial license requirements (cuz hey - I have a heart).

2) “Distributed Commercially” means a charge is made for the distribution, installation, training, etc., of the SOFTWARE, or the SOFTWARE is used as part of a service or product for which payment is made or required.

3) Purchase of a Commercial License to the SELLER is required if the SOFTWARE is used for Commercial Purposes.

4) One Commercial License must be purchased for each individual website domain the SOFTWARE is deployed on. Each Commercial License entitles the organization to deploy the SOFTWARE an unlimited number of instances within a single website domain. A single website domain includes the identical website domain name and top-level domain (e.g. google.com) but does not require identical sub-domains (e.g. gmail.google.com). Therefore a single Commercial License would cover any/all deployments of the SOFTWARE on the websites gmail.google.com, maps.google.com, and api.google.com, but not maps.mapquest.com.

5) All use of the SOFTWARE that is Distributed Commercially is considered use for Commercial Purposes, even if such use would not be considered commercial otherwise. The responsibility for making sure that payment is made to the SELLER rests with the distributor. Also, prior written permission must be requested and obtained from the SELLER at least 45 days prior to attempted distribution.

6) In the event that the SELLER has ceased to exist, has officially released users of this SOFTWARE from this Commercial License requirement through public notice, or is unresponsive to reasonable attempts to be contacted and paid over a 45-day period, then these Commercial License requirements are waived.

LEGALEZE

It is the opinion of the SELLER that having to write a Software License is a special punishment more suitable for the most wretched of humanity who are destined for the hottest parts of hell.