Walkaround's import feature currently indeed constructs a short fake
history rather than importing each delta.

The reasons for this are:

* Google Wave's APIs do not allow exporting deltas for user data
wavelets (read/unread/folder/archived information).  For these, the
snapshot is all you get.

* Some wavelets have corrupt delta histories -- you get raw deltas,
but when you apply the sequence of operations, the model code will
throw exceptions.  For these wavelets, constructing a fake history
based on the snapshot is also a good pragmatic solution, since the
snapshot is what users see in the client, and preserving that should
be the goal.

* Given these two points, any import feature that can be used for all
wavelets needs to be able to work from snapshots, at least as a
fallback.  Since working from snapshots is a general solution that can
be used for all wavelets, the simplest way to implement import is to
always work from snapshots.  An import feature that relies on raw
deltas would only work sometimes (probably most of the time, but not
all the time).

* Writing the fake history construction logic is one of the tricky
parts of importing that I happen to be familiar with, so I wanted to
provide this code, as it's much easier for me to write than it would
be for others.  Fetching the deltas does not require the same special
knowledge.

Also, neither walkaround nor WiaB currently have playback, so you
can't do much with the delta history, at least for now.

An ideal solution would be to import raw deltas, except if they turn
out to be corrupt, and call HistorySynthesizer only if really needed.
I didn't have time to implement both modes, so I picked the more
difficult one that always works.  It should be relatively
straightforward to extend RobotApi.java to fetch deltas, write code to
check them, and make the call to HistorySynthesizer optional.  Note
that some wavelets have very long delta histories, so it would be good
to write the code in a way that can handle that.


