JeromeDL/Exhibit
From Corrib Clan Wiki
Contents |
Exhibit in JeromeDL
Exhibit http://simile.mit.edu/exhibit/ is a ligthweight web publishing framework.
How Exhibit works
Exhibit is a javascript library. You link their .js file from your html web page, write your html template and supply your data in javascript json format.
Exhibit displays the data from the json files using your template and allows for quick filtering and sorting the data. No server side programming is needed.
Integration with JeromeDL
Files
- webapp/WEB-INF/src/org/jeromedl/servlets/ExhibitJsonServlet.java
- webapp/exhibit/*
- webapp/WEB-INF/cache/exhibitjsoncache.js (automaticaly generated)
Display
- webapp/exhibit/exhibit.jsp is the page which contains the Exhibit browser. It contains several divs (according to Exhibit documentation) which are filled during the browsing by the Exhibit engine. This page defines what the user will see.
- webapp/exhibit/exhibit.css contains style definitions used in exhibit.jsp
- webapp/exhibit/fixes.js contains labels and other fixes needed to be applied to the database json file.
Data
Exhibit needs the data in a form of a specific array in javascript.
The data file specified in webapp/exhibit/exhibit.jsp is booksdatabase.js. Such file does not exist, instead it is served by a servlet, ExhibitJsonServlet.java (you can find the mapping in web.xml).
The ExhibitJsonServlet translates the JeromeDL RDF dump to json format understandable by Exhibit using Simile Babel service http://simile.mit.edu/babel/. After the translation, the result is served whenever the booksdatabase.js file is requested.
To minimize the delay and the load of Babel service, the result is cached in WEB-INF/cache/exhibitjsoncache.js. Cache is refreshed every two hours.
Other
- Cache refresh There are two ways to force the cache refresh. One is to supply refresh parameter when requesting /exhibit/booksdatabase.js.
The other way is to delete the file webapp/WEB-INF/cache/exhibitjsoncache.js. To refresh the cache programmaticaly, call the reloadCache() method of ExhibitJsonServlet.



