Excellent! Seems close but the sort options do not seem to work.

I really hope you are successful in getting this improved and adopted.

The reason I am trying to pursue this is that FileMaker has a feature called
a "Web Viewer". It can view all the normal external things that a browser
can handle. 

It can also handle calculated HTML using the "data" protocol:

data:text/html,<html><body>Hello World</body></html>

A calculation or script can be used to create something like the above,
using a FileMaker dataset, but more complex. Ending up with something like
you have described below. Thus allowing a live Exhibit view of the user's
selected dataset.


> Bruce Robertson wrote:
>> Is is possible to make Exhibit work with the JSON data included in the HTML
>> file?
> 
> This intrigued me so I looked at the source.  Turns out it's not hard --
> the json file is javascript, after all.  You just have to put the JSON
> in the file and arrange for it to be loaded at the appropriate time with
> a few extra lines of code.  Kudos again to the development team to make
> something so extensible and so well structured.
> 
> Here's a bit of a hack converting the MIT Nobel Prize Winners example at
> http://simile.mit.edu/wiki/Exhibit/Getting_Started_Tutorial
> to inline.  Only the top of the html file has changed (and I only
> included the first two data items):
> 
> <html>
> <head>
>   <title>MIT Nobel Prize Winners</title>
> 
>   <link type="inline" rel="exhibit/data" />
> 
>   <script 
> src="http://static.simile.mit.edu/exhibit/api-2.0/exhibit-api.js";
> type="text/javascript"></script>
>   <script 
> src="http://static.simile.mit.edu/exhibit/extensions-2.0/time/time-extension.j
> s" 
> type="text/javascript"></script>
> 
>   <script>
> Exhibit.InlineImporter = { };
> Exhibit.importers["inline"] = Exhibit.InlineImporter;
> Exhibit.InlineImporter.load = function(link, database, cont) {
>    Exhibit.UI.showBusyIndicator();
>    database.loadData(Exhibit.InlineImporter.userdata);
>    Exhibit.UI.hideBusyIndicator();
>    if (cont) cont();
> };
> 
> Exhibit.InlineImporter.userdata=({
>       properties: {
>           "co-winner" : {
>               valueType: "item"
>           }
>       },
>    "items" : [
>        {   type :                  "Nobelist",
>            label :                 "Burton Richter",
>            discipline :            "Physics",
>            shared :                "yes",
>            "last-name" :           "Richter",
>            "nobel-year" :          "1976",
>            relationship :          "alumni",
>            "co-winner" :           "Samuel C.C. Ting",
>            "relationship-detail" : "MIT S.B. 1952, Ph.D. 1956",
>            imageURL :
> "http://nobelprize.org/nobel_prizes/physics/laureates/1976/richter_thumb.jpg";
>        },
>        {   type :                  "Nobelist",
>            label :                 "George A. Akerlof",
>            discipline :            "Economics",
>            shared :                "yes",
>            "last-name" :           "Akerlof",
>            "nobel-year" :          "2001",
>            relationship :          "alumni",
>            "relationship-detail" : "MIT Ph.D. 1966",
>            imageURL :
> 
"http://nobelprize.org/nobel_prizes/economics/laureates/2001/akerlof_thumb.jpg>
"
>        }
>     ]
> });
> </script>
> 
> <style> ...
> 
> et voila.  Just put your JSON in the userdata, there.  Unlike external
> json files, there's no nice error message with the above method, so if
> the syntax is invalid, it won't say anything -- just show an empty
> database.  Your browser (the visitor's browser) will indicate a
> javascript error.
> 
> And this method isn't guaranteed to work if the Importer API changes in
> or after v2.0, but I can make it a little safer and turn it into an
> official importer if there's interest and if the exhibit team will take
> it. (?)
> 
> I'd have to guess that exhibit would appear to start slightly faster
> this way...   I'm going to try it with one of my datasets...
> 
> Brian
> _______________________________________________
> General mailing list
> [email protected]
> http://simile.mit.edu/mailman/listinfo/general
> 

_______________________________________________
General mailing list
[email protected]
http://simile.mit.edu/mailman/listinfo/general

Reply via email to