Although I was previously able to do a hack integration with Simile's
Exhibit and Xwiki, it was too heinous to actually live with. A cleaner
solution, using Xwiki's "skin extensions" for stylesheets and javascript
now
works. The "clean" solution required hosting my own copy of Exhibit based on
checking out from the trunk the latest copy of "Exhibit." Hosting my own
copy of Exhibit seems to be problematic, as the version of Exhibit I checked
out from svn/trunk has issues such as (1) a non-working minified jquery that
needed to be replaced w/ original, and (2) portability issue on IE (see
below) on which I need help/advice.
Here's my example of Xwiki/Exhibit integration:
http://nielsmayer.com/xwiki/bin/view/Exhibit/Presidents
Here's the original example from which above was derived:
http://simile-widgets.org/exhibit/examples/presidents/presidents.html
Xwiki Source Code:
Presidents<http://nielsmayer.com/xwiki/bin/view/Exhibit/Presidents?viewe…
Data used by example:
PresidentsSchemaJSON<http://nielsmayer.com/xwiki/bin/view/Exhibit/Presid…in>,
PresidentsJSON<http://nielsmayer.com/xwiki/bin/view/Exhibit/PresidentsJS…
Attached, because there's no easy way to view these, the contents of
XWiki.StyleSheetExtension[0] and XWiki.JavaScriptExtension[0] -- these are
objects attached to the underlying Xwiki document
http://nielsmayer.com/xwiki/bin/view/Exhibit/Presidents which cause the
appropriate magic to happen in the header via calls to
$xwiki.ssx.use("$doc.fullName") and $xwiki.jsx.use("$doc.fullName").
It's all explained in the preamble for
http://nielsmayer.com/xwiki/bin/view/Exhibit/Presidents?viewer=code :
## Note that to get this whole thing working requires
jquery NOT FROM
EXHIBIT SVN TRUNK
##(
http://nielsmayer.com/js/exhibit/api/scripts/jquery-1.3.2.min.js )
## Instead, preload
http://nielsmayer.com/xwiki/resources/js/exhibit/api/scripts/jquery-1.3.2.m…
## for details see
http://nielsmayer.com/xwiki/resources/js/exhibit/api/scripts/jquery-1.3.2.m…
$xwiki.jsfx.use("js/exhibit/api/scripts/jquery-1.3.2.min.js")##
## Note that
http://nielsmayer.com/xwiki/resources/js/exhibit/api/exhibit-api.jsdifferent
## to trunk
http://nielsmayer.com/js/exhibit/api/exhibit-api.js
$xwiki.jsfx.use("js/exhibit/api/exhibit-api.js")##
## though
http://nielsmayer.com/xwiki/resources/js/Simile/Exhibit/webapp/styles.csswo… the line
below does not:
##$xwiki.ssfx.use("js/simile/Exhibit/webapp/styles.css")##same loaded from
XWiki.StyleSheetExtension[0] via ssx.use.
$xwiki.ssx.use("$doc.fullName")##
$xwiki.jsx.use("$doc.fullName")##
------------
ISSUE AND REQUEST FOR HELP:
In IE, after the simile busy-spinner has popped up indicating a successful
load of Exhibit, the following errors happen, causing three successive
dialog boxes:
(1) "Caught exception: ColorCoder: Error processing configuration of coder
Details: 'firstChild.nodeValue' is null or not an object
(2) Caught exception: undefined
Details: 'firstChild.nodeValue' is null or not an object
(3) IE error: Line 1831, char 52, Error: object expected
Suggestions on which version of "Exhibit" or "Simile-Ajax-API" to use
in
order to get rid of this error would be appreciated. It is interesting to
note that the "trunk" version of the same example
http://trunk.simile-widgets.org/exhibit/examples/presidents/presidents.html…
fine in IE.
Is this the same issue noted previously:
http://www.mail-archive.com/simile-widgets@googlegroups.com/msg00385.html
http://www.mail-archive.com/simile-widgets@googlegroups.com/msg00391.html
http://www.mail-archive.com/simile-widgets@googlegroups.com/msg00846.html???
----------
TODO:
One last remaining hack is that I put the following in the headers
<link rel="exhibit/data"
type="application/json"
href="$xwiki.getURL("Exhibit.PresidentsSchemaJSON","view","xpage=plain")"
/>
<link rel="exhibit/data" type="application/json"
href="$xwiki.getURL("Exhibit.PresidentsJSON","view","xpage=plain")"
/>
via the "Exhibit" space's "HTTP Meta Information"
administration setting (
http://nielsmayer.com/xwiki/bin/admin/Exhibit/WebPreferences?editor=spacead…)Exhibit).
I would like to figure out a way to set these values directly in
javascript inside the document itself (or inside additional instances of
XWiki.JavaScriptExtension) rather than having them read as external json
files, e.g.
http://www.mail-archive.com/general@simile.mit.edu/msg02434.html
http://www.nabble.com/JSON-created-locally-td17507332.html
http://www.patrickgmj.net/node/161
-- Niels.
http://nielsmayer.com