Danny Douglass created an excellent flickr photo gallery for Blogengine.NET. It's located here. Since GoDaddy is my host, I have to deal with medium trust issues, so Danny's gallery wouldnt work for me. Fortunately, Danny released the source for this module, so I modified it for my purposes.
After debugging a bit, I found that the security on my IIS 7 hosted site wouldn't allow me to cache downloaded flickr photos. You would think that I could just point the cache folder to one on my site with write permissions. Unfortunately, the FlickrNET provider that the gallery was built with asks for a location in the <drive>:\<folder> format (for example: c:\Inetpub\temp). I noticed that it would be possible to find out the drive/folder location of my site on my webhost, but its likely my website wouldn't be able to access the local file system, so I didn't go wandering down that road. Besides, who knows when they might change it.
To get things going, I simply disabled the the flickr caching. The first function that is called when the gallery is accessed is called GetPhotoSets(). I added Flickr.CacheDisabled = true; as the first line of module to make this happen. I rearranged some other code as well, but this was the main thing.
To use my modified version:
-
Remove any previous installations first (remove the files)
-
Unzip the contents of the attached zip of to the root of your website
-
Add your flickr api key, shared secret, etc to your web.config (same as Danny's original)
-
Reference the theme being used in Default.aspx and PhotoAlbum.aspx (same as Danny's original)
-
Create a content place holder called "scriptholder" in the head section of your selected theme site.master (add <asp:ContentPlaceHolder ID="scriptholder" runat="server" />)
-
Go to <your website url>/photos
-
Go to Danny's website to thank him for his great Blogengine.NET addition