From vsedach at gmail.com Fri Apr 3 00:05:22 2009 From: vsedach at gmail.com (Vladimir Sedach) Date: Thu, 2 Apr 2009 18:05:22 -0600 Subject: [Bese-devel] Lisp web development book proposal for O'Reilly Message-ID: Hi, At ILC 2009, O'Reilly Media released a statement that they were soliciting proposals for books about Lisp. This is a reversal of their previous policy that explicitly stated that they were not interested in publishing Lisp books. I'm planning to put together a proposal for a book about web development in Lisp and am looking for contributors. Here is the description of the project: The book is going to be the "Lisp Web Development Cookbook," with many authors contributing chapters/recipes. It makes sense to break it down into several larger sections, for example one on using frameworks and Hunchentoot, one on generating and transforming JavaScript, one on CPS transformer tools, and a section on Clojure, and possibly Scheme. The focus is going to be on advice and techniques from people who have built public or commercial web systems in Lisp, and to demonstrate Lisp techniques that aren't possible using other tools. I want this book to really show how Lisp can be used to build up abstractions to program in the problem domain directly in ways that are not possible in other languages, with techniques and examples from real-world Lisp web systems. If you are interested in contributing a chapter or recipe (doesn't matter how short it is, half a page is ok if it does something cool), please let me know what you'd like to write about. If you know someone who might be interested in contributing, please pass this on. I'm going to be soliciting potential contributors for the next two weeks. Once I have a list of prospective contributors, I'll put together a list of the subjects covered and an outline of the sections of the book, and send a proposal to O'Reilly. Thank you, Vladimir Sedach From burban at opopop.net Wed Apr 15 23:13:54 2009 From: burban at opopop.net (burban at opopop.net) Date: 15 Apr 2009 23:13:54 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core Message-ID: <87ws9l1pe5.fsf@default.opopop.net> Hello, I was a bit reluctant to use the latest ucw_ajax due to the "dojo TabContainer" demo not working. I found the problem I think (a not completely reverted fix about flickering from ... October 2007!!), and here is a complete sets of patches for the latest ucw_ajax with the most recent libraries: http://lisp.opopop.net/files/patch-ucw-ajax I have some questions about the future direction of ucw-core. 1) ucw-core as it is now is a bit limited; what are the plans for new modules? I have integrated back a module for tal templating, see: http://lisp.opopop.net/files/ucw-core2.tgz (directory src/ucw-tal) I have brought back the ajax framework, but that won't fly without js. So my second question: 2) What about using a more recent version of dojo? The one in UCW seems really old. Has someone already worked on a update? Regards. -- B. Urban From attila.lendvai at gmail.com Thu Apr 16 07:59:31 2009 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Thu, 16 Apr 2009 09:59:31 +0200 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <87ws9l1pe5.fsf@default.opopop.net> References: <87ws9l1pe5.fsf@default.opopop.net> Message-ID: > I was a bit reluctant to use the latest ucw_ajax due to the "dojo > TabContainer" demo not working. I found the problem I think (a not > completely reverted fix about flickering from ... October 2007!!), and > here is a complete sets of patches for the latest ucw_ajax with the > most recent libraries: http://lisp.opopop.net/files/patch-ucw-ajax i've pushed 3 fixes into ucw_ajax that i've done while our old codebase has been running in keep-alive mode. as i'm not testing ucw anymore, i did not push your changes blindly. > 2) What about using a more recent version of dojo? The one in UCW > seems really old. Has someone already worked on a update? post 0.4 dojo is a complete rewrite, so don't waste too much time with porting. also, you may find something useful in the web part of our new codebase: http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi/darcsweb.cgi?r=cl-dwim-wui;a=summary (we'll advertise it more once we have a more useful demo built on it and it get its own standalone project page) -- attila From henrik at evahjelte.com Thu Apr 16 10:46:56 2009 From: henrik at evahjelte.com (Henrik Hjelte) Date: Thu, 16 Apr 2009 12:46:56 +0200 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <87ws9l1pe5.fsf@default.opopop.net> References: <87ws9l1pe5.fsf@default.opopop.net> Message-ID: <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> On Thu, Apr 16, 2009 at 1:13 AM, wrote: > > Hello, > > I was a bit reluctant to use the latest ucw_ajax due to the "dojo > TabContainer" demo not working. I found the problem I think (a not > completely reverted fix about flickering from ... October 2007!!), and > here is a complete sets of patches for the latest ucw_ajax with the > most recent libraries: http://lisp.opopop.net/files/patch-ucw-ajax > > I have some questions about the future direction of ucw-core. > > 1) ucw-core as it is now is a bit limited; what are the plans for new > modules? ?I have integrated back a module for tal templating, see: > http://lisp.opopop.net/files/ucw-core2.tgz (directory src/ucw-tal) > > I have brought back the ajax framework, but that won't fly without > js. ?So my second question: > > 2) What about using a more recent version of dojo? The one in UCW > seems really old. Has someone already worked on a update? We have some old code using a tweaked version of the old ucw_ajax, and might be interested in converting it to the new codebase. But I haven't actually looked closely on the refactored code yet. We might be able to help with updating the ajax parts, but my enthusiasm for dojo has faded a lot. If we are going to update it I would suggest using jQuery because it could be refreshing to work with something easy, stable, widely-used and with momentum. I have experience with dojo and prototype but am trying out jQuery right now for these reasons plus that it plays well with other libraries. http://www.google.com/trends?q=jquery%2Cdojo%2Cmootols%2Cyui%2Cextjs Cheers, Henrik Hjelte From burban at opopop.net Thu Apr 16 21:25:57 2009 From: burban at opopop.net (burban at opopop.net) Date: 16 Apr 2009 21:25:57 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> References: <87ws9l1pe5.fsf@default.opopop.net> <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> Message-ID: <87ws9k8f4q.fsf@default.opopop.net> Henrik Hjelte writes: [..] > > 2) What about using a more recent version of dojo? The one in UCW > > seems really old. Has someone already worked on a update? > > We have some old code using a tweaked version of the old ucw_ajax, and > might be interested in converting it to the new codebase. But I > haven't actually looked closely on the refactored code yet. > > We might be able to help with updating the ajax parts, but my > enthusiasm for dojo has faded a lot. If we are going to update it I > would suggest using jQuery because it could be refreshing to work with > something easy, stable, widely-used and with momentum. I have > experience with dojo and prototype but am trying out jQuery right now > for these reasons plus that it plays well with other libraries. > > http://www.google.com/trends?q=jquery%2Cdojo%2Cmootols%2Cyui%2Cextjs > Well, I am not a fan of dojo in particular, and I would be happy with any framework which would do the job and stays quiet behind the scene. Thanks you for your link, I will have a look. -- B. Urban From burban at opopop.net Thu Apr 16 22:35:08 2009 From: burban at opopop.net (burban at opopop.net) Date: 16 Apr 2009 22:35:08 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: References: <87ws9l1pe5.fsf@default.opopop.net> Message-ID: <873ac82pnn.fsf@default.opopop.net> Attila Lendvai writes: > > I was a bit reluctant to use the latest ucw_ajax due to the "dojo > > TabContainer" demo not working. I found the problem I think (a not > > completely reverted fix about flickering from ... October 2007!!), and > > here is a complete sets of patches for the latest ucw_ajax with the > > most recent libraries: http://lisp.opopop.net/files/patch-ucw-ajax > > > i've pushed 3 fixes into ucw_ajax that i've done while our old > codebase has been running in keep-alive mode. as i'm not testing ucw > anymore, i did not push your changes blindly. > There is some overlap of the 2 sets of patches anyway. > > 2) What about using a more recent version of dojo? The one in UCW > > seems really old. Has someone already worked on a update? > > > post 0.4 dojo is a complete rewrite, so don't waste too much time with > porting. also, you may find something useful in the web part of our > new codebase: > > http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi/darcsweb.cgi?r=cl-dwim-wui;a=summary Thanks for the link. Obviously inspired by UCW:) Are there core design differences? > (we'll advertise it more once we have a more useful demo built on it > and it get its own standalone project page) Some documentation would be nice also. UCW suffers from a documentation too terse to go easily beyond the basics. Regards. -- B. Urban From attila.lendvai at gmail.com Fri Apr 17 16:26:56 2009 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 17 Apr 2009 18:26:56 +0200 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <873ac82pnn.fsf@default.opopop.net> References: <87ws9l1pe5.fsf@default.opopop.net> <873ac82pnn.fsf@default.opopop.net> Message-ID: > Thanks for the link. Obviously inspired by UCW:) Are there core design > differences? yes, it started out as an ucw refactor after we agreed with Drew that we want to bring ucw in different directions. but after a few hours of struggling, i ended up with a fresh darcs initialize and had to find a name quickly. wui was born. some highlighted differences that pop to my mind: - continuation stuff is not integral part of wui. if you need call/cc for a wizard or something else, then use it. the back button? forget it. the complex webapps we are building are more like a vnc to a desktop application running on the server, with a limited set of permanent entry points. you can write your own support for permanent url's. but to be honest, i didn't even look too deep into the back button support, so it *may* come later, but i don't care much. some more words on why: http://www.google.com/trends?q=jquery%2Cdojo%2Cmootols%2Cyui%2Cextjs (dropping the ucw backtracking and frame concepts makes it much more robust for sites with higher traffic). - backend abstraction is dropped, it's threaded iolib-only. - much more attention was paid for components, including a meta-gui that can work based on the information available from the MOP (and integrated with cl-perec for presenting and manipulating any persistent data model) - the xml generation is based on cl-quasi-quote (http://common-lisp.net/project/cl-quasi-quote/) - better error handling and reporting > Some documentation would be nice also. UCW suffers from a > documentation too terse to go easily beyond the basics. i've pointed out too many times how we don't believe in documentation, so i won't do it once again. the point is: don't expect any docs from us for wui besides extensive unit tests, and easy to start examples. -- attila From clinton at unknownlamer.org Fri Apr 17 18:53:32 2009 From: clinton at unknownlamer.org (Clinton Ebadi) Date: Fri, 17 Apr 2009 14:53:32 -0400 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <873ac82pnn.fsf@default.opopop.net> (burban@opopop.net's message of "16 Apr 2009 22:35:08 +0000") References: <87ws9l1pe5.fsf@default.opopop.net> <873ac82pnn.fsf@default.opopop.net> Message-ID: <87fxg7jemr.fsf@unknownlamer.org> burban at opopop.net writes: >> (we'll advertise it more once we have a more useful demo built on it >> and it get its own standalone project page) > > Some documentation would be nice also. UCW suffers from a > documentation too terse to go easily beyond the basics. src/rerl/protocol.lisp is actually *very* good documentation for UCW. A quick browse of it will give you more or less all of the knowledge required to extend UCW. The source of ucw-core/ucw-standard is generally well annotated with docstrings--the only thing I can think of to improve the accessibility of the documentation would be to generate a qbook (or similar) html doc from the source. If you disagree, suggestions are welcome and I'll look into working patches to fix things. -- Leebert: You don't listen to music. Leebert: You listen to the audio equivalent of /dev/urandom From clinton at unknownlamer.org Fri Apr 17 18:58:43 2009 From: clinton at unknownlamer.org (Clinton Ebadi) Date: Fri, 17 Apr 2009 14:58:43 -0400 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <87ws9l1pe5.fsf@default.opopop.net> (burban@opopop.net's message of "15 Apr 2009 23:13:54 +0000") References: <87ws9l1pe5.fsf@default.opopop.net> Message-ID: <87bpqvjee4.fsf@unknownlamer.org> burban at opopop.net writes: > 1) ucw-core as it is now is a bit limited; what are the plans for new > modules? I have integrated back a module for tal templating, see: > http://lisp.opopop.net/files/ucw-core2.tgz (directory src/ucw-tal) Could you reroll this package as a set of darcs patches (or at least a single huge patch) against the ucw-core darcs repository? Alternatively a quick summary of the changes (as it seems you moved tal files around in the source) would be helpful at least. A quick browse of the ucw-tal stuff (I'm a bit busy with some other code atm) makes it seem that it is more or less mergeable into ucw-core with a few name changes. I'll do this when I have an hour or two of free time. -- "Karen loved animals. Unfortunately the cheetahs betrayed her trust," Libot said. From burban at opopop.net Mon Apr 20 19:16:26 2009 From: burban at opopop.net (burban at opopop.net) Date: 20 Apr 2009 19:16:26 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: References: <87ws9l1pe5.fsf@default.opopop.net> <873ac82pnn.fsf@default.opopop.net> Message-ID: <87d4b7p245.fsf@default.opopop.net> Attila Lendvai writes: > > Thanks for the link. Obviously inspired by UCW:) Are there core design > > differences? > > > yes, it started out as an ucw refactor after we agreed with Drew that > we want to bring ucw in different directions. but after a few hours of > struggling, i ended up with a fresh darcs initialize and had to find a > name quickly. wui was born. > > some highlighted differences that pop to my mind: > > - continuation stuff is not integral part of wui. if you need call/cc > for a wizard or something else, then use it. the back button? forget > it. the complex webapps we are building are more like a vnc to a > desktop application running on the server, with a limited set of > permanent entry points. you can write your own support for permanent That makes sense. > url's. but to be honest, i didn't even look too deep into the back > button support, so it *may* come later, but i don't care much. some > more words on why: > http://www.google.com/trends?q=jquery%2Cdojo%2Cmootols%2Cyui%2Cextjs See my soon to come post about ucw-core with jquery... > (dropping the ucw backtracking and frame concepts makes it much more > robust for sites with higher traffic). > > - backend abstraction is dropped, it's threaded iolib-only. > > - much more attention was paid for components, including a meta-gui > that can work based on the information available from the MOP (and > integrated with cl-perec for presenting and manipulating any > persistent data model) > > - the xml generation is based on cl-quasi-quote > (http://common-lisp.net/project/cl-quasi-quote/) > > - better error handling and reporting > > > > Some documentation would be nice also. UCW suffers from a > > documentation too terse to go easily beyond the basics. > > > i've pointed out too many times how we don't believe in documentation, > so i won't do it once again. the point is: don't expect any docs from > us for wui besides extensive unit tests, and easy to start examples. Units tests: ok, but explain what you test and expect, and what can go wrong. "Easy to start examples": ok also; this was where IMHO original UCW lacked more detailed explanations. I am still not sure what all the UCW demos were intended for, and if they behave exactly as expected... The UCW tutorial from Ties Stuij is quite nice, but it was written before the ajax branch, so that aspect is missing. The ucw-core manual takes even more progressive steps to explain the basic ideas with examples. In short, the key for good doc seems to be: simple to more elaborate working examples, with a lot of explanations. Isn't that like the PCL book... Cheers. -- B. Urban From burban at opopop.net Mon Apr 20 19:28:32 2009 From: burban at opopop.net (burban at opopop.net) Date: 20 Apr 2009 19:28:32 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <87fxg7jemr.fsf@unknownlamer.org> References: <87ws9l1pe5.fsf@default.opopop.net> <873ac82pnn.fsf@default.opopop.net> <87fxg7jemr.fsf@unknownlamer.org> Message-ID: <878wlvp1jz.fsf@default.opopop.net> Clinton Ebadi writes: > burban at opopop.net writes: > > >> (we'll advertise it more once we have a more useful demo built on it > >> and it get its own standalone project page) > > > > Some documentation would be nice also. UCW suffers from a > > documentation too terse to go easily beyond the basics. > > src/rerl/protocol.lisp is actually *very* good documentation for UCW. A > quick browse of it will give you more or less all of the knowledge > required to extend UCW. True. But for a newcomer to UCW, this is of little help to understand it for performing simple tasks. > The source of ucw-core/ucw-standard is generally well annotated with > docstrings--the only thing I can think of to improve the accessibility > of the documentation would be to generate a qbook (or similar) html doc > from the source. True also, but same problem as above. > If you disagree, suggestions are welcome and I'll look into working > patches to fix things. > See my reply to Attila about documentation. The path so far followed by the ucw-core manual seems fine to me. Regards. -- B. Urban From burban at opopop.net Mon Apr 20 20:19:02 2009 From: burban at opopop.net (burban at opopop.net) Date: 20 Apr 2009 20:19:02 +0000 Subject: [Bese-devel] patches for UCW and some questions for ucw-core In-Reply-To: <87bpqvjee4.fsf@unknownlamer.org> References: <87ws9l1pe5.fsf@default.opopop.net> <87bpqvjee4.fsf@unknownlamer.org> Message-ID: <874owjoz7t.fsf@default.opopop.net> Clinton Ebadi writes: > burban at opopop.net writes: > > > 1) ucw-core as it is now is a bit limited; what are the plans for new > > modules? I have integrated back a module for tal templating, see: > > http://lisp.opopop.net/files/ucw-core2.tgz (directory src/ucw-tal) > > Could you reroll this package as a set of darcs patches (or at least a > single huge patch) against the ucw-core darcs repository? Alternatively > a quick summary of the changes (as it seems you moved tal files around > in the source) would be helpful at least. Yes, mostly moving files; but needed to fix logging and packages names. Here the set of patches, + a fast fix to get mod_lisp working: http://lisp.opopop.net/files/patch-ucw-core-tal Regards. -- B. Urban From burban at opopop.net Mon Apr 20 21:50:45 2009 From: burban at opopop.net (burban at opopop.net) Date: 20 Apr 2009 21:50:45 +0000 Subject: [Bese-devel] ucw-core + ajax + jQuery In-Reply-To: <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> References: <87ws9l1pe5.fsf@default.opopop.net> <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> Message-ID: <87zlebngei.fsf_-_@default.opopop.net> Henrik Hjelte writes: > We might be able to help with updating the ajax parts, but my > enthusiasm for dojo has faded a lot. If we are going to update it I > would suggest using jQuery because it could be refreshing to work with > something easy, stable, widely-used and with momentum. I have > experience with dojo and prototype but am trying out jQuery right now > for these reasons plus that it plays well with other libraries. > > http://www.google.com/trends?q=jquery%2Cdojo%2Cmootols%2Cyui%2Cextjs > Well, I am so far as to use ucw-core, augmented with ajax stuff and along with jQuery! It's not polished at all yet, the replaced component renders slightly misplaced, and it's dirtyness has to be set by hand. The modified ucw-core: http://lisp.opopop.net/files/ucw-core-ajax.tgz The modified web site, with a jquery copy: http://lisp.opopop.net/files/core-lisp-app.tgz Files of interest are: lisp-app/main-ajax/application-ajax.lisp lisp-app/static/scripts/ajaxify.js (The last file is a bit too specific currently) So yes, that road seems interesting to follow. Regards. -- B. Urban From burban at opopop.net Mon Apr 27 23:44:08 2009 From: burban at opopop.net (burban at opopop.net) Date: 27 Apr 2009 23:44:08 +0000 Subject: [Bese-devel] ucw-core + ajax + jQuery In-Reply-To: <87zlebngei.fsf_-_@default.opopop.net> References: <87ws9l1pe5.fsf@default.opopop.net> <50e8e4f60904160346k59165810wa94e57bd0ef48d57@mail.gmail.com> <87zlebngei.fsf_-_@default.opopop.net> Message-ID: <87ab61u0fr.fsf@default.opopop.net> burban at opopop.net writes: > Well, I am so far as to use ucw-core, augmented with ajax stuff and > along with jQuery! > > It's not polished at all yet, the replaced component renders slightly > misplaced, and it's dirtyness has to be set by hand. > > The modified ucw-core: > http://lisp.opopop.net/files/ucw-core-ajax.tgz > > The modified web site, with a jquery copy: > http://lisp.opopop.net/files/core-lisp-app.tgz > > Files of interest are: > lisp-app/main-ajax/application-ajax.lisp > lisp-app/static/scripts/ajaxify.js > > (The last file is a bit too specific currently) > > So yes, that road seems interesting to follow. Hi, Sensible progress on the front of ucw-core + ajax + jQuery. The only annoying problem remaining is the not automatic dirtyness setting. But rendering is proper now and the javascript is general enough for all actions on anchors clicks. Can't resist giving it here, as it's so simple: /* Inspired from http://www.chazzuka.com/blog/?p=88 */ $(function(){ function ajaxify(file){ $('
') .html("Loading Content...").prependTo('body').fadeIn(); var data = $.ajax({ url: file, dataType: "html", success: function(msg){ $(msg).children().each(function(i) { var att = $(this).attr('id'); /*alert("Original: "+att+" "+$("div[id="+att+"]").html()); alert("New: "+att+" "+$(this).html());*/ $("div[id="+att+"]").html($(this).html()); }); /*alert($('*').html());*/ }}).responseText; $('#ucw-progress-container').fadeOut('slow',function(){$(this).remove();}); } $("a").live('click',function(){ var isajax = new Array(); isajax = $(this).attr('href').split('/'); if (isajax[1] == 'ajax') { ajaxify($(this).attr('href')); return false; } }); }); Will provide full proper patches soon. Regards. -- B. Urban