<br><br><div><span class="gmail_quote">On 6/1/07, <b class="gmail_sendername">Scott Trudeau</b> &lt;<a href="mailto:strudeau@umich.edu">strudeau@umich.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Right.&nbsp;&nbsp;But what happens when a user on the live site adds a new node<br>at the same time I add a new node on the local copy and the node id<br>conflicts?&nbsp;&nbsp;What happens if a user edits a node on the live site that<br>I also edit on the local copy?&nbsp;&nbsp;And that&#39;s without getting in to more
<br>comples site configuration syncing issues ...<br><br>Not impossible, but trickier than it might seem.<br><br>And on this same thread, a quick proof-of-concept by a Wordpress<br>developer for syncing Wordpress content offline using Google Gears:
<br><br><a href="http://blog.assembleron.com/2007/05/31/google-gears-caching-of-wordpress-in-php/">http://blog.assembleron.com/2007/05/31/google-gears-caching-of-wordpress-in-php/</a></blockquote><div><br><br>I attended Google Developer day and sat through most of the Google Data API, Mash-up sessions.&nbsp; They resolve conflicts using Optimistic Concurrency.&nbsp; Their API is completely REST so it&#39;s something we could also implement in Drupal.
<br><br><a href="http://code.google.com/apis/gdata/reference.html#Optimistic-concurrency">http://code.google.com/apis/gdata/reference.html#Optimistic-concurrency</a><br><br>I assume that Gears makes use of this data API to resolve these issues.
<br><br>Cheers,<br>Kieran<br><br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Scott<br><br>On 6/1/07, Xavier Bestel &lt;<a href="mailto:xavier.bestel@free.fr">
xavier.bestel@free.fr</a>&gt; wrote:<br>&gt; On Fri, 2007-06-01 at 10:37 -0400, Scott Trudeau wrote:<br>&gt; &gt; Theoretically, a way to &quot;sync&quot; Drupal site instances (Google Gears<br>&gt; &gt; aside) would be awesome.&nbsp;&nbsp;Practically, it is a very hard problem to
<br>&gt; &gt; solve since most Drupal sites are in constant flux &quot;in the wild&quot; and<br>&gt; &gt; therefor, once you &quot;copy&quot; a local version of the site and make<br>&gt; &gt; changes, you have two separate branches with many potential
<br>&gt; &gt; opportunities for collision.&nbsp;&nbsp;You can handle some sync collisions<br>&gt; &gt; intelligently but there will always be weird cases.&nbsp;&nbsp;Also, I can&#39;t<br>&gt; &gt; even begin to imagine how much more effort it would take to build
<br>&gt; &gt; modules that can handle a sync framework.<br>&gt;<br>&gt; And then ? It&#39;s the same thing when you take your time to add or edit a<br>&gt; node on a busy site: you&#39;ve got a &quot;temporarily offline&quot; reference in
<br>&gt; your web browser which is &quot;synced back&quot; to the database when you press<br>&gt; &quot;save&quot;.<br>&gt;<br>&gt;<br>&gt;<br></blockquote></div><br><br clear="all"><br>-- <br>To strive, to seek, to find, and not to yield.
<br>