About/Contact

Steve Trefethen

Steve Trefethen is a Director of Engineering at Reply. Contact me

View my LinkedIn profile


Powered by discountASP.NET
referal ID: sdtref
Why recommend discountASP.NET?
$720 in referrals so far!


Calendar

<<  February 2012  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Disclaimer

The posts on this weblog are provided AS IS with no warranties, and confer no rights. The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.



Hosting MIT's Simile Exhibit OS project

December 22 2008 6:56AM

I’ve been working on an application that makes use of MIT’s Simile Exhibit Open Source project and the other day the MIT server hosting the related JavaScript files went down. Exhibit is described thusly:

Exhibit enables web site authors to create dynamic exhibits of their collections without resorting to complex database and server-side technologies. The collections can be searched and browsed using faceted browsing. Assorted views are provided including tiles, maps, etc.

Here is an example. Based on what I can glean from the Exhibit newsgroup weather played a role but nonetheless it motivated me to investigate moving the sources to my ISP which happens to be discountASP.NET.While the main server appears to be back up and running at least one service needed for the map view extension is still offline making it more or less just a plain map absent the data points that make it interesting.

There was a request on the newsgroups to explain what I did to "self-host" the code so I figured I’d elaborate a bit. The main issue is that throughout the code there are hardcoded references to an MIT server, namely static.simile.mit.edu.

For starters, you’ll need to grab the Exhibit source code from SVN repository located here:

http://simile-widgets.googlecode.com/svn/exhibit/trunk

Fwiw, on Windows, I’m using TortoiseSVN as my SVN client. Next, correct the URL references in the code that refer to the above server. The source changes look like this:

        /*
         *  Extensions (for backward compatibility)
         */
        if (includeTimeline) {
            scriptURLs.push(useLocalResources ?
                "http://127.0.0.1:8888/exhibit/extensions/time/time-extension.js" :
//                "http://static.simile.mit.edu/exhibit/extensions-2.0/time/time-extension.js");
                "http://www.stevetrefethen.com/simile/exhibit/webapp/extensions/time/time-extension.js");
        }
        if (includeMap) {
            scriptURLs.push(useLocalResources ?
                "http://127.0.0.1:8888/exhibit/extensions/map/map-extension.js" :
//                "http://static.simile.mit.edu/exhibit/extensions-2.0/map/map-extension.js");
                "http://www.stevetrefethen.com/simile/exhibit/webapp/extensions/map/map-extension.js");
        }

Basically, a simple search and replace for "static.simile.mit.edu will suffice to identify the locations that need to be changed. I also made one additional change I’m not sure is necessary which is the following query parameter on the script tag that loads the widget:

    

Bundling is not something I’ve examined closely though it’s in the interest of saving bandwidth for the amount of Javascript that has to be downloaded. Here is the set of files I modified with the type of changes described above:

Simile Exhibit modified files

Once you’ve made these changes you’ll need to upload the following source directories to your ISP:

simile/exhibit/ajax
simile/exhibit/webapp
simile/exhibit/graphics

Note, the above ajax and webapp directories each have a subdirectory called "site" that contains an example and should not be uploaded. You should now be set to host Exhibit from your own ISP. The map extension requires a Java servlet which you can also self host but since my ISP doesn’t provide that support I’m still relying on MIT’s server for that portion. I’m aware of one such alternative though I couldn’t get that working in the five to ten minutes I spent trying but I’ll likely revisit it as it’s clearly an important piece.

[Updated: March 28] On a somewhat related note I've created a simple Exhibit for my companies training engagements here.
[Updated: January 2010] Check out my Facebook application using Exhibit.
FacebookDel.icio.usDigg It!

Tags:

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading