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