Archive for the ‘Ruby’ Category

Linking to Photo Sharing Sites

Saturday, January 5th, 2008

I have users with photos published on photo sharing sites such as Flickr, Fotopic, ImageShack, Livejournal, Photobucket, Picasaweb, SmugMug, Webshots and others.

What I want to do is provide these users with the ability to link these published photos to projects managed by our web application. Within our application only the published URL to the image would be stored.

The Flickr API, with its support for REST, is the ideal site to use as a proof of concept. At least one other site, 23 also implements the Flickr API, making it easy to support both 23 and Flickr.

The Ajax based Flickr Related Tag Browser provides a good example of how to use the Flickr API to browse and select photos by tag. Within our application a user wold browse their Flickr account and search by photo album, tag or date to retrieve specific photos which would illustrate the project site itself, tasks to be accomplished, problems associated with a task or as visual confirmation that a task had been completed.

As an example I have two projects that I am about to start.

  • The first is to widen a driveway, add a front gate and landscape the front garden to link in with the new driveway and gate.
  • The second is to complete the garage at the back of the property, which includes adding a couple of rooms that will link up with the existing studio kitchen and main room.

The photos for these two different projects I have tagged gate and garage respectively on my Flickr account.

The default Flickr web pages that open for

  • http://www.flickr.com/photos/richard3kbo/tags/gate/ and
  • http://www.flickr.com/photos/richard3kbo/tags/garage/

by themselves give good overviews of the two different project sites.

Linking specific photos to project tasks helps illustrate and clarify these tasks.

Using photos published on Flickr and similar sites allows our users to continue using the photo sharing sites they are used to and which have more features for image processing and sharing than our site.

Installing Ruby On Rails on Mac OS X

Saturday, August 25th, 2007

The two main sites I am working with are www.3kbo.com and www.abeservices.com.au. 3kbo is hosted at www.railsplayground.com and is centered around Ruby On Rails apps while www.abeservices.com.au has its own server and is java focused.

The plan is to develop semantic web based applications using the Ruby based RDF framework ActiveRDF and deploy them at 3kbo. The 3kbo applications will also be leveraging the Ruby On Rails web framework.

The first step in getting started is to install Ruby On Rails on my new(ish) Mac PowerBook. Initially I will be using just two of the available ActiveRDF adaptors, “SPARQL” and “RDFLite”. RDFLite needs SQLite3, meaning that the default version that comes with Mac OS X needs to be updated. Since RDFLite can also utilize ferret , the Ruby search engine library, this was installed as well.

To install Ruby on Rails I followed the basic instructions outlined in Installing Ruby on Rails and PostgreSQL on OS X.

This approach uses MacPorts and overall worked well, apart from getting the following error at the very beginning:

“Error: search for portname ruby failed: No index(es) found! Have you synced your source indexes?”

The fix was to run the port selfupdate command:

$ sudo port selfupdate

After that ruby and ruby gems were successfully installed with the port command:

$ sudo port install ruby rb-rubygems

Well almost. The first attempt to install rails using gem ended with the error:

Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find rails (> 0) in any repository

Problem solved by following the instructions at http://armyofevilrobots.com/node/418, i.e delete the gem source_cache and update gems.

$ sudo gem update

With gem updated rails installed fine.

$ sudo gem install -y rails

SQLite3 installed without problem

$ sudo port install sqlite3

So did ferret

$ gem install ferret

To test that all was fine I created a basic Rails app following the steps outlined in Rolling with Ruby on Rails Revisited

$ rails example
$ cd example
$ ruby script/server

And view at http://localhost:3000/

Or to check when running with Mongrel

$ mongrel_rails start

And view at http://localhost:3000/

With the basic Rails app working it was time to get started with ActiveRDF.