UnCommon Web is a Common Lisp web application development framework.
The ASDF package is located at http://common-lisp.net/project/ucw/tarballs/ucw_dev-latest.tar.gz, but it is not asdf-install'able.
Marco Baringer packed ucw plus all its dependencies in one box: http://common-lisp.net/project/ucw/ucw-boxset.tar.gz The boxset is automatically generated each night from the head of the dependent repositories, so there may be transient glitches... It contains two branches of UCW, you can start them with their respective start file. After download untar it, cd into the dir and execute:
YOURLISPHERE (-)-load start(-ajax).lisp
You can take a look at another ajax extension for the UCW framework UCW+ Examples. Checking out the sources is easy:
darcs get http://www.core.gen.tr/projects/ucw+/
I'm in no way a UCW-Guru, but I hope I get at least enough understanding to get you on your way. Please visit ucw Tutorial for my attempt to implement something simple. Well maybe this might help a bit also:
http://common-lisp.net/pipermail/bese-devel/2008-April/003221.html
I for my part have not looked into UCW for the last year. But I posted that elsewhere. For me it seems anyway that there is not much interest in ucw, at least the feedback here was nearly non existent and so how should one know which questions there might be (FriedrichDominicus)
And there's one called Ucw Intro by Ties Stuij, which covers installation, configuration, the basics, templating, debugging and more. For some more info from the author check the bottom of the page.
The documentation page on the ucw website points you to the two before mentioned tutorials, some out of date material and some background material.
Marco (the author of ucw) has always been very responsive and helpful, and if you look into ucw please subscribe to the mailing list, to keep track of the changes.
[2007-11-24] Blog post on trying out UCW
-----
Getting started with UCW using these tutorials isn't easy. (I confess I haven't tried Ties Stuij's `UCW Intro' since he updated it on 4 May, 2006.) The real place to start with UCW is not cliki.net/ucw, but the UnCommon Web project page because it gives a better start to using UCW. It mentions the names of the authors of the two tutorials listed on this page, which are not mentioned here. Using the Recent Changes link on cliki.net seems to be the only way for the general luser, er user, to get a clue about which tutorial might work with the up-to-date versions of UCW and the packages used by it. The change `17:59 ucw Tutorial : Corrected a germanenglish -- Vincent' that I found there today might not make the tutorial much more relevant to the task of becoming moderately conversant with UCW. I would like to request the maintainer (if any) or Friedrich Dominicus, the main author of `ucw Tutorial', to put his name on the tutorial (for general reference) and the version or date of ucw that the tutorial works with.
The best `tutorial' I've found for UCW was bits of UCW itself: the README and examples.
Thomas Elam, tomelam at gmail dot com or tom_elam on the #lisp and #ucw channels, 7 May, 2006
-----
Well the tutorial by Ties Stuij in any case is completely up to date. Granted, i am Ties Stuij, so this info might be a bit biased, but i've taken great care in keeping up and being clear. If the code doesn't work, bug me about it. If info isn't clear, bug me about it (address at the bottom of the tutorial). The most up to date version is to be found on my website, see link above, but it is also included in the ucw sources, which could lag some days behind. As can the README in the ucw sources which i (amongst others) also try to keep up to date. The tutorial is meant for the absolute beginner as well as the not so absolute beginner. It covers installation, configuration, the basics, templating, debugging and more. New chapters are added every week untill armageddon comes.
Ties Stuij
7 May, 2006
-----
Ties, thank you very much for your reply. It gives me confidence that if I spend the requisite time (a fair amount!) and effort on the tutorial, I will be rewarded with an up-to-date understanding of how to use UCW. Using your tutorial I did not get the ucwctl to work, but I did get the `basics' (cow-and-pig) component and `office' component to work. I really wish I had taken better notes about why I stopped working with the tutorial. I believe I had some trouble in my own application `calling' or `switching' from one component to other components and getting the newly rendered components rendered the way I wanted, so went looking for deeper understanding. Over the next week or so I will be giving your tutorial a try again to see if I can use it to learn enough to write my own useful UCW application.
Thomas Elam
8 May, 2006
-----
He Thomas, this is kinda interesting; communicating through cliki. Concerning your ucwctl problems you might have started learning ucw at a bad time. In the last couple of weeks, a bit has changed concerning the startup procedure and a bit has changed because of some major internal reorganization. You might have some bad luck with updating the code while the documentation scrambled to keep up. Things have settled down though, it seems.
Yes the tutorial is not small, and i personally see that as a feature ;o) It's edging more towards a user manual i guess, and it's set up modular so you can just pick and choose what info you need. The further into the intro, the less you need to know it. Code from all the chapters is self contained and only needs to be connected to the application code in the config file (or just load the supplied sources).
Ties Stuij
8 May, 2006
I'm always using the stuff from the darcs repository, with the most actual SBCL I can get work for me ;-). Now if you feel it's not easy to understand than add questions to the Tutorial. I have choosen the wiki form for good reasons ;-). You can link to your questions or add the questoins to the diverse chapter or or... My current setup: ucw_dev update 2005-05-10 SBCL 0.9.2.5 AMD 64 Debian unstable libc6-2.3.5
Friedrich 2006-05-11
-----
Ties and Friedrich,
Thank you both! I have to work with UCW during my (rare) free time, but I will try again. Next time I will keep better notes about my difficulties.
May I ask what are your nicknames on the #ucw IRC channel? Do you come online there often? (Or are you on #lisp?) What parts of the world are you both in (so I can get an idea when you are online -- I am an expat in India, of all places ;-).
Friedrich, what is the date of the last update to your tutorial?
Ties, how about adding a cliki.net page for questions about your tutorial?
Thomas Elam
11 May, 2006
-----
Ties and Friedrich,
I tried following your tutoria and neither one can be compiled into the latest version of UCW. I'm launching ucw_ajax and coding everything to the letter. Also, your tutorials don't follow the same approach as the examples, so it's a bit confusing which methodology of defining applications, components, entry points, etc is most recommended. According to the tutorials, I believe the most recent one was updated in July of 06. Six months in this world is a lifetime and I don't know how UCW has evolved since then. Do your tutorials really apply to todays' UCW version?
Thanks, Daniel
15 Jan 2007
-- It seems now I can edit this pages again. So here we go. I have downloaded the full package of ucw and tried my tutorial stuff and it has worked the only problem was that validate has to be made internal to ucw. So you have to write: (defmethod ucw::validate ((field string-field) (validator alpha-char-and-space-validator)) (let ((value (client-value field))) (and value (stringp value) (check-on-alpha-and-space-chars value))))
I'm positivly suprised that this was all I had to change for get that running with an actual ucw. I expected much more trouble.
Regards Friedrich 2007-02-05
Pages in this topic: gettingUCWIntoPlay UCW Tricks and Cookbook ucwProgrammingTips ucwTutorialExample ucwTutorialGettingFromOnePlaceToAnother
Also linked from: CPS Extension webactions fare-matcher FriedrichDominicus Geiriadur IMHO Lisp Videos lisp-on-lines Luigi Panzeri Marco Baringer Parenscript Pupeno Scheme ucw Tutorial Web Application Development Comparison webactionsTutorialStart webDevelopmentExample yaclml
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively