Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 99633 invoked from network); 10 Dec 2010 18:36:23 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 10 Dec 2010 18:36:23 -0000 Received: (qmail 13924 invoked by uid 500); 10 Dec 2010 18:36:21 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 13889 invoked by uid 500); 10 Dec 2010 18:36:21 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 13881 invoked by uid 99); 10 Dec 2010 18:36:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Dec 2010 18:36:21 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pavel.krivanek@gmail.com designates 209.85.213.180 as permitted sender) Received: from [209.85.213.180] (HELO mail-yx0-f180.google.com) (209.85.213.180) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Dec 2010 18:36:13 +0000 Received: by yxm34 with SMTP id 34so2448127yxm.11 for ; Fri, 10 Dec 2010 10:35:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=vi7b9R1fiuDfspO74g196/uDMS9jS5sdxjUfbnxMlLw=; b=gNy6hB2+Y5HOICRcK4rRSK1TtFhK14Z/TM9dQ8BtbXvt0xr/dU0ao/RDIjDCBGpqZe FA3kqdGUaeiwHtQCUz/HZ0jmMRIS4XAc2XmwfFHBy/L2cpSiPPjmyFlWe0TPcvvEsrNd URhKmnMIpoyZM2bNre2QGbT5qiwo+q/v9nFvc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=eCRYdy9I7htlHt+iOfsJBDZFupxqPFGRLI4S6aVKXmPn+17/cOHxCo2CwGzWOLPBX/ dA4Fd4Oc5hgySUL54Ny3qFpFUadrVkg9b/vMdxNxvtZcnnP49plZaQX3WRJVnBBsWoor QQrbGeeVqG3ZdW5M/d1gUmHRAB1M4W6dZaj80= MIME-Version: 1.0 Received: by 10.100.171.9 with SMTP id t9mr703699ane.151.1292006152601; Fri, 10 Dec 2010 10:35:52 -0800 (PST) Received: by 10.101.126.3 with HTTP; Fri, 10 Dec 2010 10:35:52 -0800 (PST) In-Reply-To: References: Date: Fri, 10 Dec 2010 19:35:52 +0100 Message-ID: Subject: Re: CouchDB and XULJet for development of desktop applications From: Pavel Krivanek To: user@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Hi Florian, No, XULRunner cannot serve web pages. It can only display them. If your web interface uses mainly and almost solely Ajax then you can create a very simple XULRunner application with HTML instead of XUL that will send an initial XMLHttpRequest (GET) to the server, replace the current document with the resultant data and then you will continue with Ajax-only communication. So you will have one web server and two kinds of clients - one that will access the server (with LivelyCouch) from normal web browser and that will have access to the data only from server database. The second kind of clients will have to use special browser (your simple XULRunner application). It will show content provided by the same server with LivelyCouch however it will have wider privileges so it will be able to communicate with local CouchDB too, access to local files, processes etc. -- Pavel On Fri, Dec 10, 2010 at 5:03 PM, Florian Leitner wrote: > Hi Pavel, > > Thanks for your detailed responses. As you will have seen, I've > replied to your comments in another thread, too. Specifically to what > you wrote here: > > Yes, XULjet seems to very much solve the client side issues and > creates a nice platform-independent interface for desktop apps. > However, as I already wrote in another thread you replied to, too, it > seems I will have to create _two_ interfaces: one web interface for > the servers (using some web server wrapper for CouchDB, such as > LivelyCouch), and one desktop interface for the clients (using > XULjet). However, I could be completely wrong about this and maybe > XULjet could also be used to serve web pages, so I can use XULjet for > both interfaces? If that were the case, XULjet would actually be the > perfect solution I am looking for, because I do not need to maintain > two interfaces. So, is that possible with XULjet? > > Regards, > Florian > > On 10 December 2010 09:56, Pavel Krivanek wrote: >> Hi, >> >>> Hi Pavel, >>> >>> I just read your post after my own, entitled "CouchDB/App, XHR, and >>> the JavaScript Same Origin Policy". This sounds pretty interesting, >>> especially your qoute about the Ajax issue and working around the Same >>> Origin Policy. So, if this is a good tool to build desktop-based >>> CouchDB apps, how platform-independent is it? >> >> It is possible to run on every platform where Firefox works, so MacOS, >> Windows and Linux are OK. Other processors should be ok too, if you >> look at XULRunner Debian builds, it is supported by alpha amd64 arm >> armel hppa i386 ia64 mips mipsel powerpc s390 sparc. I suppose that >> other systems like BSD should work too. On the other hand, most of the >> mobile platform are currently out of the game. >> >>> Can I easily build tools >>> that work equally well on OSX, Windows, and Linux without any "special >>> case" checking, much like in a platform independent language? >> >> XULRunner have some displaying issues, for example it doesn't show >> lines in groupboxes on Linux. If some hacks will be necessary I expect >> it will be solved inside the XULJet framework. >> >>> Does it >>> support any other platforms beyond those "big three"? >> >> See above >> >>> And, last, you >>> write you can easily embed SVG and HTML - what about PDF files, can >>> you view/display those through some plugin, maybe like the typical >>> browser plugins? >> >> I have no personal experience with it however it seem that it is possible: >> http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/d7f78f95d0185a79 >> >> -- Pavel >> >>> Thanks, >>> Florian >> >> On 8 December 2010 22:58, Pavel Krivanek wrote: >>> Hi all, >>> >>> I think you should pay attention XULJet framework [1]. This framework >>> tries to facilitate the development of JavaScript applications on the >>> Mozilla XULRunner runtime and it is maybe the most natural way how to >>> develop desktop applications supported by CouchDB. >>> Ajax requests have no limited destinations in XULRunner and with other >>> privileges (access to local files, execution of local processes...) it >>> provides an easy-to-use platform for desktop applications with native >>> look&feel. >>> Because the applications are written in JavaScript it is really very >>> easy to work with CouchDB. >>> >>> XULJet has this main features: >>> - component-based structure that increases reuseability of the code >>> - readable description of GUI directly in JavaScript, no need of >>> external XML files >>> - powered by Google Closure Library that provides good modular system >>> and additional tools >>> - easy access to XUL elements using bindings to component properties >>> - simple embedding of HTML and SVG >>> - forms (they have no direct support in XUL) >>> - simple generation of printed reports >>> >>> The archive with version 2.0.1 includes CouchDB library from Futon >>> with small modifications for the Closure Library. >>> >>> [1] http://code.google.com/p/xuljet/ >>> >>> Cheers, >>> -- Pavel Krivanek >>> >> >