Thursday, May 14, 2009

Programming weblocks

It has been more then a year since the time I last worked with weblocks. So I was anxious to see how much the things improved with the latest version. I'm usually working on windows using lispworks so I've unpacked weblocks archive into my Lisp Libraries and expected Edi's starter pack to do its magic. To no avail as asdf failed. It was obvious that weblocks still depends on symbolic links to compile and run. I've did the easiest thing reshuffled some folders so starter pack could find them and weblocks started compiling. Lispworks spewed some errors that I could ignore and after few minutes I was playing with the demo and the blog. Afterward I tried running the tests but exhausted the heap of my personal edition. This was the third bad omen in a single hour so I decided to switch to linux. Luckily new Ubuntu 9.04 recently came out and I already had a virtual machine set up for running it together with sbcl and slime.
Only thing I was missing was clbuild. It took some time to install all dependencies (darcs, svn, hf ) but the process was smooth. With clbuild installed I've downloaded weblocks and clbuild took care about the dependencies. The problem was that when I've started slime and asdf:load-op :weblocks couldn't found the files in the clbuild directories. I was tired to think so instead of pushing a link to asdf directories I just copied at the .sbcl folder. Then I've run the demos and weblocks tests.
I have an application that I make every time I learn a new web UI framework, sort of used cars shop so I started making it with weblocks. To cut on the setup I've copied the weblocks demo files, since it already has the employee functionality. The only thing I needed to change was position class instead of company class. Actually I've tried calling it position but there is already a function with that name so I was forced to change to positions. I've added a class for storing cars and started looking on the prefabricated widgets source to see what else is available.
The login widget was there so I quickly added it and it was time to sleep.
So far Weblocks looks very cool. The author and maintainers did a good job for creating a public consumption ready product.
Unfortunately the number of prefabricated widgets is very far from what I'm used to. So today If times allows will check how easy is to extend it with new types and widgets.

1 comment:

  1. Here's a wizard widget that will eventually be integrated (data abstraction and tests are missing right now): http://paste.lisp.org/display/76229

    Some more widgets can also be found in the contrib/ folder.

    ReplyDelete

Note: Only a member of this blog may post a comment.