1) Yes please!  Cutting the Blip -> Document dependency would make the code
cleaner.

Client side, I don't think that Blip::getDocument() is used.  Undercurrent
has its own DocumentRegistry to look up the document object for a
particular blip, rather than getting it from the blip directly, in order to
have client-side specialization of document behaviour like diff
highlighting.  I can't speak for the WIAB server though.

Alternatively, the "proper" Java solution would be to make the conversation
model generic in the document type.  Conversation<D>, ConversationBlip<D>,
ConversationThread<D> etc.  That would mean that Blogger could use
Converation<HtmlBlob>, WIAB client could use
Conversation<ClientDocumentImpl>, and WIAB server could use
Conversation<Document> or whatever it needs.  I don't know if that solution
would just add more convolution than it saves though.  Generics can add a
significant amount of unnecessary verbiage and wrangling, and plenty of
engineers who should know better are afraid of them.

2) That does sound good, especially for development.

But I don't think it can be called a good thing or a bad thing without
knowing the impact on code size.  It might be possible to have both,
however.  i.e., to have a build setup that has user-agent specific builds,
with compile-time minimization, and also an all-agent build?  It might take
some GWT-fu to set that up.

Regarding Walkaround, my guess is that if WIAB keeps working, Walkaround
will keep working too.  I don't think its use of Undercurrent has any extra
needs beyond what WIAB does.  Dan can correct me if I'm wrong.

-Dave

On Thu, Jan 19, 2012 at 2:50 AM, Yuri Z <vega...@gmail.com> wrote:

> Hi Patrick.
> First of all - congrats on the Blogger improvement - it's really great to
> see how GWave advancements slowly make it into mainstream.
> Regarding your suggestion - can you maybe describe  what the the possible
> of the proposed change? Generally - removing dependencies - sounds great.
> Also, if it's useful to your project, it can be also useful for others.
> The only concern it about Walkaround project - which also uses
> Undercurrent.
> @David, can you please share your opinion?
>
>
> On Tue, Jan 17, 2012 at 8:18 AM, Patrick Coleman <patcole...@google.com>wrote:
>
>> Fellow wave-dev'ers;
>>
>> For those who missed the recent announcement, my current project (Blogger)
>> just launched threaded commenting:
>> http://buzz.blogger.com/2012/01/engage-with-your-readers-through.html
>>
>> The reason I'm emailing here though is that all the comment rendering code
>> uses the Undercurrent wave-panel GWT library.
>> (e.g. check out the DOM produced in the comments section of that post, it
>> may look familiar).
>>
>> I'm aware that this alternate usage may add some constraints moving
>> forwards with the codebase, so I was wondering if there was a generally
>> recommended way of sharing code like this - e.g. are there any large
>> changes planned to Undercurrent that mean I should fork my own copy first?
>> Alternatively, if there are changes I hope to make, are they likely to
>> help
>> being submitted into the apache codebase?
>>
>> If it helps, the main two changes I'd hope to work on for our usage are:
>> 1) Removing the dependency from Blip to Document
>> - Comments are just static html, so I have a custom CommentDocument for
>> this, but due to the interfaces it needs to
>> pull in ContentDocument, MutableDocument and DocInitialization which
>> bloats
>> the library size
>> 2) Adding an alternative to UserAgentStaticProperties that is actually
>> dynamic - i.e. removes the requirement to have a different script per user
>> agent.
>>
>> fwiw, thanks to all of those active in this community that've kept this
>> code open and nicely usable for such a different feature such as this.
>>
>> - Pat Coleman
>>
>
>

Reply via email to