<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Fabian -</div><div><br></div><div>Thank you for your interest in CodeDB2 and all the praise even though development has just started ;-).</div><div><br></div><div><blockquote type="cite"><div>1) Do you have any plans yet for doing distributed development with<br>that (distributed as in several deployments)? On a single site, I<br>expect the workflow to be similar to the one in ENVY/Developer.<br></div></blockquote><div><br></div><div>Yes, we do have plans for distributed development. We never really oriented on ENVY/Developer but after reading those ideas, some are similar to what we have in mind.</div><div>Maybe this answer will be to technically but basically we want to change our numeric version numbers to hashed the way they are used in GIT. Doing this should make distributed development possible. We also want to use CouchDB replication as good as possible, meaning that synchronization should be easy and with fine-granular "code objects"** there should be less need of merging/manual conflict resolution.</div><br><blockquote type="cite"><div>2) Will there be a package format and if so, how can these be shared?<br></div></blockquote><div><br></div><div>Right now we did not think of explicit packages, however we will have change sets and modules (in a way similar concepts) that will be shared.</div><br><blockquote type="cite"><div>Then, I saw that you, Marko, put a description of document schemas in<br>the wiki (<a href="http://lively-kernel.org/repository/webwerkstatt/projects/CodeDB2/info_documents.xhtml">http://lively-kernel.org/repository/webwerkstatt/projects/CodeDB2/info_documents.xhtml</a>).<br></div></blockquote><div><br></div><div>For a feature-list rather have a look at <a href="http://www.lively-kernel.org/repository/webwerkstatt/projects/CodeDB2/contents.xhtml">http://www.lively-kernel.org/repository/webwerkstatt/projects/CodeDB2/contents.xhtml</a>.</div><div>It feels a little bit like we are moving towards "the second version syndrome" but as lets see what will make it into CodeDB2 and what will be CodeDB3 ;-). (I also consider CodeDB(1) to be a POC from our perspective right now...)</div><br><blockquote type="cite"><div>Now these schemas look structured enough to save them in a relational<br>database. I'm not indicating that this is a great idea, but you can<br>guess what company might be interested in that.</div></blockquote><div><div><blockquote type="cite"></blockquote></div></div><blockquote type="cite"><div><br></div></blockquote><div><div><blockquote type="cite"></blockquote></div></div><blockquote type="cite"><div>[...]</div></blockquote><div><div><div><div><blockquote type="cite"></blockquote></div></div></div></div><div><div><blockquote type="cite"></blockquote></div></div><blockquote type="cite"><div><br></div></blockquote><div><div><blockquote type="cite"></blockquote></div></div><blockquote type="cite"><div>I'm wondering if you could easily put those objects into an RDBMS</div></blockquote><div><blockquote type="cite"><div>(trivially, you could, but you sort of want to preserve the schema in<br>that case).<br></div></blockquote><div><div><br></div></div></div><div>Well, it definitely is not :-p but those schemas are very "unstable" right now. There are still a lot of changes but we try to keep this document up-to-date.</div><div>What makes CouchDB (as database) so unique is that it is application server and database in one. So "obvious parts" of a world/part/module file can be omitted and Javascript/XHTML files can be created "on-the-fly" using CouchDB's Shows and Lists (<a href="http://wiki.apache.org/couchdb/Formatting_with_Show_and_List">http://wiki.apache.org/couchdb/Formatting_with_Show_and_List</a>) while writing changes/code to the database really just contains the "clean" code.</div><div>But a Node.JS server might to the same after querying a RDBMS...</div><br><blockquote type="cite"><div>3) does CodeDB run completely inside CouchDB, and if so, what will the<br>interface look like? You'd probably POST these code entities to some<br>RESTful route (rather than posting complete files)?<br></div></blockquote><div><br></div><div>You are putting/deleting/reading CouchDB documents via its RESTful api to manage "code objects"**.</div><div>When accessing modules, worlds, etc. for execution/loading, shows and lists will generate code that can be interpreted directly by a browser (meaning a well-formed Javascript file or (X)HTML page). Currently also the url patterns are still changing but rewriting will hopefully make everything look like the filesystem structure we have right now.</div><br></div><div>I hope this will give you a feeling of what is to come :-).</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- Marko</div><div><br></div><div><br></div><div>** code objects are small units of source code. This can be a method, a class definition, a module description, etc.</div></body></html>