On Wed, Dec 14, 2011 at 07:28, Ali Lown <[email protected]> wrote:
> That is the same conclusion I reached from looking at it when it was first
> mentioned on this list.
>
> This has the advantage of being quick for a one-time feature, but loses the
> flexibility of processing all the raw deltas instead.
> On Dec 14, 2011 3:24 PM, "Thomas Leonard" <[email protected]>
> wrote:
>
>> It appears that Walkaround takes a snapshot and imports that, rather than
>> processing the deltas, if I'm reading it correctly.
>>
>>
>> On 2011-12-13 17:39, Yuri Z wrote:
>>
>>> You look how Walkaround handles the import. For example
>>> http://code.google.com/p/**walkaround/source/browse/src/**
>>> com/google/walkaround/wave/**server/googleimport/**conversion/**
>>> WaveletHistoryConverter.java<http://code.google.com/p/walkaround/source/browse/src/com/google/walkaround/wave/server/googleimport/conversion/WaveletHistoryConverter.java>
>>> and other classed in the package/package above
>>>
>>> On Tue, Dec 13, 2011 at 5:02 PM, Thomas Leonard<
>>> [email protected]>  wrote:
>>>
>>>  Hi Ali,
>>>>
>>>> Thanks for the offer but, like you, I can get the data out of
>>>> wave.google.com easily enough already (using [1]). The problem is
>>>> getting
>>>> it into WIAB. ParseRawDelta prints it, but it's not obvious what to do
>>>> with
>>>> it next.
>>>>
>>>> [1] 
>>>> http://www.waveprotocol.org/****wave-apis/google-wave-data-**<http://www.waveprotocol.org/**wave-apis/google-wave-data-**>
>>>> api/raw-deltas-export<http://**www.waveprotocol.org/wave-**
>>>> apis/google-wave-data-api/raw-**deltas-export<http://www.waveprotocol.org/wave-apis/google-wave-data-api/raw-deltas-export>
>>>> >
>>>>
>>>>
>>>>
>>>> On 2011-12-07 20:12, Ali Lown wrote:
>>>>
>>>>  I have an instance running at http://wiabexport.appspot.com which I
>>>>> wrote a while ago. This uses the python interface to pull out the
>>>>> wavelet raw deltas and offers them for download to you.
>>>>>
>>>>> I never finished a script to convert to the delta/index file format
>>>>> used by WIAB - due to the lack of documentation at the time.
>>>>>
>>>>> So if you want to pull the raw data out take a look into this tool,
>>>>> but then we still need to write a tool to put them into a running WIAB
>>>>> server.
>>>>>
>>>>> Ali
>>>>>
>>>>> On 7 December 2011 16:52, Yuri Z<[email protected]>   wrote:
>>>>>
>>>>>  I would advice to import them to a Walkaround instance just to be sure
>>>>>> your
>>>>>> waves are safe.
>>>>>> On Wed, Dec 7, 2011 at 6:46 PM, Thomas Leonard<
>>>>>> [email protected]>   wrote:
>>>>>>
>>>>>>  Is an import feature likely to appear before wave.google.com becomes
>>>>>>
>>>>>>> read-only? Import to Walkaround seems to work (though it would take a
>>>>>>> long
>>>>>>> time to import all our waves by clicking all the import buttons), but
>>>>>>> we'd
>>>>>>> prefer to import into a local WIAB instance, if possible.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 2011-05-18 20:51, Yuri Z wrote:
>>>>>>>
>>>>>>>  Google Wave Data API was modified to allow to request the whole
>>>>>>>
>>>>>>>> history of
>>>>>>>> the wave - which in effect allows to "import" it. But AFAIK no one is
>>>>>>>> working on a tool that would actually import the history into WIAB
>>>>>>>> deltas
>>>>>>>> store.
>>>>>>>>
>>>>>>>> 2011/5/18 Ali Lown<[email protected]>
>>>>>>>>
>>>>>>>>  On the old waveprotocol site task list, this is still listed as
>>>>>>>> waiting
>>>>>>>>
>>>>>>>>  for
>>>>>>>>> google to implement export.
>>>>>>>>>
>>>>>>>>> Export has now been available for a while for waves, has any
>>>>>>>>> progress
>>>>>>>>> been
>>>>>>>>> made on importing them?
>>>>>>>>>
>>>>>>>>> The HTML option, actually provides the data in a JSON form, is there
>>>>>>>>> are
>>>>>>>>> parser for this already in the code base?
>>>>>>>>>
>>>>>>>>> Ali
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   --
>>>>>>>>
>>>>>>> Dr Thomas Leonard
>>>>>>> IT Innovation Centre
>>>>>>> Gamma House, Enterprise Road,
>>>>>>> Southampton SO16 7NS, UK
>>>>>>>
>>>>>>>
>>>>>>> tel: +44 23 8059 8866
>>>>>>>
>>>>>>> mailto:tal@it-innovation.****sot**on.ac.uk<http://soton.ac.**uk<http://soton.ac.uk>
>>>>>>> ><
>>>>>>> tal@it-innovation.**soton.ac.**uk <http://soton.ac.uk><
>>>>>>> [email protected].**uk <[email protected]>>>
>>>>>>> http://www.it-innovation.****sot**on.ac.uk/<http://soton.**ac.uk/<http://soton.ac.uk/>
>>>>>>> ><
>>>>>>> http://www.it-**innovation.**soton.ac.uk/<http://innovation.soton.ac.uk/>
>>>>>>> <http://www.it-**innovation.soton.ac.uk/<http://www.it-innovation.soton.ac.uk/>
>>>>>>> >
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>> Dr Thomas Leonard
>>>> IT Innovation Centre
>>>> Gamma House, Enterprise Road,
>>>> Southampton SO16 7NS, UK
>>>>
>>>>
>>>> tel: +44 23 8059 8866
>>>>
>>>> mailto:tal@it-innovation.**sot**on.ac.uk <http://soton.ac.uk><
>>>> tal@it-innovation.**soton.ac.uk <[email protected]>>
>>>> http://www.it-innovation.**sot**on.ac.uk/ <http://soton.ac.uk/><
>>>> http://www.it-**innovation.soton.ac.uk/<http://www.it-innovation.soton.ac.uk/>
>>>> >
>>>>
>>>>
>>>
>> --
>> Dr Thomas Leonard
>> IT Innovation Centre
>> Gamma House, Enterprise Road,
>> Southampton SO16 7NS, UK
>>
>>
>> tel: +44 23 8059 8866
>>
>> mailto:tal@it-innovation.**soton.ac.uk <[email protected]>
>> http://www.it-innovation.**soton.ac.uk/<http://www.it-innovation.soton.ac.uk/>
>>

Reply via email to