John,

Not sure why you couldn't do that yourself, but I've just unsubscribed 
you now. Let me know if you still get email after this one.

David

John Ward wrote:
> Hi David,
>
> I removed myself from the google simile group, but I'm still receiving  
> all the messages.  Do you know how I can stop the messages?
>
> Thx.
>
> John
>
> On May 19, 2009, at 9:17 PM, David Huynh <[email protected]> wrote:
>
>   
>> fractile81 wrote:
>>     
>>> I'm helping out matt in
>>> http://groups.google.com/group/simile-widgets/browse_thread/thread/731e105551685399/e6c492871cfe3f5d#e6c492871cfe3f5d
>>> to try and get the app to run a bit smoother (the browser lag in FF  
>>> is
>>> terrible!).  I've been playing with the idea of loading JSON in  
>>> chunks
>>> using a service that takes an offset, then adding the data to
>>> Exhibit.  This works, but is still really slow to load.
>>>
>>> What I would like to do is programmatically load each JSON chunk once
>>> a successful request has been made.  Here's what I think should work:
>>>
>>> /*==================================================
>>> *  Exhibit.ExhibitJSONChunkImporter
>>> *==================================================
>>> */
>>>
>>> Exhibit.ExhibitJSONChunkImporter = {
>>> };
>>> Exhibit.importers["application/json-chunk"] =
>>> Exhibit.ExhibitJSONChunkImporter;
>>>
>>> Exhibit.ExhibitJSONChunkImporter.load = function(link, database,  
>>> cont)
>>> {
>>>    var url = typeof link == "string" ? link : link.href;
>>>    var last_chunk = -1;
>>>    var items = [];
>>>    url = Exhibit.Persistence.resolveURL(url);
>>>
>>>    var fChunk = function(xmlhttp) {
>>>        try {
>>>            var o = null;
>>>            try {
>>>                o = eval("(" + xmlhttp.responseText + ")");
>>>            } catch (e) {
>>>                 
>>> Exhibit.UI.showJsonFileValidation(Exhibit.l10n.badJsonMessage(url,
>>> e), url);
>>>            }
>>>
>>>            if (o != null) {
>>>                if (o.status == 'ok') {
>>>                    last_chunk = o.chunk;
>>>
>>>
>>>                    // THIS NEXT LINE DOESN'T WORK EVERY TIME!
>>>                    database.loadData(o,  
>>> Exhibit.Persistence.getBaseURL(url));
>>>
>>>
>>>                    if (last_chunk + 1 < o.chunks) {
>>>                        return true;
>>>                    }
>>>                } else {
>>>
>>>                }
>>>            }
>>>        } catch (e) {
>>>            SimileAjax.Debug.exception(e, "Error loading Exhibit  
>>> JSON chunk
>>> data from " + url);
>>>        }
>>>
>>>        return false;
>>>    }
>>>
>>>    var fError = function(statusText, status, xmlhttp) {
>>>        Exhibit.UI.hideBusyIndicator();
>>>        Exhibit.UI.showHelp(Exhibit.l10n.failedToLoadDataFileMessage
>>> (url));
>>>        if (cont) cont();
>>>    };
>>>
>>>    var fDone = function(xmlhttp) {
>>>        try {
>>>            if (fChunk(xmlhttp)) {
>>>                    SimileAjax.XmlHttp.get(url + '?chunk=' +  
>>> (last_chunk+1),
>>> fError, fDone);
>>>            } else {
>>>                    Exhibit.UI.hideBusyIndicator();
>>>                    // Alternate database.loadItems(); can go here
>>>            }
>>>        } finally {
>>>            if (cont) cont();
>>>        }
>>>    };
>>>
>>>    Exhibit.UI.showBusyIndicator();
>>>    SimileAjax.XmlHttp.get(url, fError, fDone);
>>> }
>>>
>>> In there I try to call database.loadData(); for each chunk of JSON I
>>> receive.  This works for the first couple of chunks (I have a lot of
>>> chunks), but I eventually get the following errors:
>>>
>>> TypeError: this._dom is undefined "Error firing event of name
>>> onItemsChanged" - debug.js (line 53)
>>> Error firing event of name onItemsChanged "Error firing event of name
>>> onAfterLoadingItems" - debug.js (line 53)
>>> Database.loadItems failed "Error firing event of name
>>> onAfterLoadingItems" - debug.js (line 53)
>>> Error loading Exhibit JSON chunk data from http://<pathtoservice>/ 
>>> chunk.php
>>> "Error firing event of name onAfterLoadingItems" - debug.js (line 53)
>>> Error firing event of name onAfterLoadingItems "XmlHttp: Error
>>> handling onReadyStateChange" - debug.js (line 53)
>>>
>>> So I have two questions: 1) is database.loadItems(); capable of  
>>> adding
>>> data over multiple calls like I was hoping, or is there another
>>> function/process I should try using? 2) I'm assuming the errors I'm
>>> getting are related to my using the database.loadItems(); function  
>>> the
>>> way that I am -- is this assumption correct, or is there another  
>>> place
>>> I should be looking (apologies, I don't know this code very well  
>>> yet)?
>>>
>>> Thanks for any input!
>>>
>>>       
>> Craig,
>>
>> That sounds like the latest data chunk got loaded just fine but then
>> something in it caused perhaps a view or a facet to throw an  
>> exception.
>> Do you know which chunk that is?
>>
>> David
>>
>>
>>     
>
> >
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SIMILE Widgets" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/simile-widgets?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to