Re: Interest in a Lisp CMS?
Posted: Tue May 26, 2009 5:31 am
I'm not saying Weblocks/UCW is a plague, just that they are ridden by a common plague, that is, lack of documentation.
I tried to use UCW several times, each time having great difficulties to make its examples work. And then they started major overhaul...
Weblocks example is nice, but again, no documentation.
(in-package :simple-blog)
(defview user-table-view (:type table :inherit-from '(:scaffold user)))
(defview user-data-view (:type data :inherit-from '(:scaffold user)))
(defview user-form-view (:type form :inherit-from '(:scaffold user)))
(defview post-table-view (:type table :inherit-from '(:scaffold post)))
(defview post-data-view (:type data :inherit-from '(:scaffold post))
(author :reader #'post-author-name)
(time :reader #'post-formatted-time))
(defview post-form-view (:type form :inherit-from '(:scaffold post))
(time :hidep t)
;; POST-AUTHOR-ID and ALL-USERS will be defined below
(author :reader #'post-author-id
:present-as (dropdown :choices #'all-users
:label-key #'user-name)
:parse-as (object-id :class-name 'user)
:requiredp t)
(short-text :present-as textarea
:requiredp t)
(text :present-as (textarea :cols 30)
:requiredp t))
(defview post-short-view (:type data :inherit-from 'post-data-view)
(text :hidep t))
(defview post-full-view (:type data :inherit-from 'post-data-view)
(short-text :hidep t))
It was easier for me to throw together some hunchentoot handlers and cl-who and home-brewed macros than to dig source for all those keyword parameters...
I tried to use UCW several times, each time having great difficulties to make its examples work. And then they started major overhaul...
Weblocks example is nice, but again, no documentation.
(in-package :simple-blog)
(defview user-table-view (:type table :inherit-from '(:scaffold user)))
(defview user-data-view (:type data :inherit-from '(:scaffold user)))
(defview user-form-view (:type form :inherit-from '(:scaffold user)))
(defview post-table-view (:type table :inherit-from '(:scaffold post)))
(defview post-data-view (:type data :inherit-from '(:scaffold post))
(author :reader #'post-author-name)
(time :reader #'post-formatted-time))
(defview post-form-view (:type form :inherit-from '(:scaffold post))
(time :hidep t)
;; POST-AUTHOR-ID and ALL-USERS will be defined below
(author :reader #'post-author-id
:present-as (dropdown :choices #'all-users
:label-key #'user-name)
:parse-as (object-id :class-name 'user)
:requiredp t)
(short-text :present-as textarea
:requiredp t)
(text :present-as (textarea :cols 30)
:requiredp t))
(defview post-short-view (:type data :inherit-from 'post-data-view)
(text :hidep t))
(defview post-full-view (:type data :inherit-from 'post-data-view)
(short-text :hidep t))
It was easier for me to throw together some hunchentoot handlers and cl-who and home-brewed macros than to dig source for all those keyword parameters...