bknr-cvs
  Threads by month 
                
            - ----- 2025 -----
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2024 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2023 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2022 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2021 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2020 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2019 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2018 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2017 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2016 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2015 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2014 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2013 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2012 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2011 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2010 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2009 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2008 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2007 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 - ----- 2006 -----
 - December
 - November
 - October
 - September
 - August
 - July
 - June
 - May
 - April
 - March
 - February
 - January
 
- 1964 discussions
 
                        
                            
                                
                            
                            [bknr-cvs] r1838 - in branches/xml-class-rework/bknr/src: . data	web xml-impex
                        
                        
by bknr@bknr.net 17 Feb '06
                    by bknr@bknr.net 17 Feb '06
17 Feb '06
                    
                        Author: hhubner
Date: 2006-02-17 14:52:07 -0600 (Fri, 17 Feb 2006)
New Revision: 1838
Modified:
   branches/xml-class-rework/bknr/src/bknr-data-impex.asd
   branches/xml-class-rework/bknr/src/data/package.lisp
   branches/xml-class-rework/bknr/src/data/xml-object.lisp
   branches/xml-class-rework/bknr/src/web/menu.lisp
   branches/xml-class-rework/bknr/src/xml-impex/tutorial.lisp
   branches/xml-class-rework/bknr/src/xml-impex/xml-class.lisp
   branches/xml-class-rework/bknr/src/xml-impex/xml-export.lisp
Log:
Commit some more pending changes towards the dtd-less xml-class.
Modified: branches/xml-class-rework/bknr/src/bknr-data-impex.asd
===================================================================
--- branches/xml-class-rework/bknr/src/bknr-data-impex.asd	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/bknr-data-impex.asd	2006-02-17 20:52:07 UTC (rev 1838)
@@ -1,3 +1,4 @@
+
 (in-package :cl-user)
 
 (defpackage :bknr-data-impex.system
Modified: branches/xml-class-rework/bknr/src/data/package.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/data/package.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/data/package.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -42,6 +42,7 @@
 	   #:persistent-xml-class
 	   #:persistent-xml-class-importer
 	   #:define-persistent-class
+	   #:define-persistent-xml-class
 	   #:defpersistent-class
    
 	   #:store-object
Modified: branches/xml-class-rework/bknr/src/data/xml-object.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/data/xml-object.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/data/xml-object.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -39,4 +39,3 @@
 
 (export '(persistent-xml-class))
 
-
Modified: branches/xml-class-rework/bknr/src/web/menu.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/web/menu.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/web/menu.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -1,13 +1,13 @@
 (in-package :bknr.site-menu)
 
-(defparameter *menu-dtd* (cxml:parse-dtd-file (merge-pathnames #p"menu.dtd" *load-truename*)))
+(defparameter *menu-dtd* (ext:unix-namestring (merge-pathnames #p"menu.dtd" *load-truename*)))
 
 (defclass menu-defs ()
   ((menus :initarg :menus
 	  :element "menu"
 	  :reader menu-defs-menus))
   (:metaclass xml-class)
-  (:dtd *menu-dtd*)
+  (:dtd-name *menu-dtd*)
   (:element "menus"))
 
 (defclass menu ()
@@ -18,7 +18,7 @@
 	  :element "item"
 	  :reader menu-items))
   (:metaclass xml-class)
-  (:dtd *menu-dtd*)
+  (:dtd-name *menu-dtd*)
   (:element "menu"))
 
 (defclass item ()
@@ -39,7 +39,7 @@
 		:reader item-hover-image))
   (:default-initargs :inactive-image nil :active-image nil :hover-image nil)
   (:metaclass xml-class)
-  (:dtd *menu-dtd*)
+  (:dtd-name *menu-dtd*)
   (:element "item"))
 
 (defparameter *menu-def-classes* (mapcar #'find-class '(menu-defs menu item)))
Modified: branches/xml-class-rework/bknr/src/xml-impex/tutorial.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/xml-impex/tutorial.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/xml-impex/tutorial.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -31,9 +31,9 @@
 ;;;# Obtaining and loading BKNR XML import/export
 ;;;
 ;;; You can obtain the current CVS sources of BKNR by following the
-;;; instructions at `http://bknr.net/blog/bknr-devel'. Add the `src'
-;;; directory of BKNR to your `asdf:*central-registry*', and load the
-;;; indices module by evaluating the following form:
+;;; instructions at `http://bknr.net/'. Add the `src' directory of
+;;; BKNR to your `asdf:*central-registry*', and load the indices
+;;; module by evaluating the following form:
 
 (asdf:oos 'asdf:load-op :bknr-impex)
 
@@ -90,8 +90,7 @@
 ;;; class, and by specifying the XML element corresponding to the
 ;;; class. We also annotate the slot definitions.
 
-(defvar *tutorial-dtd*
-  (cxml:parse-dtd-file "xml-impex/tutorial.dtd"))
+(defvar *tutorial-dtd* "xml-impex/tutorial.dtd")
 
 (defclass book ()
   ((author :initarg :author :reader book-author
@@ -103,7 +102,7 @@
    (title :initarg :title :reader book-title
 	  :element "title"))
   (:metaclass xml-class)
-  (:dtd *tutorial-dtd*)
+  (:dtd-name *tutorial-dtd*)
   (:element "book"))
 
 ;;; We can now read the XML file containing the book definitions. As
@@ -161,7 +160,7 @@
    (title :initarg :title :reader book-title
 	  :element "title"))
   (:metaclass xml-class)
-  (:dtd *tutorial-dtd*)
+  (:dtd-name *tutorial-dtd*)
   (:element "book"))
 
 ;;; We can now import our XML file and the indices will automatically
@@ -243,8 +242,7 @@
 
 ;;; We can then write the following class definitions:
 
-(defvar *test-dtd*
-  (cxml:parse-dtd-file #p"xml-impex/tutorial2.dtd"))
+(defvar *test-dtd* "xml-impex/tutorial2.dtd")
 
 (defclass test-object ()
   ((id :initarg :id :attribute "id"
@@ -252,7 +250,7 @@
        :index-type unique-index :index-reader object-with-id
        :index-values all-objects))
   (:metaclass xml-class)
-  (:dtd *test-dtd*)
+  (:dtd-name *test-dtd*)
   (:element nil))
 
 (defmethod print-object ((object test-object) stream)
@@ -264,7 +262,7 @@
        :index-reader test-with-id
        :index-values all-tests))
   (:metaclass xml-class)
-  (:dtd *test-dtd*)
+  (:dtd-name *test-dtd*)
   (:element "test"))
 
 (defclass test2 (test-object)
@@ -272,7 +270,7 @@
        :index-reader test2-with-id
        :index-values all-test2s))
   (:metaclass xml-class)
-  (:dtd *test-dtd*)
+  (:dtd-name *test-dtd*)
   (:element "test2"))
 
 (defclass test3 (test-object)
@@ -280,7 +278,7 @@
        :index-reader test3-with-id
        :index-values all-test3s))
   (:metaclass xml-class)
-  (:dtd *test-dtd*)
+  (:dtd-name *test-dtd*)
   (:element "test3"))
 
 ;;; When we parse a sample file, we get the following results:
@@ -331,8 +329,7 @@
 
 ;;; we can write the following class definition:
 
-(defvar *adult-dtd*
-  (cxml:parse-dtd-file "xml-impex/tutorial3.dtd"))
+(defvar *adult-dtd* "xml-impex/tutorial3.dtd")
 
 (defclass adult ()
   ((name :initarg :name :attribute "name"
@@ -340,7 +337,7 @@
    (children :initarg :children :element "child"
 	     :reader adult-children))
   (:metaclass xml-class)
-  (:dtd *adult-dtd*)
+  (:dtd-name *adult-dtd*)
   (:element "adult"))
 
 (defmethod print-object ((adult adult) stream)
@@ -351,7 +348,7 @@
   ((name :initarg :name :attribute "name"
 	 :reader child-name))
   (:metaclass xml-class)
-  (:dtd *adult-dtd*)
+  (:dtd-name *adult-dtd*)
   (:element "child"))
 
 (defmethod print-object ((child child) stream)
@@ -403,7 +400,7 @@
    (parent :initarg :parent :parent t
 	   :reader child-parent))
   (:metaclass xml-class)
-  (:dtd *adult-dtd*)
+  (:dtd-name *adult-dtd*)
   (:element "child"))
 
 (setf *adults* 
@@ -429,8 +426,7 @@
                       book-id CDATA #REQUIRED
                       reviewer CDATA #REQUIRED>
 
-(defvar *resume-dtd*
-  (cxml:parse-dtd-file "xml-impex/tutorial4.dtd"))
+(defvar *resume-dtd* "xml-impex/tutorial4.dtd")
 
 (defclass book-resume ()
   ((id :initarg :id :attribute "id"
@@ -444,7 +440,7 @@
    (review :initarg :review :body t
 	   :reader book-resume-review))
   (:metaclass xml-class)
-  (:dtd *resume-dtd*)
+  (:dtd-name *resume-dtd*)
   (:element "book-resume"))
 
 ;;; Parsing the following file gives the results:
@@ -498,8 +494,7 @@
 
 ;;; We can write the following class definitions:
 
-(defparameter *book2-dtd*
-  (cxml:parse-dtd-file "xml-impex/tutorial5.dtd"))
+(defparameter *book2-dtd* "xml-impex/tutorial5.dtd")
 
 (defclass author ()
   ((id :initarg :id :reader author-id
@@ -509,7 +504,7 @@
    (name :initarg :name :reader author-name
 	 :element "name"))
   (:metaclass xml-class)
-  (:dtd *book2-dtd*)
+  (:dtd-name *book2-dtd*)
   (:element "author"))
 
 (defmethod print-object ((author author) stream)
@@ -528,7 +523,7 @@
    (title :initarg :title :reader book-title
 	  :element "title"))
   (:metaclass xml-class)
-  (:dtd *book2-dtd*)
+  (:dtd-name *book2-dtd*)
   (:element "book"))
        
 ;;; We can then read the following XML file:
Modified: branches/xml-class-rework/bknr/src/xml-impex/xml-class.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/xml-impex/xml-class.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/xml-impex/xml-class.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -1,8 +1,7 @@
 (in-package :bknr.impex)
 
 (defclass xml-class (indexed-class)
-  ((dtd :initarg :dtd :initform nil :accessor xml-class-dtd)
-   (element :initarg :element :initform nil :accessor xml-class-element)
+  ((element :initarg :element :initform nil :accessor xml-class-element)
    (unique-id-slot   :initarg :unique-id-slot :initform nil
 		     :documentation "if set to a slot name, this
 signals that the slot can be used as a unique id to refer to an
@@ -67,65 +66,15 @@
 
 (defmethod print-object ((slot xml-effective-slot-definition) stream)
   (print-unreadable-object (slot stream :type t :identity t)
-    (format stream "~A (~A ~S)" (slot-definition-name slot)
-	    (with-slots (attribute element body parent) slot
+    (with-slots (attribute element body parent) slot
+      (format stream "~A (~A~@[~S~])" (slot-definition-name slot)
 	      (cond (attribute "ATTRIBUTE")
 		    (element "ELEMENT")
 		    (body "BODY")
 		    (parent "PARENT")
-		    (t "UNKNOWN")))
-	    (with-slots (attribute element body) slot
-	      (cond ((and attribute (typep attribute 'cxml::attdef))
-		     (cxml::rod-string (cxml::attdef-name attribute)))
-		    (attribute attribute)
-		    ((and element (typep element 'cxml::elmdef))
-		     (cxml::rod-string (cxml::elmdef-name element)))
-		    (element element)
-		    (t ""))))))
+		    (t "UNKNOWN"))
+	      (or attribute element)))))
 
-(defun get-dtd-elmdef (dtd elmdef)
-  (typecase elmdef
-    (string (unless dtd
-	      (error "Can not find elmdef ~a in dtd ~A." elmdef dtd))
-	    (cxml::find-element (cxml::string-rod elmdef) dtd))
-    (cxml::elmdef elmdef)
-    (t (let ((elmdef (eval elmdef)))
-	 (unless (typep elmdef 'cxml::elmdef)
-	   (error "Elmdef ~A is not a CXML elmdef." elmdef))
-	 elmdef))))
-
-(defun get-dtd (dtd)
-  (cond ((or (stringp dtd)
-	     (pathnamep dtd))
-	 (cxml:parse-dtd-file dtd))
-	((typep dtd 'cxml::dtd) dtd)
-	(t (let ((dtd (eval dtd)))
-	     (unless (typep dtd 'cxml::dtd)
-	       (error "DTD ~A is not a CXML dtd." dtd))
-	     dtd))))
-  
-(defun get-elmdef-attribute (elmdef attribute)
-  (typecase attribute
-    (string (unless elmdef
-	      (error "Can not find attribute ~a in elmdef ~a." attribute elmdef))
-	    (cxml::find-attribute elmdef (cxml::string-rod attribute)))
-    (cxml::attdef attribute)
-    (t (let ((attribute (eval attribute)))
-	 (unless (typep attribute 'cxml::attdef)
-	   (error "Attribute ~A is not a CXML attdef." attribute))
-	 attribute))))
-
-(defmethod initialize-elmdef ((class xml-class) dtd elm)
-  (let* ((dtd (get-dtd dtd))
-	 elmdef)
-    (when elm
-      (setf elmdef (get-dtd-elmdef dtd elm))
-      (unless elmdef
-	(error "Could not find an element definition for class ~A, elmdef ~A."
-	       (class-name class) elm)))
-    (setf (xml-class-dtd class) dtd
-	  (xml-class-element class) elmdef)))
-
 (defmethod xml-class-attribute-slots ((class xml-class))
   (remove-if #'(lambda (slot)
 		 (or (not (typep slot 'xml-effective-slot-definition))
@@ -148,12 +97,12 @@
 (defmethod xml-class-find-attribute-slot ((class xml-class) attribute)
   (find attribute (xml-class-attribute-slots class)
 	:test #'string-equal
-	:key #'(lambda (slot) (cxml::rod-string (cxml::attdef-name (slot-value slot 'attribute))))))
+	:key #'(lambda (slot) (slot-value slot 'attribute))))
 
 (defmethod xml-class-find-element-slot ((class xml-class) element)
   (find element (xml-class-element-slots class)
 	:test #'string-equal
-	:key #'(lambda (slot) (cxml::rod-string (cxml::elmdef-name (slot-value slot 'element))))))
+	:key #'(lambda (slot) (slot-value slot 'element))))
 
 (defmethod xml-class-parent-slot ((class xml-class))
   (let ((parent-slots
@@ -165,84 +114,12 @@
       (error "Class ~A has more than one parent slot: ~A." class parent-slots))
     (first parent-slots)))
 
-(defmethod elmdef-children ((elmdef cxml::elmdef))
-  (let (result)
-    (labels ((elmdef-children-rec (content containment)
-	       (cond ((and (listp content)
-			   (member (first content) '(cxml::and cxml::or)))
-		      (dolist (child (cdr content))
-			(elmdef-children-rec child containment)))
-		     ((and (listp content)
-			   (eql (first content) 'cxml::+))
-		      (dolist (child (cdr content))
-			(elmdef-children-rec child :+)))
-		     ((and (listp content)
-			   (eql (first content) 'cxml::*))
-		      (dolist (child (cdr content))
-			(elmdef-children-rec child :*)))
-		     ((and (listp content)
-			   (eql (first content) 'cxml::?))
-		      (dolist (child (cdr content))
-			(elmdef-children-rec child :optional)))
-		     ((listp content)
-		      (error "Unknown content form ~S (missing element declaration for ~S in DTD?)." content (cxml::elmdef-name elmdef)))
-		     ((eql content :pcdata))
-		     ((eql content :empty))
-		     (t (push (list content containment) result)))))
-      (elmdef-children-rec (cxml::elmdef-content elmdef) :single)
-      (nreverse result))))
-		      
-;;; called multiple times  
-(defmethod compute-slots :around ((class xml-class))
-  #+nil
-  (format t "around dtd ~A~%" (xml-class-dtd class))
-  (when (and (not (typep (xml-class-dtd class) 'cxml::dtd))
-	     (xml-class-dtd class))
-    (initialize-elmdef class (first (xml-class-dtd class))
-		       (first (xml-class-element class))))
-  (call-next-method))
-
-(defmethod xml-class-finalize ((class xml-class))
-  (unless (class-finalized-p class)
-    (finalize-inheritance class))
-
-  (let ((slots (class-slots class))
-	(elmdef (xml-class-element class)))
-    (unless elmdef
-      (return-from xml-class-finalize))
-
-    #+nil
-    (format t "~S slots attributes ~S~%" slots (xml-class-attribute-slots class))
-    ;;; check attributes
-    (dolist (attr (cxml::elmdef-attributes elmdef))
-      (let ((attr-name (cxml::rod-string (cxml::attdef-name attr))))
-	(when (eql (cxml::attdef-default attr) :required)
-	  (let ((slot (xml-class-find-attribute-slot class attr-name)))
-	    (when (not slot)
-	      (warn "Could not find slot for required attribute ~A." attr-name))))))
-    ;;; check elements
-    (dolist (child (elmdef-children elmdef))
-      (let* ((child-name (cxml::rod-string (first child)))
-	     (child-containment (second child))
-	     (slot (xml-class-find-element-slot class child-name)))
-	(if slot
-	    (with-slots (containment required-p) slot
-	      (if containment
-		  (when (not (eql containment child-containment))
-		    (error "Slot containment ~A is not the same as the child containment ~A."
-			   containment child-containment))
-		  (setf containment child-containment))
-	      (when (member child-containment '(:single :+))
-		(setf required-p t)))
-	    (when (member child-containment '(:single :+))
-	      (warn "Could not find a slot for the child element ~A with containment ~A."
-		     child-name child-containment)))))
-    slots))
-
-(defmethod initialize-instance :after ((class xml-class) &key &allow-other-keys)
+(defmethod initialize-instance :after ((class xml-class) &key element &allow-other-keys)
+  (setf (xml-class-element class) (or (first element) (string-downcase (class-name class))))
   (xml-class-finalize class))
 
-(defmethod reinitialize-instance :after ((class xml-class) &key &allow-other-keys)
+(defmethod reinitialize-instance :after ((class xml-class) &key element &allow-other-keys)
+  (setf (xml-class-element class) (or (first element) (string-downcase (class-name class))))
   (xml-class-finalize class))
 
 (defmethod direct-slot-definition-class ((class xml-class) &key parent attribute element body &allow-other-keys)
@@ -264,22 +141,20 @@
 
     (let ((normal-slot (call-next-method)))
       (when (and xml-direct
-		 (typep normal-slot 'xml-effective-slot-definition)
-		 (xml-class-element class))
+		 (typep normal-slot 'xml-effective-slot-definition))
 	(with-slots (attribute element body parent) xml-direct
-	  (let ((dtd (xml-class-dtd class)))
-	    (unless (or element attribute body parent)
-	      (error "Could not find element or attribute for slot ~A." name))
-	    (when (> (length (remove nil (list parent element attribute body))) 1)
-	      (error "Only one of ELEMENT, ATTRIBUTE, PARENT or BODY is possible for a slot definition."))
+	  (when (> (length (remove nil (list parent element attribute body))) 1)
+	    (error "Only one of ELEMENT, ATTRIBUTE, PARENT or BODY is possible for a slot definition."))
+	  (unless (or body parent)
+	    (unless (or element attribute)
+	      (setf element (string-downcase name)))
 	    (when element
-	      (setf element (get-dtd-elmdef dtd element)))
+	      (setf element (if (eq t element) (string-downcase name) element)))
 	    (when attribute
-	      (setf attribute (get-elmdef-attribute (xml-class-element class)
-						    attribute)))
-	    (unless (or element attribute body parent)
+	      (setf attribute (if (eq t attribute) (string-downcase name) attribute)))
+	    (unless (or element attribute)
 	      (error "Could not find element or attribute for slot ~A." name))))
-	
+
 	(dolist (slot '(parser serializer body id-to-object object-to-id
 			parent attribute element))
 	  (setf (slot-value normal-slot slot)
@@ -290,22 +165,9 @@
 	  (when value
 	    (setf (slot-value normal-slot slot)
 		  (eval value)))))
-      
-      ;;; XXX check emptyness of element
-      (with-slots (attribute element containment required-p) normal-slot
-	(when attribute
-	  (when (eql (cxml::attdef-default attribute) :required)
-	    (setf required-p t))))
-      
+	
       normal-slot)))
 
-(defmethod xml-class-reload-dtd ((class xml-class) dtd &optional element)
-  (let ((element (if element
-		     element
-		     (cxml::rod-string (cxml::elmdef-name (xml-class-element class))))))
-    (initialize-elmdef class dtd element)
-    class))
-
 (defmethod xml-object-check-validity (object)
   (let ((class (class-of object)))
     (unless (typep class 'xml-class)
Modified: branches/xml-class-rework/bknr/src/xml-impex/xml-export.lisp
===================================================================
--- branches/xml-class-rework/bknr/src/xml-impex/xml-export.lisp	2006-02-17 20:46:26 UTC (rev 1837)
+++ branches/xml-class-rework/bknr/src/xml-impex/xml-export.lisp	2006-02-17 20:52:07 UTC (rev 1838)
@@ -33,15 +33,15 @@
 	   (let* ((attr-slots (xml-class-attribute-slots class))
 		  (elt-slots (xml-class-element-slots class))
 		  (body-slot (xml-class-body-slot class))
-		  (qname (cxml::elmdef-name (xml-class-element class)))
+		  (qname (cxml::string-rod (xml-class-element class)))
 		  ;; attributes
 		  (attributes (loop for slot in attr-slots
 				 for name = (slot-definition-name slot)
-				 for attdef = (xml-effective-slot-definition-attribute slot)
+				 for attdef = (cxml::string-rod (xml-effective-slot-definition-attribute slot))
 				 when (and (slot-boundp object name)
 					   (slot-value object name))
 				 collect (sax:make-attribute
-					  :qname (cxml::attdef-name attdef)
+					  :qname attdef
 					  :value
 					  (funcall string-rod-fn
 						   (slot-serialize-value slot (slot-value object name)))))))
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Author: hhubner
Date: 2006-02-17 14:46:26 -0600 (Fri, 17 Feb 2006)
New Revision: 1837
Added:
   branches/xml-class-rework/
Log:
I finally need to learn how to work on a branch, too.  Sorry about this, 
I'll fix the trunk to a semi-stable state afterwards.
Copied: branches/xml-class-rework (from rev 1836, trunk)
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    17 Feb '06
                    
                        Author: hhubner
Date: 2006-02-17 13:53:13 -0600 (Fri, 17 Feb 2006)
New Revision: 1836
Modified:
   trunk/projects/lisp-ecoop/website/templates/cfp.xml
   trunk/projects/lisp-ecoop/website/templates/edit-profile.xml
   trunk/projects/lisp-ecoop/website/templates/edit-submission.xml
   trunk/projects/lisp-ecoop/website/templates/home.xml
   trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
   trunk/projects/lisp-ecoop/website/templates/people.xml
   trunk/projects/lisp-ecoop/website/templates/profile.xml
   trunk/projects/lisp-ecoop/website/templates/schedule.xml
   trunk/projects/lisp-ecoop/website/templates/submission.xml
   trunk/projects/lisp-ecoop/website/templates/submissions.xml
   trunk/projects/lisp-ecoop/website/templates/toplevel.xml
   trunk/projects/lisp-ecoop/website/templates/user-error.xml
Log:
Changes by Pascal Costanza, still not playing nice with the templating system.
Modified: trunk/projects/lisp-ecoop/website/templates/cfp.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/cfp.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/cfp.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -4,19 +4,19 @@
 
 <h1>Call for Participation</h1>
 
-<h2>2nd European Lisp and Scheme Workshop</h2>
+<h2>3rd European Lisp Workshop</h2>
 
-<p>July 26 - Glasgow, Scotland - co-located with ECOOP 2005<br/>
-Supported by ALU</p>
+<p>July 3-4 - Nantes, Frances - co-located with ECOOP 2006<!--<br/>
+Supported by ALU--></p>
 
-<p>For more information visit <a href="http://lisp-ecoop05.bknr.net">http://lisp-ecoop05.bknr.net</a>
+<p>For more information visit <a href="http://lisp-ecoop06.bknr.net">http://lisp-ecoop06.bknr.net</a>
  or contact <a href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>.</p>
 
-<h2>Important Dates (updated on May 15, 2005)</h2>
+<h2>Important Dates</h2>
 <ul>
-<li>Submission deadline: June 5, 2005</li>
-<li>Notification of acceptance: June 10, 2005</li>
-<li>ECOOP early registration deadline: June 13, 2005</li>
+<li>Submission deadline: April 1, 2006</li>
+<li>Notification of acceptance: May 1, 2006</li>
+<li>ECOOP early registration deadline: - not announced yet -</li>
 </ul>
 
 <h1>Overview</h1>
@@ -31,138 +31,103 @@
 list.  -- Kent Pitman
 </blockquote>
 
-<p>Lisp is one of the oldest computer languages still in use today.
-In the decades of its existence, Lisp has been a fruitful basis for
+<p>Lisp is one of the oldest computer languages still in use today. In
+the decades of its existence, Lisp has been a fruitful basis for
 language design experiments as well as the preferred implementation
 language for applications in diverse fields.</p>
 
-<p>The structure of Lisp, including Common Lisp and Scheme as its
-major dialects of today, makes it easy to extend the language or even
-to implement entirely new dialects without starting from
-scratch. Common Lisp, with the Common Lisp Object System (CLOS), was
-the first object-oriented programming language to receive an ANSI
-standard at the beginning of the 1990's. It is, arguably, the most
-complete and advanced object system of any programming language, and
-has influenced many other object-oriented programming languages that
-were to follow.</p>
+<p>The structure of Lisp makes it easy to extend the language or even to
+implement entirely new dialects without starting from scratch. Common
+Lisp, with the Common Lisp Object System (CLOS), was the first
+object-oriented programming language to receive an ANSI standard and
+retains the most complete and advanced object system of any
+programming language, while influencing many other object-oriented
+programming languages that followed.</p>
 
-<p>Despite having somewhat disappeared from the radar of popular
-computer science, Common Lisp and Scheme are still alive and have just
-started to gain momentum again. There is a steadily growing interest
-in Lisp as such, with numerous user groups having formed recently
-worldwide, and Lisp's metaprogramming notions that are being
-transferred to other languages to different extents, as for example in
-AOP, MDA, DSL, and so on.</p>
+<p>It is clear that Lisp is gaining momentum: there is a
+steadily growing interest in Lisp itself, with numerous user groups
+in existence worldwide, and in Lisp's metaprogramming notions
+which are being transferred to other languages, as
+for example in Aspect-Oriented Programming, support for
+Domain-Specific Languages, and so on.</p>
 
-<p>This two-day workshop will address the near-future role of
-Lisp-based languages in research, industry and education. We want to
-solicit papers and suggestions for breakout groups that discuss the
+<p>This two-day workshop will address the near-future role of Lisp-based
+languages in research, industry and education. We solicit
+papers and suggestions for breakout groups that discuss the
 opportunities Lisp provides to capture and enhance the possibilities
-in software engineering. We also want to promote lively discussion
+in software engineering. We want to promote lively discussion
 between researchers proposing new approaches and practitioners
 reporting on their experience with the strengths and limitations of
 current Lisp technologies.</p>
 
-<p>The workshop will be split into two parts: The first part is for
-talks with a more classroom-like atmosphere, the second will consist
-of a number of sessions for breakout groups discussing or working on
-particular topics.</p>
+<p>The workshop will have two components on separate days; there will
+be a day for formally-presented talks, and a day for breakout groups
+discussing or working on particular topics.  Additionally, there
+will be opportunities for short, informal talks and demonstrations on
+experience reports, underappreciated results, software under
+development, or other topics of interest.</p>
 
 <h2>Papers</h2>
 
-<p>Presentations on the workshop can take anything between 5 minutes
-and an hour.  Additional time will be given for questions and answers.
-Papers may be published on the website in order to provide background
-information in advance.</p>
+<p>Formal presentations in the workshop should take between 20 minutes
+and half an hour; additional time will be given for questions and
+answers. We encourage that papers be published on the website in order
+to provide background information in advance.</p>
 
 <h3>Suggested topics for presented papers</h3>
 <ul>
-<li>Macro programming</li>
-<li>Metaprogramming</li>
-<li>Reflection</li>
-<li>New language features / abstractions</li>
+<li>New language features or abstractions</li>
+<li>Experience reports or case studies</li>
+<li>Protocol Metaprogramming and Libraries</li>
+<li>Educational approaches</li>
+<li>Software Evolution</li>
+<li>Development Aids</li>
 <li>Persistence Systems</li>
-<li>Hardware support for Lisp systems</li>
-<li>Case studies</li>
-<li>Experience reports</li>
-<li>Industrial applications</li>
-<li>Object-Oriented Programming</li>
-<li>Declarative Programming</li>
-<li>Aspect-Oriented Programming</li>
-<li>Domain-Oriented Programming</li>
-<li>Generative Programming</li>
-<li>Ambient Intelligence</li>
-<li>Unanticipated Software Evolution</li>
-<li>Design Patterns</li>
-<li>Educational Perspectives</li>
+<li>Dynamic Optimization</li>
+<li>Implementation techniques</li>
+<li>Innovative Applications</li>
+<li>Hardware Support for Lisp systems</li>
+<li>Macro-, reflective-, meta- and/or rule-based development approaches</li>
+<li>Aspect-Oriented, Domain-Oriented and Generative Programming</li>
 </ul>
 
 <h2>Breakout Groups</h2>
 
-<p>The workshop will provide for the opportunity to meet face to face
-and work on focused topics.  We will organize these breakout groups
-and provide for rooms and infrastructure.</p>
+<p>The workshop will provide for the opportunity to meet face to face and
+work on focused topics. We will organize these breakout groups and
+provide for rooms and infrastructure.</p>
 
 <h3>Suggested topics for breakout groups</h3>
 <ul>
-<li>Discuss the feature set of the next version of Slime</li>
-<li>Work on details of the CLRFI process</li>
-<li>Exchange experiences with various macro systems for Scheme</li>
-<li>Detail a wishlist for R6RS</li>
+<li>Lisp Infrastructure Development and Distribution</li>
+<li>Language Features (e.g. Predicate Dispatching)</li>
 <li>Environments for creating web applications</li>
-<li>Persistence systems</li>
+<li>Brainstorming sessions for new or existing open source projects</li>
+<li>Persistence Systems</li>
 <li>Compiler technology</li>
 <li>Lisp on bare metal / Lisp hardware / Lisp operating systems</li>
 <li>Compare and enhance curricula for computer science education</li>
 </ul>
 
-<p>In order to have effective discussions at those breakout groups, we
-are negotiating meeting rooms for an extra day in addition to the
-actual workshop with the ECOOP organizers.</p>
-
 <h2>Submission Guidelines</h2>
 
-<p>Potential attendants are expected to submit<br/>
+<p>Potential attendees are encouraged to submit<br/>
 <ul>
-<li>either a long paper (10 pages) presenting scientific and/or
-empirical results about Lisp- and Scheme-based uses or new approaches
-for software engineering purposes</li>
-<li>or a short essay (5 pages) defending a position about where
-research and practice based on Lisp and Scheme should be heading in
-the near future</li>
-<li>a proposal for a breakout group (1-2 pages) describing the theme,
-an agenda and/or expected results</li>
+<li>a long paper (10 pages) presenting scientific and/or
+  empirical results about Lisp-based uses or new approaches for
+  software engineering purposes;</li>
+<li>a short essay (5 pages) defending a position about where
+  research, practice or education based on Lisp should be heading in
+  the near future;</li>
+<li>a proposal for a breakout group (1-2 pages) describing the theme, an
+  agenda and/or expected results.</li>
 </ul>
 </p>
 
-<p>Submissions should be mailed as PDF or text to Pascal Costanza (<a
+<p>Submissions should be mailed as PDF to Pascal Costanza (<a
 href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>) before the submission
-deadline. Please indicate whether you need an earlier notification of
-acceptance than the official date.</p>
+deadline.</p>
 
-<h2>Registration</h2>
-
-<p>
-This workshop is co-located with <a
-href="http://2005.ecoop.org/">ECOOP 2005</a>, and this time it is one
-of the official workshops at that conference. Therefore, registration,
-fee and accomodation are all handled through the conference
-organization. See the conference website and especially <a
-href="http://2005.ecoop.org/fees.html">ecoop - Fees</a> and <a
-href="http://2005.ecoop.org/travel.html">ecoop - Travel</a> for
-further information.
-</p>
-
-<p>
-Advance registration to the workshop is handled through the primary
-contact person of the Workshop, Pascal Costanza (<a
-href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>).  Please contact him by
-regular email with your submission or input to the workshop in order
-to receive your login to the workshop website.  Include your preferred
-login name for the workshop website with your application.  Further
-information for participants will be provided on the workshop website.
-</p>
-
 <h2>Organizing Committee</h2>
 
 <p>The organizing comitee consists of the following people:</p>
@@ -176,9 +141,7 @@
 Vrije Universiteit Brussel, Belgium</li>
 <li>Arthur Lemmens, Independent Consultant, Amsterdam, The
 Netherlands</li>
-<li>Manuel Serrano, <a
-href="http://www-sop.inria.fr/mimosa/Manuel.Serrano/">http://www-sop.inria.fr/mimosa/Manuel.Serrano/</a>,
-INRIA Sophia-Antipolis, France</li>
+<li>Christophe Rhodes, <a href="http://www.goldsmiths.ac.uk/departments/computing/staff/CR.html">http://www.goldsmiths.ac.uk/departments/computing/staff/CR.html</a>, Goldsmiths Colloge, University of London, United Kingdom</li>
 </ul>
 
 </page>
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop/website/templates/edit-profile.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/edit-profile.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/edit-profile.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -6,13 +6,13 @@
   title="Edit Profile"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   >
 
 <h1>Participant Profile Editor</h1>
 <p>
-Using this form, you can edit your participant profile for the 2nd
-European LISP and Scheme Workshop.  The profile serves as a means of
+Using this form, you can edit your participant profile for the 3rd
+European Lisp Workshop.  The profile serves as a means of
 communicating the participants interests as well as any submitted
 papers before the actual workshop takes place.  It will also be used
 by the workshop coordinators to schedule presentations.
@@ -23,7 +23,7 @@
 All participant profile data, excluding personal email addresses, can
 be viewed by all visitors of the workshops' web site.
 </p>
-<lisp-ecoop05:profile-editor>
+<lisp-ecoop:profile-editor>
   <form method="post" name="edit_profile" enctype="multipart/form-data" onsubmit="return check_password(this);">
     <table>
       <tr><th colspan="2">Personal information</th></tr>
@@ -57,7 +57,7 @@
       </tr>
       <tr>
         <td>Picture</td>
-	<td><lisp-ecoop05:participant-picture-uploader /></td>
+	<td><lisp-ecoop:participant-picture-uploader /></td>
       </tr>
       <tr>
         <td>Text</td>
@@ -65,7 +65,7 @@
       </tr>
       <tr><th colspan="2">Submissions</th></tr>
       <tr>
-	<td colspan="2"><lisp-ecoop05:submission-list participant-only="1" /></td>
+	<td colspan="2"><lisp-ecoop:submission-list participant-only="1" /></td>
       </tr>
       <tr><th colspan="2">New Submission</th></tr>
       <tr>
@@ -98,7 +98,7 @@
       </tr>
     </table>
   </form>
-</lisp-ecoop05:profile-editor>
+</lisp-ecoop:profile-editor>
 <p>
 Please contact <a href="mailto:hans@bknr.net">Hans Hübner</a> for
 inquiries relating to the workshop web site.  We are interested in
Modified: trunk/projects/lisp-ecoop/website/templates/edit-submission.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/edit-submission.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/edit-submission.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -6,15 +6,15 @@
   title="Edit Submission"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   >
 
 <h1>Submission Editor</h1>
 <p>
-Using this form, you can edit your submission to the  2nd
-European LISP and Scheme Workshop.
+Using this form, you can edit your submission to the 3rd
+European Lisp Workshop.
 </p>
-<lisp-ecoop05:submission-editor>
+<lisp-ecoop:submission-editor>
   <form method="post" name="edit_submission" enctype="multipart/form-data">
     <table>
       <tr><th colspan="2">Submission</th></tr>
@@ -24,7 +24,7 @@
       </tr>
       <tr>
         <td>Submitters</td>
-	<td><lisp-ecoop05:submission-submitters-chooser /></td>
+	<td><lisp-ecoop:submission-submitters-chooser /></td>
       </tr>
       <tr>
         <td width="20%">Abstract</td>
@@ -32,7 +32,7 @@
       </tr>
       <tr>
         <td>Document (PDF)</td>
-	<td><lisp-ecoop05:submission-uploader /></td>
+	<td><lisp-ecoop:submission-uploader /></td>
       </tr>
       <tr><th colspan="2">Action</th></tr>
       <tr>
@@ -43,5 +43,5 @@
       </tr>
     </table>
   </form>
-</lisp-ecoop05:submission-editor>
+</lisp-ecoop:submission-editor>
 </bknr:toplevel>
Modified: trunk/projects/lisp-ecoop/website/templates/home.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/home.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/home.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -2,43 +2,33 @@
 <?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
 <page name="home">
 
-<p>Welcome to the Website of the 2nd European LISP and Scheme
+<p>Welcome to the Website of the 3rd European Lisp
 Workshop.  Please see the <a href="cfp">Call for Participation</a> for a
 description of the goals of the workshop.</p>
 
 <h1>News</h1>
 
-<h3>May 19, 2005</h3>
+<h3>February 20, 2006</h3>
 
 <ul>
-<li><a href="/profile/rpg">Richard P. Gabriel</a> has
-  agreed to give a keynote talk at the workshop:
-<blockquote>
-<h4>On the Interaction of Life and Machines in Self-Sustaining Systems</h4>
-<p>
-Software systems today are produced according to a manufacturing
-model: A finished product is constructed at the factory and shipped to
-its final destination where it is expected to act like any other
-machine-reliably but oblivious to its surroundings and its own
-welfare. Software needs to grow up and become responsible for itself
-and its own future. A promising approach seems to be to separate
-software that does the work from software that keeps the system alive.
-</p>
-</blockquote>
-</li>
+<li>Launched the workshop website.</li>
+</ul>
 
-<li>The submission deadline has been extended to June 5,
-  2005.</li>
+<h1>Information for Attendees</h1>
 
-<li>The early registration deadline for ECOOP 2005 is June 13,
-  2005. The fee structure for ECOOP 2005 will be announced at the
-  conference website soon. See <a
-  href="http://2005.ecoop.org/dates.html" target="_new">ecoop -
-  Important Dates</a> and <a href="http://2005.ecoop.org/fees.html"
-  target="_new">ecoop - Fees</a> for more information.</li>
+<p>Registration of workshop participants has to be done in three <b>mandatory</b> steps:</p>
+<ol>
+<li><b>Contact the organizers of the workshop</b> (in order to ensure that the participant limit has not been exceeded).</li>
+<li>Advance registration to the workshop is handled through the primary
+contact person of the workshop, Pascal Costanza (<a
+href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>). Please contact him by
+regular email with your submission or input to the workshop in order
+to receive your login to the workshop website. Include your preferred
+login name for the workshop website with your application.</li>
+<li>Register on the <a href="http://2006.ecoop.rg">ECOOP 2006 web site</a> either as a <i>worskhop-only attendee</i> or as a <i>regular attendee</i>. The latter includes access to workshops and to the main conference.</li>
+</ol>
 
-</ul>
-
+<!--
 <div align="center">
   <p>
     <a href="http://www.alu.org" target="_new">
@@ -47,5 +37,6 @@
   </p>
   <p>Supported by ALU</p>
 </div>
+-->
 
 </page>
Modified: trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-17 19:53:13 UTC (rev 1836)
@@ -13,14 +13,14 @@
   <html
    xmlns="http://www.w3.org/1999/xhtml">
    <head>
-    <title>LISP-ECOOP06 - <xsl:value-of select="@name"/></title>
+    <title>LISP-ECOOP06 - $(title)</title>
     <link rel="stylesheet" type="text/css" href="../static/styles.css" />
     <script src="../static/javascript.js" language="javascript" type="text/javascript"> </script>
    </head>
    <body>
     <div id="banner">
-     <div id="title">2nd European LISP and Scheme Workshop</div>
-     <div id="subtitle">Co-located with <a href="http://2005.ecoop.org/" target="_new">ECOOP 2005</a><br />July 26 - Glasgow - Scotland</div>
+     <div id="title">3rd European Lisp Workshop</div>
+     <div id="subtitle">Co-located with <a href="http://2006.ecoop.org/" target="_new">ECOOP 2006</a><br />July 3-4 - Nantes - Frances</div>
      <div id="logo">
       <a href="http://bknr.net/" target="_new">
        <img width="57" height="20" alt="BKNR Logo" src="/image/bknr-logo/thumbnail,,57,20" border="0" />
Modified: trunk/projects/lisp-ecoop/website/templates/people.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/people.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/people.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -5,8 +5,8 @@
 <h1>People</h1>
 
 <p>The following people have registered to the workshop.  Please click
-on the persons' name to get further information</p>
+on a person's name to get further information</p>
 
- <lisp-ecoop05:participant-list />
+ <lisp-ecoop:participant-list />
 
 </page>
Modified: trunk/projects/lisp-ecoop/website/templates/profile.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/profile.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/profile.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -6,10 +6,10 @@
   title="Edit Profile"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   >
 
-<lisp-ecoop05:profile>
+<lisp-ecoop:profile>
   <h1>Participant Profile</h1>
   <table>
     <tr><th colspan="2">Personal information</th></tr>
@@ -31,14 +31,14 @@
     </tr>
     <tr>
       <td>Picture</td>
-      <td><lisp-ecoop05:participant-picture-image width="100" height="100"/></td>
+      <td><lisp-ecoop:participant-picture-image width="100" height="100"/></td>
     </tr>
-    <lisp-ecoop05:participants-only>
+    <lisp-ecoop:participants-only>
       <tr>
 	  <td>Email</td>
 	  <td><a href="mailto:$(email)">$(email)</a></td>
       </tr>
-    </lisp-ecoop05:participants-only>
+    </lisp-ecoop:participants-only>
     <tr>
       <td width="20%">Text</td>
 	<td><pre>$(text)</pre></td>
@@ -46,8 +46,8 @@
     <tr><th colspan="2">Submission</th></tr>
     <tr>
       <td>Submissions</td>
-	<td><lisp-ecoop05:participant-submission-links /></td>
+	<td><lisp-ecoop:participant-submission-links /></td>
     </tr>
   </table>
-</lisp-ecoop05:profile>
+</lisp-ecoop:profile>
 </bknr:toplevel>
Modified: trunk/projects/lisp-ecoop/website/templates/schedule.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/schedule.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/schedule.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -2,38 +2,38 @@
 <?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
 <page name="schedule">
 
-  <lisp-ecoop05:admin-only>
-    <lisp-ecoop05:schedule-submission />
-  </lisp-ecoop05:admin-only>
+  <lisp-ecoop:admin-only>
+    <lisp-ecoop:schedule-submission />
+  </lisp-ecoop:admin-only>
 
   <h1>Schedule</h1>
 
   <p>The (preliminary) schedule for the workshop is as follows.</p>
 
-  <h2>Monday, 25. July 2005</h2>
+  <h2>Monday, July 3, 2006</h2>
   <table>
     <tr><th>Time</th><th>Event</th></tr>
-    <lisp-ecoop05:show-day-schedule day="25-07-2005">
-      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
-    </lisp-ecoop05:show-day-schedule>
+    <lisp-ecoop:show-day-schedule day="03-07-2006">
+      <tr><td><lisp-ecoop:time/></td><td><lisp-ecoop:content/></td></tr>
+    </lisp-ecoop:show-day-schedule>
   </table>
 
-  <h2>Tuesday, 26. July 2005</h2>
+  <h2>Tuesday, July 4, 2006</h2>
   <table>
     <tr><th>Time</th><th>Event</th></tr>
-    <lisp-ecoop05:show-day-schedule day="26-07-2005">
-      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
-    </lisp-ecoop05:show-day-schedule>
+    <lisp-ecoop:show-day-schedule day="03-07-2006">
+      <tr><td><lisp-ecoop:time/></td><td><lisp-ecoop:content/></td></tr>
+    </lisp-ecoop:show-day-schedule>
   </table>
 
-  <lisp-ecoop05:admin-only>
+  <lisp-ecoop:admin-only>
     <hr />
     <form id="schedule" method="POST">
       <b>Add Item:</b><br />
       <label for="date">Date:</label>
       <select name="date">
-        <option value="25-07-2005">25. July</option>
-        <option value="26-07-2005">26. July</option>
+        <option value="03-07-2006">July 3</option>
+        <option value="04-07-2006">July 4</option>
       </select>
       <br />
       <label for="time">Time (HH:MM):</label>
@@ -44,7 +44,7 @@
       <br />
       <label for="submission">Submission:</label>
       <select name="submission">
-        <lisp-ecoop05:unscheduled-submission-options />
+        <lisp-ecoop:unscheduled-submission-options />
       </select>
       <br/><b>or</b><br/>
       <label for="freetext">Other item: </label>
@@ -52,5 +52,5 @@
       <br />
       <input type="submit" value="add to schedule" />
     </form>
-  </lisp-ecoop05:admin-only>
+  </lisp-ecoop:admin-only>
 </page>
Modified: trunk/projects/lisp-ecoop/website/templates/submission.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/submission.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/submission.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -6,13 +6,13 @@
   title="Edit Submission"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   >
 
-<lisp-ecoop05:load-argument-object>
+<lisp-ecoop:load-argument-object>
   <h1>$(title)</h1>
-  <h2><lisp-ecoop05:submission-submitter-links /></h2>
+  <h2><lisp-ecoop:submission-submitter-links /></h2>
   <blockquote><pre>$(abstract)</pre></blockquote>
   <a href="/pdf/$(object-id)">[Show PDF]</a>
-</lisp-ecoop05:load-argument-object>
+</lisp-ecoop:load-argument-object>
 </bknr:toplevel>
Modified: trunk/projects/lisp-ecoop/website/templates/submissions.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/submissions.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/submissions.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -7,9 +7,9 @@
 <p>The following submissions have been received so far.</p>
 
 <h2>Papers</h2>
-<lisp-ecoop05:submission-list type="paper"/>
+<lisp-ecoop:submission-list type="paper"/>
 
 <h2>Breakout group proposals</h2>
-<lisp-ecoop05:submission-list type="breakout-group-proposal"/>
+<lisp-ecoop:submission-list type="breakout-group-proposal"/>
 
 </page>
Modified: trunk/projects/lisp-ecoop/website/templates/toplevel.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/toplevel.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/toplevel.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -3,20 +3,20 @@
 	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html
   xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   xmlns:bknr="http://bknr.net"
   xmlns:menu="http://bknr.net/menu"
   >
   <head>
-    <title>LISP-ECOOP05 - $(title)</title>
+    <title>LISP-ECOOP06 - $(title)</title>
     <link rel="stylesheet" type="text/css" href="/static/styles.css" />
     <script src="/static/javascript.js" language="javascript" type="text/javascript"> </script>
   </head>
 
   <body>
     <div id="banner">
-      <div id="title">2nd European LISP and Scheme Workshop</div>
-      <div id="subtitle">Co-located with <a href="http://2005.ecoop.org/" target="_new">ECOOP 2005</a><br />July 26 - Glasgow - Scotland</div>
+      <div id="title">3nd European Lisp Workshop</div>
+      <div id="subtitle">Co-located with <a href="http://2006.ecoop.org/" target="_new">ECOOP 2006</a><br />July 3-4 - Nantes - France</div>
       <div id="logo">
         <a href="http://bknr.net/" target="_new">
 	  <img width="57" height="20" alt="BKNR Logo" src="/image/bknr-logo/thumbnail,,57,20" border="0" />
@@ -31,7 +31,7 @@
 	                active-class="site-menu-active"
 		        inactive-class="site-menu-inactive" />
         <div id="login">
-          <lisp-ecoop05:login-widget />
+          <lisp-ecoop:login-widget />
         </div>
       </div>
       <div id="content">
Modified: trunk/projects/lisp-ecoop/website/templates/user-error.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/user-error.xml	2006-02-17 19:41:42 UTC (rev 1835)
+++ trunk/projects/lisp-ecoop/website/templates/user-error.xml	2006-02-17 19:53:13 UTC (rev 1836)
@@ -4,7 +4,7 @@
 <html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
+  xmlns:lisp-ecoop06="http://lisp-ecoop06.bknr.net"
   xmlns:menu="http://bknr.net/menu"
   >
 Your request could not be processed because an error occured:
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Author: hhubner
Date: 2006-02-17 13:41:42 -0600 (Fri, 17 Feb 2006)
New Revision: 1835
Added:
   trunk/projects/lisp-ecoop/src/lisp-ecoop.asd
   trunk/projects/lisp-ecoop/src/macros.lisp
Removed:
   trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd
Modified:
   trunk/projects/lisp-ecoop/src/config.lisp
   trunk/projects/lisp-ecoop/src/handlers.lisp
   trunk/projects/lisp-ecoop/src/packages.lisp
   trunk/projects/lisp-ecoop/src/participant.lisp
   trunk/projects/lisp-ecoop/src/schedule.lisp
   trunk/projects/lisp-ecoop/src/webserver.lisp
Log:
More pending changes from my now-dead hard drive.  Praise VMware!
Modified: trunk/projects/lisp-ecoop/src/config.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/config.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/config.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -3,7 +3,7 @@
 ;; URL für BASE HREFs
 (defparameter *website-url* "http://lisp-ecoop.bknr.net")
 
-(defparameter *root-directory* #p"home:bknr-svn/lisp-ecoop/")
+(defparameter *root-directory* #p"home:bknr-svn/projects/lisp-ecoop/")
 
 (defparameter *store-directory* (merge-pathnames #p"datastore/" *root-directory*))
 
@@ -12,5 +12,6 @@
 (defparameter *webserver-port* 8081)
 
 (defparameter *default-mail-from* "postmaster(a)lisp-ecoop.bknr.net")
-(defparameter *default-mail-subject* "Mail from the LISP ECOOP05 Website")
-(defparameter *smtp-server* "127.0.0.1")
\ No newline at end of file
+(defparameter *default-mail-subject* "Mail from the LISP ECOOP Website")
+(defparameter *smtp-server* "127.0.0.1")
+
Modified: trunk/projects/lisp-ecoop/src/handlers.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/handlers.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/handlers.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -67,7 +67,7 @@
   ())
 
 (defmethod handle ((handler page-handler) req)
-  (with-lisp-ecoop-page (req "LISP-ECOOP05 Administration")
+  (with-lisp-ecoop-page (req "LISP-ECOOP Administration")
     "Please choose an administrative task from the menu"))
 
 (define-bknr-webserver-module participants
Copied: trunk/projects/lisp-ecoop/src/lisp-ecoop.asd (from rev 1829, trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd)
===================================================================
--- trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/src/lisp-ecoop.asd	2006-02-17 19:41:42 UTC (rev 1835)
@@ -0,0 +1,30 @@
+;;;; -*- Mode: LISP -*-
+
+(in-package :cl-user)
+
+(defpackage :lisp-ecoop.system
+  (:use :cl :asdf))
+
+(in-package :lisp-ecoop.system)
+
+(defsystem :lisp-ecoop
+  :name "worldpay test"
+  :author "Hans Huebner <hans(a)huebner.org>"
+  :version "0"
+  :maintainer "Hans Huebner <hans(a)huebner.org>"
+  :licence "BSD"
+  :description "BKNR Test Web Server"
+  :long-description ""
+
+  :depends-on (:bknr-modules :cxml :klammerscript)
+
+  :components ((:file "packages")
+	       (:file "config" :depends-on ("packages"))
+	       (:file "macros" :depends-on ("config"))
+	       (:file "schedule" :depends-on ("macros"))
+	       (:file "participant" :depends-on ("macros" "schedule"))
+	       (:file "mail" :depends-on ("participant"))
+	       (:file "tags" :depends-on ("participant"))
+	       (:file "handlers" :depends-on ("participant"))
+	       (:file "webserver" :depends-on ("handlers"))
+	       (:file "init" :depends-on ("webserver"))))
Deleted: trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd
===================================================================
--- trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/lisp-ecoop05.asd	2006-02-17 19:41:42 UTC (rev 1835)
@@ -1,30 +0,0 @@
-;;;; -*- Mode: LISP -*-
-
-(in-package :cl-user)
-
-(defpackage :lisp-ecoop.system
-  (:use :cl :asdf))
-
-(in-package :lisp-ecoop.system)
-
-(defsystem :lisp-ecoop
-  :name "worldpay test"
-  :author "Hans Huebner <hans(a)huebner.org>"
-  :version "0"
-  :maintainer "Hans Huebner <hans(a)huebner.org>"
-  :licence "BSD"
-  :description "BKNR Test Web Server"
-  :long-description ""
-
-  :depends-on (:bknr-modules :cxml :klammerscript)
-
-  :components ((:file "packages")
-	       (:file "macros" :depends-on ("packages"))
-	       (:file "config" :depends-on ("macros"))
-	       (:file "schedule" :depends-on ("config"))
-	       (:file "participant" :depends-on ("config" "schedule"))
-	       (:file "mail" :depends-on ("participant"))
-	       (:file "tags" :depends-on ("participant"))
-	       (:file "handlers" :depends-on ("participant"))
-	       (:file "webserver" :depends-on ("handlers"))
-	       (:file "init" :depends-on ("webserver"))))
Added: trunk/projects/lisp-ecoop/src/macros.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/macros.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/macros.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -0,0 +1,43 @@
+(in-package :lisp-ecoop)
+
+(defvar *dtd* (ext:unix-namestring (merge-pathnames #p"src/lisp-ecoop.dtd" lisp-ecoop.config::*root-directory*)))
+
+(defun compute-slot (class slot)
+  (destructuring-bind (name access &rest rest &key attribute element &allow-other-keys) slot
+    (let* ((initarg (make-keyword-from-string (symbol-name name)))
+	   (package (symbol-package class))
+	   (accessor (intern (concatenate 'string (symbol-name class) "-"
+					  (symbol-name name)) package)))
+      (push initarg rest)
+      (push :initarg rest)
+      (when (eql attribute t)
+	(setf attribute (string-downcase (symbol-name name))))
+      (when (eql element t)
+	(setf element (string-downcase (symbol-name name))))
+      (unless (or attribute element)
+	(push (string-downcase (symbol-name name)) rest)
+	(push :element rest))
+      (case access
+	(:read
+	 (push accessor rest)
+	 (push :reader rest))
+	(:update
+	 (push accessor rest)
+	 (push :accessor rest))
+	(:none)
+	(t (error "unknown access option ~A in slot ~A of class ~A."
+		  access slot class)))
+      (cons name rest))))
+
+(defmacro define-lisp-ecoop-class (class (&rest superclasses) slots &rest class-options)
+  (let ((superclasses (or superclasses '(store-object)))
+	(slots (mapcar #'(lambda (slot) (compute-slot class slot))
+		       slots)))
+    ;; the eval-when is there to create the index access functions at compile time
+    `(eval-when (:compile-toplevel :load-toplevel :execute)
+      (defclass ,class ,superclasses
+	,slots
+	(:metaclass persistent-xml-class)
+	(:dtd-name *dtd*)
+	,@class-options))))
+
Modified: trunk/projects/lisp-ecoop/src/packages.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/packages.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/packages.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -9,7 +9,8 @@
 	   #:*store-directory*
 	   #:*default-mail-from*
 	   #:*default-mail-subject*
-	   #:*smtp-server*))
+	   #:*smtp-server*
+	   #:*dtd*))
 
 (defpackage :lisp-ecoop.imageproc
   (:use :cl
@@ -34,8 +35,7 @@
 	:lisp-ecoop.config
 	:net.aserve
 	:net.post-office
-	:xhtml-generator
-	:js)
+	:xhtml-generator)
   (:shadowing-import-from :cl-interpol #:quote-meta-chars)
   (:export #:participant
 	   #:all-participants
Modified: trunk/projects/lisp-ecoop/src/participant.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/participant.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/participant.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -2,11 +2,11 @@
 
 (enable-interpol-syntax)
 
-(define-persistent-class submission (blob)
-  ((title :update :documentation "Title of the submission" :initform nil)
-   (abstract :update :documentation "Abstract or short description" :initform nil)
-   (submitters :update :documentation "List of participants who submitted this" :initform nil)
-   (timeslot :update :documentation "Timeslot scheduled for this submission" :initform nil))
+(define-lisp-ecoop-class submission (blob)
+  ((title :update :documentation "Title of the submission" :initform nil :attribute t)
+   (abstract :update :documentation "Abstract or short description" :initform nil :element t)
+   (submitters :update :documentation "List of participants who submitted this" :initform nil :element t)
+   (timeslot :update :documentation "Timeslot scheduled for this submission" :initform nil :attribute t))
   (:default-initargs :type "application/pdf"))
 
 (defmethod destroy-object :before ((timeslot timeslot))
@@ -24,13 +24,13 @@
   (setf (submission-submitters submission) (remove submitter (submission-submitters submission)))
   (setf (participant-submissions submitter) (remove submission (participant-submissions submitter))))
 
-(define-persistent-class paper (submission)
+(define-lisp-ecoop-class paper (submission)
   ())
 
 (defmethod submission-type ((paper paper))
   "Paper")
 
-(define-persistent-class breakout-group-proposal (submission)
+(define-lisp-ecoop-class breakout-group-proposal (submission)
   ())
 
 (defmethod submission-type ((breakout-group-proposal breakout-group-proposal))
@@ -42,7 +42,7 @@
     ((:a :href #?"/submission/$((store-object-id submission))")
      (:princ-safe (submission-title submission))))))
 
-(define-persistent-class participant (user)
+(define-lisp-ecoop-class participant (user)
   ((url :update :documentation "Personal Website URL" :initform nil)
    (picture :update :documentation "Photo of the participant")
    (submissions :update :documentation "Submitted documents" :initform nil)
@@ -86,9 +86,9 @@
   (format nil "~(~36,6,'0R~)" (random (parse-integer "1000000" :radix 36))))
 
 (defmethod send-welcome-mail ((participant participant) initial-password)
-  (user-send-mail participant :subject "Your account on the LISP ECOOP 05 workshop website has been created"
+  (user-send-mail participant :subject "Your account on the LISP ECOOP workshop website has been created"
 		  :text (format nil
-"Your participant account on the LISP ECOOP05 Workshop website has
+"Your participant account on the LISP ECOOP Workshop website has
 been created.  Please visit your personal profile page on
 http://lisp-ecoop.bknr.net/edit-profile/ to change your password
 andupdate your profile information.
@@ -106,9 +106,9 @@
 (defmethod participant-reset-password (participant &optional (password (generate-random-password)))
   (set-user-password participant password)
   (user-send-mail participant
-		  :subject "Your password for the LISP ECOOP 05 workshop website"
+		  :subject "Your password for the LISP ECOOP workshop website"
 		  :text (format nil
-"Your password on the LISP ECOOP 05 Workshop website has been reset.
+"Your password on the LISP ECOOP Workshop website has been reset.
 Please visit your personal profile page on
 http://lisp-ecoop.bknr.net/edit-profile/~A to change your password
 and update your profile information.
Modified: trunk/projects/lisp-ecoop/src/schedule.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/schedule.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/schedule.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -2,10 +2,16 @@
 
 (enable-interpol-syntax)
 
-(define-persistent-class timeslot ()
-  ((begin-time :update :documentation "Start of the presentation/session (universal time)")
-   (duration :update :documentation "Length of the presentation/session (seconds)")
-   (content :update :documentation "Content of the timeslot, may be any object which responds to print-object-as-html")))
+(define-lisp-ecoop-class timeslot ()
+  ((begin-time :update
+	       :attribute t
+	       :documentation "Start of the presentation/session (universal time)")
+   (duration :update
+	     :attribute t
+	     :documentation "Length of the presentation/session (seconds)")
+   (content :update
+	    :attribute t
+	    :documentation "Content of the timeslot, may be any object which responds to print-object-as-html")))
 
 (defmethod timeslot-end-time ((timeslot timeslot))
   (+ (timeslot-begin-time timeslot)
Modified: trunk/projects/lisp-ecoop/src/webserver.lisp
===================================================================
--- trunk/projects/lisp-ecoop/src/webserver.lisp	2006-02-14 21:57:58 UTC (rev 1834)
+++ trunk/projects/lisp-ecoop/src/webserver.lisp	2006-02-17 19:41:42 UTC (rev 1835)
@@ -15,9 +15,8 @@
 			     1 0 :every :every))
 
   (make-instance 'website
-		 :name "LISP ECOOP 2005 CMS"
-		 :handler-definitions `(("/js-drag" js-drag-handler)
-					("/" redirect-handler
+		 :name "LISP ECOOP CMS"
+		 :handler-definitions `(("/" redirect-handler
 					 :to "/home")
 					("/" template-handler
 					 :destination ,(namestring (merge-pathnames #p"templates/" *website-directory*))
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    14 Feb '06
                    
                        Author: hhubner
Date: 2006-02-14 15:57:58 -0600 (Tue, 14 Feb 2006)
New Revision: 1834
Modified:
   trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
Log:
Correctly produce title
Modified: trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-14 21:48:08 UTC (rev 1833)
+++ trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-14 21:57:58 UTC (rev 1834)
@@ -13,7 +13,7 @@
   <html
    xmlns="http://www.w3.org/1999/xhtml">
    <head>
-    <title>LISP-ECOOP06 - $(title)</title>
+    <title>LISP-ECOOP06 - <xsl:value-of select="@name"/></title>
     <link rel="stylesheet" type="text/css" href="../static/styles.css" />
     <script src="../static/javascript.js" language="javascript" type="text/javascript"> </script>
    </head>
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    14 Feb '06
                    
                        Author: hhubner
Date: 2006-02-14 15:48:08 -0600 (Tue, 14 Feb 2006)
New Revision: 1833
Added:
   trunk/projects/lisp-ecoop/website/templates/cfp.xml
   trunk/projects/lisp-ecoop/website/templates/contact.xml
   trunk/projects/lisp-ecoop/website/templates/edit-profile.xml
   trunk/projects/lisp-ecoop/website/templates/edit-submission.xml
   trunk/projects/lisp-ecoop/website/templates/home.xml
   trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
   trunk/projects/lisp-ecoop/website/templates/people.xml
   trunk/projects/lisp-ecoop/website/templates/profile.xml
   trunk/projects/lisp-ecoop/website/templates/schedule.xml
   trunk/projects/lisp-ecoop/website/templates/submission.xml
   trunk/projects/lisp-ecoop/website/templates/submissions.xml
   trunk/projects/lisp-ecoop/website/templates/toplevel.xml
   trunk/projects/lisp-ecoop/website/templates/user-error.xml
Removed:
   trunk/projects/lisp-ecoop/website/templates/bknr-arguments.bknr
   trunk/projects/lisp-ecoop/website/templates/bknr-style.bknr
   trunk/projects/lisp-ecoop/website/templates/bknr-technology.bknr
   trunk/projects/lisp-ecoop/website/templates/cfp.bknr
   trunk/projects/lisp-ecoop/website/templates/contact.bknr
   trunk/projects/lisp-ecoop/website/templates/edit-profile.bknr
   trunk/projects/lisp-ecoop/website/templates/edit-submission.bknr
   trunk/projects/lisp-ecoop/website/templates/home.bknr
   trunk/projects/lisp-ecoop/website/templates/people.bknr
   trunk/projects/lisp-ecoop/website/templates/profile.bknr
   trunk/projects/lisp-ecoop/website/templates/schedule.bknr
   trunk/projects/lisp-ecoop/website/templates/submission.bknr
   trunk/projects/lisp-ecoop/website/templates/submissions.bknr
   trunk/projects/lisp-ecoop/website/templates/toplevel.bknr
   trunk/projects/lisp-ecoop/website/templates/user-error.bknr
Modified:
   trunk/projects/lisp-ecoop/website/templates/menu.xml
Log:
XSL based website to ease authoring
Deleted: trunk/projects/lisp-ecoop/website/templates/bknr-arguments.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/bknr-arguments.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/bknr-arguments.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR technology"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Requirements for a persistence mechanism</h1>
-<p>
-We want a persistence mechanism which is closely integrated into our
-programming language.  Persistence is something we want to assume as
-being available which writing applications, and it should be as
-unintrusive as possible.  Applications should use standard programming
-language mechanisms to access all data.
-</p>
-<p>
-The persistence mechanism should ensure that all appplication data in
-the system is safe against system crashes.  If the system crashes, the
-application and all it's data should be restartable into a consistent
-state.  The amount of work which can be lost due to a unplanned system
-failure should be low.
-</p>
-<p>
-The persistence mechanism should make the amount of data which
-constitutes the persistent state of the application transparent.  It
-should provide for mechanisms to duplicate the current state in order
-to move it from one machine or software release to another.
-</p>
-<h1>Does a "Database system" help?</h1>
-<p>
-The two most popular database families today are relational databases
-with SQL as query language, and embedded database facilities like
-Berkeley DB which provides for indexed access to tables stored on
-disk.  They have in common that they assume that the primary location
-of data is on-disk and that applications have to read and write data
-from and to disk in order to perform their tasks.
-</p>
-<p>
-Database systems, when they were invented, served as an address
-extension to the applications.  Applications could operate on data
-sets which were to large for in-memory processing, providing
-persistence at the same time.
-</p>
-<p>
-In addition, SQL databases provide for a language neutral query
-language that allow flexible querying of the application data.  This
-facility is useful in multi-language environments and to facilitate
-database queries through third-party applications.
-</p>
-<p>
-Todays main memories and processing speed redefine the environment in
-which applications are created.  Memory is no longer a very scarce
-resource, and memory sizes have generally grown much faster than the
-amount of application data that needs to be processed.  Thus,
-on-demand loading of application from disk can (and should) be totally
-avoided by always having the complete data set in memory.
-</p>
-<h2>Properties of the BKNR persistence mechanism</h2>
-<p>
-All Disk access by the persistence mechanism is sequential.  During
-normal operation, the transaction log is sequentially appended to.
-During snapshot, the snapshot file of the object subsystem is
-sequentially written.  During restore, the snapshot and transaction
-log files are sequentially read.
-</p>
-<p>
-All files used by BKNR are immutable.  A file is never changed, but
-only created, read or deleted.
-</p>
-<p>
-The time needed to restore from a crash consists of the time needed to
-read the sequential log file, to parse it's content and to execute the
-applications' transaction code.
-</p>
-</bknr:toplevel>
Deleted: trunk/projects/lisp-ecoop/website/templates/bknr-style.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/bknr-style.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/bknr-style.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR technology"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h2>BKNR programming style</h2>
-<p>
-All BKNR application data is handled in main memory.  Internally,
-applications do not use secondary store like data bases or files.  Are
-application data structures are kept in the data structures provided
-by Common Lisp.
-</p>
-<p>
-All destructive operation on the persistent heap need to be explicit
-and are synchronized.  A transaction is never aborted nor may it fail.
-Thus, it is vital to check preconditions before starting a destructive
-operation.  Within a transaction, application code must properly
-handle all possible errors and gracefully return.  Errors unhandled in
-transaction code are considered fatal and cause the persistence system
-to stop.
-</p>
-<p>
-Applications may either define their own, named transactions or they
-may use the provided CLOS layer which groups accesses to slots of
-persistent objects to atomic transactions.
-</p>
-<p>
-BKNR persistence sequentializes all destructive operations on the
-persistent heap.  As all data is in RAM when a transaction starts
-executing, it is never stalled by having to wait for necessary data to
-arrive.  Thus, the need for preempting transaction code arises much
-less frequently than in traditional systems in which transactions had
-to access slow disks in order to collect the data to be processed.
-</p>
-<p>
-Some applications require precondition checks which must be processed
-atomically together with the associated transaction code.
-Applications must guard such precondition checks with a store lock in
-order to block other transaction code from executing.
-</p>
-<p>
-Transaction code must be used only to change the persistent state of a
-system.  No I/O operations must be performed within transaction code.
-Transactions may produce log output, but it they may not use (possibly
-blocking) communications mechanisms to other processes.
-</p>
-<h2>Areas of research</h2>
-<h3>Performance</h3>
-<p>
-For high-performance stores, some optimizations will be worthwile.
-The single most time consuming operation while executing transactions
-is the appending to the transaction log file.  At the moment, this is
-done using a synchronous write to the opened Unix file, which takes
-significant time.
-</p>
-<p>
-Not all operations need to be absolutely safe, and it might be
-worthwile to change the default execution mode of the store to be as
-follows: Processing other transactions or non-transaction code may
-continue as soon as the transaction log entry of the current operation
-has been constructed in RAM and the transaction application code has
-been executed.  The transaction system will then asynchronously write
-the transaction to the transaction log.  Non-transactional application
-code can continue executing while the log entry is being commited to
-disk.  Depending on the safety needs of the application, log entries
-could also be buffered in a queue to achive higher peak transaction
-rates, trading safety for speed.  If safety is required, fast stable
-store (e.g. battery-backed RAM) can increase the speed of synchronous
-log writes.
-</p>
-<h2>Locking API</h2>
-<p>
-Current applications do not require sophisticated locking.  To support
-such applications, a locking API might make sense.
-</p>
-<h2>Replication</h2>
-<p>
-Hot-standby servers using the BKNR datastore are conceptually simple.
-Full commit safety requires a slightly more involved commit
-coordination on the distributed servers than doing the log replication
-after the commit has locally finished.  Many applications will be able
-to loose one or even a few transactions should the system crash.
-</p>
-</bknr:toplevel>
Deleted: trunk/projects/lisp-ecoop/website/templates/bknr-technology.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/bknr-technology.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/bknr-technology.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR technology"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>The BKNR Technology</h1>
-<p>
-
-This website is constructed using a set of Common Lisp packages which
-is collectively called the BKNR application development environment.
-BKNR integrates several open source components into an environment
-suitable for serving HTTP clients from a persistent Lisp system.
-
-It's major components are:
-<ul>
-<li>Persistence mechanism based on transaction logging, supporting
-immutable binary large objects and CLOS persistence.</li>
-<li>XML processing facilities</li>
-<li>HTTP application environment with sessions</li>
-</ul>
-</p>
-
-<h2>Persistence</h2>
-<p>
-Persistence in BKNR is achived using a transaction logging mechanism.
-All operations which change the persistent image of a system are
-explicitely written to a transaction log file.  When the system
-crashes, the persistent state can be recovered by rolling forward the
-transaction log.  The transaction log is held in a simple binary
-format in order to get acceptable restart times for larger datasets.
-</p>
-<p>
-The persistence mechanism supports a snapshot API which allows the
-persistent object system to write all currently active objects to a
-sequential file.
-</p>
-<p>
-The Persistent object subsystem provides for ID generation of objects.
-Object IDs of persistent objects are written to the transaction log.
-Persistent objects are never garbage collected and need to be deleted
-by the application if they are no longer in use.
-</p>
-<p>
-BKNR supports automated indices for CLOS instances.  They are
-implemented in a MOP metaclass and compatible with the BKNR metaclass
-for persistent objects.
-</p>
-<h2>XML processing</h2>
-<p>
-BKNR integrates the Closure XML (CXML) parser using a CLOS metaclass
-to provide for reading and writing XML files of objects.  Combined
-metaclasses are provided in order to allow for combinations like
-indexed+persistent or indexed+xml.
-</p>
-<p>
-CXML is also used for XHTML generation and XHTML template processing.
-User-defined element handlers can be added to the XHTML generation to
-support application-specific generation of dynamic content.
-</p>
-<h2>Web application environment</h2>
-<p>
-BKNR uses the portable aserve web server implementation as HTTP
-server.  It provides for a handler dispatch mechanism based on CLOS
-objects and generic functions to provide for routing requests to
-objects and HTML form handling.
-</p>
-<p>
-Session handling through cookies is supported, as well is a simple
-web-based CMS for maintaining user accounts and other application
-information.
-</p>
-<p>
-A CSS and Javascript generation library supports in-source-code
-generation of complete web pages using a lisp-like syntax.
-</p>
-<h2>Other Libraries</h2>
-<p>
-Except for the graphics processing library used, all server-side
-components of BKNR are implemented in Common Lisp.  All components are
-Open Source.  All software outside of the thirdparty/ tree in the BKNR
-repository are distributed under a BSD-style open source license.  The
-thirdparty/ tree contains a number of publicly available Common Lisp
-libraries which are used by BKNR.
-</p>
-BKNR has been co-developed with a number of real-world applications.
-Much of the application code has been kept in the central source code
-repository and evolved through a number of API and framework changes. 
-
-
-BKNR started while implementing a
-web site for <a href="http://eboy.com">eboy</a>, a group of graphics
-artists who wanted to have a dynamic web site for publishing their
-works.  Their new, fully dynamic web site was implemented in CMU
-Common Lisp
-
-
-</bknr:toplevel>
Deleted: trunk/projects/lisp-ecoop/website/templates/cfp.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/cfp.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/cfp.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Call For Papers"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Call for Participation</h1>
-
-<h2>2nd European Lisp and Scheme Workshop</h2>
-
-<p>July 26 - Glasgow, Scotland - co-located with ECOOP 2005<br/>
-Supported by ALU</p>
-
-<p>For more information visit <a href="http://lisp-ecoop05.bknr.net">http://lisp-ecoop05.bknr.net</a>
- or contact <a href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>.</p>
-
-<h2>Important Dates (updated on May 15, 2005)</h2>
-<ul>
-<li>Submission deadline: June 5, 2005</li>
-<li>Notification of acceptance: June 10, 2005</li>
-<li>ECOOP early registration deadline: June 13, 2005</li>
-</ul>
-
-<h1>Overview</h1>
-
-<blockquote>
-...Please don't assume Lisp is only useful for Animation and Graphics,
-AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
-applications, Expert Systems, Finance, Intelligent Agents, Knowledge
-Management, Mechanical CAD, Modeling and Simulation, Natural Language,
-Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
-Authoring just because these are the only things they happened to
-list.  -- Kent Pitman
-</blockquote>
-
-<p>Lisp is one of the oldest computer languages still in use today.
-In the decades of its existence, Lisp has been a fruitful basis for
-language design experiments as well as the preferred implementation
-language for applications in diverse fields.</p>
-
-<p>The structure of Lisp, including Common Lisp and Scheme as its
-major dialects of today, makes it easy to extend the language or even
-to implement entirely new dialects without starting from
-scratch. Common Lisp, with the Common Lisp Object System (CLOS), was
-the first object-oriented programming language to receive an ANSI
-standard at the beginning of the 1990's. It is, arguably, the most
-complete and advanced object system of any programming language, and
-has influenced many other object-oriented programming languages that
-were to follow.</p>
-
-<p>Despite having somewhat disappeared from the radar of popular
-computer science, Common Lisp and Scheme are still alive and have just
-started to gain momentum again. There is a steadily growing interest
-in Lisp as such, with numerous user groups having formed recently
-worldwide, and Lisp's metaprogramming notions that are being
-transferred to other languages to different extents, as for example in
-AOP, MDA, DSL, and so on.</p>
-
-<p>This two-day workshop will address the near-future role of
-Lisp-based languages in research, industry and education. We want to
-solicit papers and suggestions for breakout groups that discuss the
-opportunities Lisp provides to capture and enhance the possibilities
-in software engineering. We also want to promote lively discussion
-between researchers proposing new approaches and practitioners
-reporting on their experience with the strengths and limitations of
-current Lisp technologies.</p>
-
-<p>The workshop will be split into two parts: The first part is for
-talks with a more classroom-like atmosphere, the second will consist
-of a number of sessions for breakout groups discussing or working on
-particular topics.</p>
-
-<h2>Papers</h2>
-
-<p>Presentations on the workshop can take anything between 5 minutes
-and an hour.  Additional time will be given for questions and answers.
-Papers may be published on the website in order to provide background
-information in advance.</p>
-
-<h3>Suggested topics for presented papers</h3>
-<ul>
-<li>Macro programming</li>
-<li>Metaprogramming</li>
-<li>Reflection</li>
-<li>New language features / abstractions</li>
-<li>Persistence Systems</li>
-<li>Hardware support for Lisp systems</li>
-<li>Case studies</li>
-<li>Experience reports</li>
-<li>Industrial applications</li>
-<li>Object-Oriented Programming</li>
-<li>Declarative Programming</li>
-<li>Aspect-Oriented Programming</li>
-<li>Domain-Oriented Programming</li>
-<li>Generative Programming</li>
-<li>Ambient Intelligence</li>
-<li>Unanticipated Software Evolution</li>
-<li>Design Patterns</li>
-<li>Educational Perspectives</li>
-</ul>
-
-<h2>Breakout Groups</h2>
-
-<p>The workshop will provide for the opportunity to meet face to face
-and work on focused topics.  We will organize these breakout groups
-and provide for rooms and infrastructure.</p>
-
-<h3>Suggested topics for breakout groups</h3>
-<ul>
-<li>Discuss the feature set of the next version of Slime</li>
-<li>Work on details of the CLRFI process</li>
-<li>Exchange experiences with various macro systems for Scheme</li>
-<li>Detail a wishlist for R6RS</li>
-<li>Environments for creating web applications</li>
-<li>Persistence systems</li>
-<li>Compiler technology</li>
-<li>Lisp on bare metal / Lisp hardware / Lisp operating systems</li>
-<li>Compare and enhance curricula for computer science education</li>
-</ul>
-
-<p>In order to have effective discussions at those breakout groups, we
-are negotiating meeting rooms for an extra day in addition to the
-actual workshop with the ECOOP organizers.</p>
-
-<h2>Submission Guidelines</h2>
-
-<p>Potential attendants are expected to submit<br/>
-<ul>
-<li>either a long paper (10 pages) presenting scientific and/or
-empirical results about Lisp- and Scheme-based uses or new approaches
-for software engineering purposes</li>
-<li>or a short essay (5 pages) defending a position about where
-research and practice based on Lisp and Scheme should be heading in
-the near future</li>
-<li>a proposal for a breakout group (1-2 pages) describing the theme,
-an agenda and/or expected results</li>
-</ul>
-</p>
-
-<p>Submissions should be mailed as PDF or text to Pascal Costanza (<a
-href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>) before the submission
-deadline. Please indicate whether you need an earlier notification of
-acceptance than the official date.</p>
-
-<h2>Registration</h2>
-
-<p>
-This workshop is co-located with <a
-href="http://2005.ecoop.org/">ECOOP 2005</a>, and this time it is one
-of the official workshops at that conference. Therefore, registration,
-fee and accomodation are all handled through the conference
-organization. See the conference website and especially <a
-href="http://2005.ecoop.org/fees.html">ecoop - Fees</a> and <a
-href="http://2005.ecoop.org/travel.html">ecoop - Travel</a> for
-further information.
-</p>
-
-<p>
-Advance registration to the workshop is handled through the primary
-contact person of the Workshop, Pascal Costanza (<a
-href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>).  Please contact him by
-regular email with your submission or input to the workshop in order
-to receive your login to the workshop website.  Include your preferred
-login name for the workshop website with your application.  Further
-information for participants will be provided on the workshop website.
-</p>
-
-<h2>Organizing Committee</h2>
-
-<p>The organizing comitee consists of the following people:</p>
-
-<ul>
-<li>Pascal Costanza, <a
-href="http://www.pascalcostanza.de">http://www.pascalcostanza.de</a>,
-Vrije Universiteit Brussel, Belgium (contact organizer)</li>
-<li>Theo D'Hondt, <a
-href="http://prog.vub.ac.be/~tjdhondt">http://prog.vub.ac.be/~tjdhondt</a>,
-Vrije Universiteit Brussel, Belgium</li>
-<li>Arthur Lemmens, Independent Consultant, Amsterdam, The
-Netherlands</li>
-<li>Manuel Serrano, <a
-href="http://www-sop.inria.fr/mimosa/Manuel.Serrano/">http://www-sop.inria.fr/mimosa/Manuel.Serrano/</a>,
-INRIA Sophia-Antipolis, France</li>
-</ul>
-
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/cfp.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/cfp.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/cfp.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/cfp.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="cfp">
+
+<h1>Call for Participation</h1>
+
+<h2>2nd European Lisp and Scheme Workshop</h2>
+
+<p>July 26 - Glasgow, Scotland - co-located with ECOOP 2005<br/>
+Supported by ALU</p>
+
+<p>For more information visit <a href="http://lisp-ecoop05.bknr.net">http://lisp-ecoop05.bknr.net</a>
+ or contact <a href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>.</p>
+
+<h2>Important Dates (updated on May 15, 2005)</h2>
+<ul>
+<li>Submission deadline: June 5, 2005</li>
+<li>Notification of acceptance: June 10, 2005</li>
+<li>ECOOP early registration deadline: June 13, 2005</li>
+</ul>
+
+<h1>Overview</h1>
+
+<blockquote>
+...Please don't assume Lisp is only useful for Animation and Graphics,
+AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
+applications, Expert Systems, Finance, Intelligent Agents, Knowledge
+Management, Mechanical CAD, Modeling and Simulation, Natural Language,
+Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
+Authoring just because these are the only things they happened to
+list.  -- Kent Pitman
+</blockquote>
+
+<p>Lisp is one of the oldest computer languages still in use today.
+In the decades of its existence, Lisp has been a fruitful basis for
+language design experiments as well as the preferred implementation
+language for applications in diverse fields.</p>
+
+<p>The structure of Lisp, including Common Lisp and Scheme as its
+major dialects of today, makes it easy to extend the language or even
+to implement entirely new dialects without starting from
+scratch. Common Lisp, with the Common Lisp Object System (CLOS), was
+the first object-oriented programming language to receive an ANSI
+standard at the beginning of the 1990's. It is, arguably, the most
+complete and advanced object system of any programming language, and
+has influenced many other object-oriented programming languages that
+were to follow.</p>
+
+<p>Despite having somewhat disappeared from the radar of popular
+computer science, Common Lisp and Scheme are still alive and have just
+started to gain momentum again. There is a steadily growing interest
+in Lisp as such, with numerous user groups having formed recently
+worldwide, and Lisp's metaprogramming notions that are being
+transferred to other languages to different extents, as for example in
+AOP, MDA, DSL, and so on.</p>
+
+<p>This two-day workshop will address the near-future role of
+Lisp-based languages in research, industry and education. We want to
+solicit papers and suggestions for breakout groups that discuss the
+opportunities Lisp provides to capture and enhance the possibilities
+in software engineering. We also want to promote lively discussion
+between researchers proposing new approaches and practitioners
+reporting on their experience with the strengths and limitations of
+current Lisp technologies.</p>
+
+<p>The workshop will be split into two parts: The first part is for
+talks with a more classroom-like atmosphere, the second will consist
+of a number of sessions for breakout groups discussing or working on
+particular topics.</p>
+
+<h2>Papers</h2>
+
+<p>Presentations on the workshop can take anything between 5 minutes
+and an hour.  Additional time will be given for questions and answers.
+Papers may be published on the website in order to provide background
+information in advance.</p>
+
+<h3>Suggested topics for presented papers</h3>
+<ul>
+<li>Macro programming</li>
+<li>Metaprogramming</li>
+<li>Reflection</li>
+<li>New language features / abstractions</li>
+<li>Persistence Systems</li>
+<li>Hardware support for Lisp systems</li>
+<li>Case studies</li>
+<li>Experience reports</li>
+<li>Industrial applications</li>
+<li>Object-Oriented Programming</li>
+<li>Declarative Programming</li>
+<li>Aspect-Oriented Programming</li>
+<li>Domain-Oriented Programming</li>
+<li>Generative Programming</li>
+<li>Ambient Intelligence</li>
+<li>Unanticipated Software Evolution</li>
+<li>Design Patterns</li>
+<li>Educational Perspectives</li>
+</ul>
+
+<h2>Breakout Groups</h2>
+
+<p>The workshop will provide for the opportunity to meet face to face
+and work on focused topics.  We will organize these breakout groups
+and provide for rooms and infrastructure.</p>
+
+<h3>Suggested topics for breakout groups</h3>
+<ul>
+<li>Discuss the feature set of the next version of Slime</li>
+<li>Work on details of the CLRFI process</li>
+<li>Exchange experiences with various macro systems for Scheme</li>
+<li>Detail a wishlist for R6RS</li>
+<li>Environments for creating web applications</li>
+<li>Persistence systems</li>
+<li>Compiler technology</li>
+<li>Lisp on bare metal / Lisp hardware / Lisp operating systems</li>
+<li>Compare and enhance curricula for computer science education</li>
+</ul>
+
+<p>In order to have effective discussions at those breakout groups, we
+are negotiating meeting rooms for an extra day in addition to the
+actual workshop with the ECOOP organizers.</p>
+
+<h2>Submission Guidelines</h2>
+
+<p>Potential attendants are expected to submit<br/>
+<ul>
+<li>either a long paper (10 pages) presenting scientific and/or
+empirical results about Lisp- and Scheme-based uses or new approaches
+for software engineering purposes</li>
+<li>or a short essay (5 pages) defending a position about where
+research and practice based on Lisp and Scheme should be heading in
+the near future</li>
+<li>a proposal for a breakout group (1-2 pages) describing the theme,
+an agenda and/or expected results</li>
+</ul>
+</p>
+
+<p>Submissions should be mailed as PDF or text to Pascal Costanza (<a
+href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>) before the submission
+deadline. Please indicate whether you need an earlier notification of
+acceptance than the official date.</p>
+
+<h2>Registration</h2>
+
+<p>
+This workshop is co-located with <a
+href="http://2005.ecoop.org/">ECOOP 2005</a>, and this time it is one
+of the official workshops at that conference. Therefore, registration,
+fee and accomodation are all handled through the conference
+organization. See the conference website and especially <a
+href="http://2005.ecoop.org/fees.html">ecoop - Fees</a> and <a
+href="http://2005.ecoop.org/travel.html">ecoop - Travel</a> for
+further information.
+</p>
+
+<p>
+Advance registration to the workshop is handled through the primary
+contact person of the Workshop, Pascal Costanza (<a
+href="mailto:pc@p-cos.net">pc(a)p-cos.net</a>).  Please contact him by
+regular email with your submission or input to the workshop in order
+to receive your login to the workshop website.  Include your preferred
+login name for the workshop website with your application.  Further
+information for participants will be provided on the workshop website.
+</p>
+
+<h2>Organizing Committee</h2>
+
+<p>The organizing comitee consists of the following people:</p>
+
+<ul>
+<li>Pascal Costanza, <a
+href="http://www.pascalcostanza.de">http://www.pascalcostanza.de</a>,
+Vrije Universiteit Brussel, Belgium (contact organizer)</li>
+<li>Theo D'Hondt, <a
+href="http://prog.vub.ac.be/~tjdhondt">http://prog.vub.ac.be/~tjdhondt</a>,
+Vrije Universiteit Brussel, Belgium</li>
+<li>Arthur Lemmens, Independent Consultant, Amsterdam, The
+Netherlands</li>
+<li>Manuel Serrano, <a
+href="http://www-sop.inria.fr/mimosa/Manuel.Serrano/">http://www-sop.inria.fr/mimosa/Manuel.Serrano/</a>,
+INRIA Sophia-Antipolis, France</li>
+</ul>
+
+</page>
\ No newline at end of file
Deleted: trunk/projects/lisp-ecoop/website/templates/contact.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/contact.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/contact.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Contact"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Contact</h1>
-<p>Workshop related: <a href="mailto:pc@p-cos.net">Pascal Costanza</a></p>
-<p>Website related: <a href="mailto:hans@bknr.net">Hans Hüber</a></p>
-
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/contact.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/contact.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/contact.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/contact.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="contact">
+
+ <h1>Contact</h1>
+ <p>Workshop related: <a href="mailto:pc@p-cos.net">Pascal Costanza</a></p>
+ <p>Website related: <a href="mailto:hans@bknr.net">Hans Hüber</a></p>
+
+</page>
Deleted: trunk/projects/lisp-ecoop/website/templates/edit-profile.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/edit-profile.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/edit-profile.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Edit Profile"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Participant Profile Editor</h1>
-<p>
-Using this form, you can edit your participant profile for the 2nd
-European LISP and Scheme Workshop.  The profile serves as a means of
-communicating the participants interests as well as any submitted
-papers before the actual workshop takes place.  It will also be used
-by the workshop coordinators to schedule presentations.
-The workshop web site will stay online after the workshop to
-facilitate further communications.
-</p>
-<p>
-All participant profile data, excluding personal email addresses, can
-be viewed by all visitors of the workshops' web site.
-</p>
-<lisp-ecoop05:profile-editor>
-  <form method="post" name="edit_profile" enctype="multipart/form-data" onsubmit="return check_password(this);">
-    <table>
-      <tr><th colspan="2">Personal information</th></tr>
-      <tr>
-        <td>Login name</td>
-	<td>$(login)</td>
-      </tr>
-      <tr>
-        <td>Password</td>
-	<td><input type="password" name="password" /></td>
-      </tr>
-      <tr>
-        <td>Password (repeat)</td>
-	<td><input type="password" name="password_repeat" /></td>
-      </tr>
-      <tr>
-        <td>Name</td>
-	<td><input type="text" name="full-name" value="$(full-name)" /></td>
-      </tr>
-      <tr>
-        <td>Affiliation</td>
-	<td><input type="text" name="affiliation" value="$(affiliation)" /></td>
-      </tr>
-      <tr>
-        <td>Website URL</td>
-	<td><input type="text" name="url" value="$(url)" /></td>
-      </tr>
-      <tr>
-        <td>Email</td>
-	<td><input type="text" name="email" value="$(email)" /></td>
-      </tr>
-      <tr>
-        <td>Picture</td>
-	<td><lisp-ecoop05:participant-picture-uploader /></td>
-      </tr>
-      <tr>
-        <td>Text</td>
-	<td><textarea name="text" rows="10" cols="76">$(text)</textarea></td>
-      </tr>
-      <tr><th colspan="2">Submissions</th></tr>
-      <tr>
-	<td colspan="2"><lisp-ecoop05:submission-list participant-only="1" /></td>
-      </tr>
-      <tr><th colspan="2">New Submission</th></tr>
-      <tr>
-        <td>Type:</td>
-	<td>
-	  <select name="type">
-	    <option value="paper">Paper</option>
-	    <option value="breakout-group-proposal">Breakout Group Proposal</option>
-	  </select>
-	</td>
-      </tr>
-      <tr>
-        <td>Title:</td>
-	<td><input type="text" name="title" size="80" /></td>
-      </tr>
-      <tr>
-        <td>Abstract:</td>
-	<td><textarea name="abstract" cols="76" rows="10"> </textarea></td>
-      </tr>
-      <tr>
-        <td>PDF:</td>
-	<td><input type="file" name="submission" /><input type="submit" name="action" value="upload" /></td>
-      </tr>
-      <tr><th colspan="2">Action</th></tr>
-      <tr>
-        <td colspan="2">
-	  <input type="submit" name="action" value="save" />
-          <input type="submit" name="action" value="delete" onclick="return confirm('Delete this participant?');" />
-	</td>
-      </tr>
-    </table>
-  </form>
-</lisp-ecoop05:profile-editor>
-<p>
-Please contact <a href="mailto:hans@bknr.net">Hans Hübner</a> for
-inquiries relating to the workshop web site.  We are interested in
-developing the website into a LISP-based system to coordinate
-distributed development activities and related real-life meetings
-using an incremental development process.  See <a
-href="/bknr-technology">the Website technology blurb</a> for a
-description of the technology used by this web site.
-</p>
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/edit-profile.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/edit-profile.bknr)
Deleted: trunk/projects/lisp-ecoop/website/templates/edit-submission.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/edit-submission.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/edit-submission.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Edit Submission"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Submission Editor</h1>
-<p>
-Using this form, you can edit your submission to the  2nd
-European LISP and Scheme Workshop.
-</p>
-<lisp-ecoop05:submission-editor>
-  <form method="post" name="edit_submission" enctype="multipart/form-data">
-    <table>
-      <tr><th colspan="2">Submission</th></tr>
-      <tr>
-        <td>Title</td>
-	<td><input type="text" name="title" value="$(title)" /></td>
-      </tr>
-      <tr>
-        <td>Submitters</td>
-	<td><lisp-ecoop05:submission-submitters-chooser /></td>
-      </tr>
-      <tr>
-        <td width="20%">Abstract</td>
-	<td><textarea name="abstract" cols="76" rows="15">$(abstract)</textarea></td>
-      </tr>
-      <tr>
-        <td>Document (PDF)</td>
-	<td><lisp-ecoop05:submission-uploader /></td>
-      </tr>
-      <tr><th colspan="2">Action</th></tr>
-      <tr>
-        <td colspan="2">
-	  <button type="submit" name="action" value="save">save changes</button>
-          <button type="submit" name="action" value="delete" onclick="return confirm('Delete this submission?');">delete submission</button>
-	</td>
-      </tr>
-    </table>
-  </form>
-</lisp-ecoop05:submission-editor>
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/edit-submission.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/edit-submission.bknr)
Deleted: trunk/projects/lisp-ecoop/website/templates/home.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/home.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/home.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Overview"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<p>Welcome to the Website of the 2nd European LISP and Scheme
-Workshop.  Please see the <a href="cfp">Call for Participation</a> for a
-description of the goals of the workshop.</p>
-
-<h1>News</h1>
-
-<h3>May 19, 2005</h3>
-
-<ul>
-<li><a href="/profile/rpg">Richard P. Gabriel</a> has
-  agreed to give a keynote talk at the workshop:
-<blockquote>
-<h4>On the Interaction of Life and Machines in Self-Sustaining Systems</h4>
-<p>
-Software systems today are produced according to a manufacturing
-model: A finished product is constructed at the factory and shipped to
-its final destination where it is expected to act like any other
-machine-reliably but oblivious to its surroundings and its own
-welfare. Software needs to grow up and become responsible for itself
-and its own future. A promising approach seems to be to separate
-software that does the work from software that keeps the system alive.
-</p>
-</blockquote>
-</li>
-
-<li>The submission deadline has been extended to June 5,
-  2005.</li>
-
-<li>The early registration deadline for ECOOP 2005 is June 13,
-  2005. The fee structure for ECOOP 2005 will be announced at the
-  conference website soon. See <a
-  href="http://2005.ecoop.org/dates.html" target="_new">ecoop -
-  Important Dates</a> and <a href="http://2005.ecoop.org/fees.html"
-  target="_new">ecoop - Fees</a> for more information.</li>
-
-</ul>
-
-<div align="center">
-  <p>
-    <a href="http://www.alu.org" target="_new">
-      <img src="/image/alu-logo" alt="" height="63" width="95" align="middle" target="_new" border="0" />
-    </a>
-  </p>
-  <p>Supported by ALU</p>
-</div>
-
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/home.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/home.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/home.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/home.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="home">
+
+<p>Welcome to the Website of the 2nd European LISP and Scheme
+Workshop.  Please see the <a href="cfp">Call for Participation</a> for a
+description of the goals of the workshop.</p>
+
+<h1>News</h1>
+
+<h3>May 19, 2005</h3>
+
+<ul>
+<li><a href="/profile/rpg">Richard P. Gabriel</a> has
+  agreed to give a keynote talk at the workshop:
+<blockquote>
+<h4>On the Interaction of Life and Machines in Self-Sustaining Systems</h4>
+<p>
+Software systems today are produced according to a manufacturing
+model: A finished product is constructed at the factory and shipped to
+its final destination where it is expected to act like any other
+machine-reliably but oblivious to its surroundings and its own
+welfare. Software needs to grow up and become responsible for itself
+and its own future. A promising approach seems to be to separate
+software that does the work from software that keeps the system alive.
+</p>
+</blockquote>
+</li>
+
+<li>The submission deadline has been extended to June 5,
+  2005.</li>
+
+<li>The early registration deadline for ECOOP 2005 is June 13,
+  2005. The fee structure for ECOOP 2005 will be announced at the
+  conference website soon. See <a
+  href="http://2005.ecoop.org/dates.html" target="_new">ecoop -
+  Important Dates</a> and <a href="http://2005.ecoop.org/fees.html"
+  target="_new">ecoop - Fees</a> for more information.</li>
+
+</ul>
+
+<div align="center">
+  <p>
+    <a href="http://www.alu.org" target="_new">
+      <img src="/image/alu-logo" alt="" height="63" width="95" align="middle" target="_new" border="0" />
+    </a>
+  </p>
+  <p>Supported by ALU</p>
+</div>
+
+</page>
Added: trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/lisp-ecoop.xsl	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:param name="mode">xml</xsl:param>
+
+ <xsl:output method="html"
+             indent="yes"
+             omit-xml-declaration="yes"
+             doctype-public="-//W3C//DTD HTML 4.0 Strict//EN" />
+
+ <xsl:template match="/page">
+
+  <html
+   xmlns="http://www.w3.org/1999/xhtml">
+   <head>
+    <title>LISP-ECOOP06 - $(title)</title>
+    <link rel="stylesheet" type="text/css" href="../static/styles.css" />
+    <script src="../static/javascript.js" language="javascript" type="text/javascript"> </script>
+   </head>
+   <body>
+    <div id="banner">
+     <div id="title">2nd European LISP and Scheme Workshop</div>
+     <div id="subtitle">Co-located with <a href="http://2005.ecoop.org/" target="_new">ECOOP 2005</a><br />July 26 - Glasgow - Scotland</div>
+     <div id="logo">
+      <a href="http://bknr.net/" target="_new">
+       <img width="57" height="20" alt="BKNR Logo" src="/image/bknr-logo/thumbnail,,57,20" border="0" />
+      </a>
+     </div>
+    </div>
+    <div id="body">
+     <div id="system-column">
+      <xsl:call-template name="menu">
+       <xsl:with-param name="current" select="@name"/>
+      </xsl:call-template>
+     </div>
+     <div id="content">
+      <xsl:copy-of select="." />
+     </div>
+    </div>
+   </body>
+  </html>
+ </xsl:template>
+
+ <xsl:template name="menu">
+  <xsl:param name="current"/>
+  <div class="site-menu">
+   <xsl:for-each select="document('menu.xml')/menu/item">
+    <xsl:choose>
+     <xsl:when test="@url = $current">
+      <div class="site-menu-active">
+       <xsl:value-of select="@title"/>
+      </div>
+     </xsl:when>
+     <xsl:otherwise>
+      <div class="site-menu-inactive">
+       <a href="{(a)url}.{$mode}"><xsl:value-of select="@title"/></a>
+      </div>
+     </xsl:otherwise>
+    </xsl:choose>
+   </xsl:for-each>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop/website/templates/menu.xml
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/menu.xml	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/menu.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<menus>
-  <menu name="main">
-    <item url="/home" title="Home" />
-    <item url="/cfp" title="Call for Participation" />
-    <item url="/submissions" title="Submissions" />
-    <item url="/people" title="People" />
-    <item url="/schedule" title="Schedule" />
-  </menu>
-</menus>
\ No newline at end of file
+<menu name="main">
+  <item url="home" title="Home" />
+  <item url="cfp" title="Call for Participation" />
+  <item url="submissions" title="Submissions" />
+  <item url="people" title="People" />
+  <item url="schedule" title="Schedule" />
+  <item url="contact" title="Contact" />
+</menu>
Deleted: trunk/projects/lisp-ecoop/website/templates/people.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/people.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/people.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="People"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>People</h1>
-
-<p>The following people have registered to the workshop.  Please click
-on the persons' name to get further information</p>
-
- <lisp-ecoop05:participant-list />
-
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/people.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/people.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/people.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/people.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="people">
+
+<h1>People</h1>
+
+<p>The following people have registered to the workshop.  Please click
+on the persons' name to get further information</p>
+
+ <lisp-ecoop05:participant-list />
+
+</page>
Deleted: trunk/projects/lisp-ecoop/website/templates/profile.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/profile.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/profile.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Edit Profile"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<lisp-ecoop05:profile>
-  <h1>Participant Profile</h1>
-  <table>
-    <tr><th colspan="2">Personal information</th></tr>
-    <tr>
-      <td>Login name</td>
-      <td>$(login)</td>
-    </tr>
-    <tr>
-      <td>Name</td>
-      <td>$(full-name)</td>
-    </tr>
-    <tr>
-      <td>Affiliation</td>
-      <td>$(affiliation)</td>
-    </tr>
-    <tr>
-      <td>Website URL</td>
-      <td><a href="$(url)" target="_new">$(url)</a></td>
-    </tr>
-    <tr>
-      <td>Picture</td>
-      <td><lisp-ecoop05:participant-picture-image width="100" height="100"/></td>
-    </tr>
-    <lisp-ecoop05:participants-only>
-      <tr>
-	  <td>Email</td>
-	  <td><a href="mailto:$(email)">$(email)</a></td>
-      </tr>
-    </lisp-ecoop05:participants-only>
-    <tr>
-      <td width="20%">Text</td>
-	<td><pre>$(text)</pre></td>
-    </tr>
-    <tr><th colspan="2">Submission</th></tr>
-    <tr>
-      <td>Submissions</td>
-	<td><lisp-ecoop05:participant-submission-links /></td>
-    </tr>
-  </table>
-</lisp-ecoop05:profile>
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/profile.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/profile.bknr)
Deleted: trunk/projects/lisp-ecoop/website/templates/schedule.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/schedule.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/schedule.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Schedule"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-  <lisp-ecoop05:admin-only>
-    <lisp-ecoop05:schedule-submission />
-  </lisp-ecoop05:admin-only>
-
-  <h1>Schedule</h1>
-
-  <p>The (preliminary) schedule for the workshop is as follows.</p>
-
-  <h2>Monday, 25. July 2005</h2>
-  <table>
-    <tr><th>Time</th><th>Event</th></tr>
-    <lisp-ecoop05:show-day-schedule day="25-07-2005">
-      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
-    </lisp-ecoop05:show-day-schedule>
-  </table>
-
-  <h2>Tuesday, 26. July 2005</h2>
-  <table>
-    <tr><th>Time</th><th>Event</th></tr>
-    <lisp-ecoop05:show-day-schedule day="26-07-2005">
-      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
-    </lisp-ecoop05:show-day-schedule>
-  </table>
-
-  <lisp-ecoop05:admin-only>
-    <hr />
-    <form id="schedule" method="POST">
-      <b>Add Item:</b><br />
-      <label for="date">Date:</label>
-      <select name="date">
-        <option value="25-07-2005">25. July</option>
-        <option value="26-07-2005">26. July</option>
-      </select>
-      <br />
-      <label for="time">Time (HH:MM):</label>
-      <input type="text" name="time" size="5" />
-      <br />
-      <label for="duration">Duration (HH:MM):</label>
-      <input type="text" name="duration" size="5" />
-      <br />
-      <label for="submission">Submission:</label>
-      <select name="submission">
-        <lisp-ecoop05:unscheduled-submission-options />
-      </select>
-      <br/><b>or</b><br/>
-      <label for="freetext">Other item: </label>
-      <input name="freetext" type="text" size="70" />
-      <br />
-      <input type="submit" value="add to schedule" />
-    </form>
-  </lisp-ecoop05:admin-only>
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/schedule.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/schedule.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/schedule.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/schedule.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="schedule">
+
+  <lisp-ecoop05:admin-only>
+    <lisp-ecoop05:schedule-submission />
+  </lisp-ecoop05:admin-only>
+
+  <h1>Schedule</h1>
+
+  <p>The (preliminary) schedule for the workshop is as follows.</p>
+
+  <h2>Monday, 25. July 2005</h2>
+  <table>
+    <tr><th>Time</th><th>Event</th></tr>
+    <lisp-ecoop05:show-day-schedule day="25-07-2005">
+      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
+    </lisp-ecoop05:show-day-schedule>
+  </table>
+
+  <h2>Tuesday, 26. July 2005</h2>
+  <table>
+    <tr><th>Time</th><th>Event</th></tr>
+    <lisp-ecoop05:show-day-schedule day="26-07-2005">
+      <tr><td><lisp-ecoop05:time/></td><td><lisp-ecoop05:content/></td></tr>
+    </lisp-ecoop05:show-day-schedule>
+  </table>
+
+  <lisp-ecoop05:admin-only>
+    <hr />
+    <form id="schedule" method="POST">
+      <b>Add Item:</b><br />
+      <label for="date">Date:</label>
+      <select name="date">
+        <option value="25-07-2005">25. July</option>
+        <option value="26-07-2005">26. July</option>
+      </select>
+      <br />
+      <label for="time">Time (HH:MM):</label>
+      <input type="text" name="time" size="5" />
+      <br />
+      <label for="duration">Duration (HH:MM):</label>
+      <input type="text" name="duration" size="5" />
+      <br />
+      <label for="submission">Submission:</label>
+      <select name="submission">
+        <lisp-ecoop05:unscheduled-submission-options />
+      </select>
+      <br/><b>or</b><br/>
+      <label for="freetext">Other item: </label>
+      <input name="freetext" type="text" size="70" />
+      <br />
+      <input type="submit" value="add to schedule" />
+    </form>
+  </lisp-ecoop05:admin-only>
+</page>
Deleted: trunk/projects/lisp-ecoop/website/templates/submission.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/submission.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/submission.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Edit Submission"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<lisp-ecoop05:load-argument-object>
-  <h1>$(title)</h1>
-  <h2><lisp-ecoop05:submission-submitter-links /></h2>
-  <blockquote><pre>$(abstract)</pre></blockquote>
-  <a href="/pdf/$(object-id)">[Show PDF]</a>
-</lisp-ecoop05:load-argument-object>
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/submission.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/submission.bknr)
Deleted: trunk/projects/lisp-ecoop/website/templates/submissions.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/submissions.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/submissions.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Submissions"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  >
-
-<h1>Submissions</h1>
-
-<p>The following submissions have been received so far.</p>
-
-<h2>Papers</h2>
-<lisp-ecoop05:submission-list type="paper"/>
-
-<h2>Breakout group proposals</h2>
-<lisp-ecoop05:submission-list type="breakout-group-proposal"/>
-
-</bknr:toplevel>
Copied: trunk/projects/lisp-ecoop/website/templates/submissions.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/submissions.bknr)
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/submissions.bknr	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/projects/lisp-ecoop/website/templates/submissions.xml	2006-02-14 21:48:08 UTC (rev 1833)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="lisp-ecoop.xsl" ?>
+<page name="submissions">
+
+<h1>Submissions</h1>
+
+<p>The following submissions have been received so far.</p>
+
+<h2>Papers</h2>
+<lisp-ecoop05:submission-list type="paper"/>
+
+<h2>Breakout group proposals</h2>
+<lisp-ecoop05:submission-list type="breakout-group-proposal"/>
+
+</page>
Deleted: trunk/projects/lisp-ecoop/website/templates/toplevel.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/toplevel.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/toplevel.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  xmlns:bknr="http://bknr.net"
-  xmlns:menu="http://bknr.net/menu"
-  >
-  <head>
-    <title>LISP-ECOOP05 - $(title)</title>
-    <link rel="stylesheet" type="text/css" href="/static/styles.css" />
-    <script src="/static/javascript.js" language="javascript" type="text/javascript"> </script>
-  </head>
-
-  <body>
-    <div id="banner">
-      <div id="title">2nd European LISP and Scheme Workshop</div>
-      <div id="subtitle">Co-located with <a href="http://2005.ecoop.org/" target="_new">ECOOP 2005</a><br />July 26 - Glasgow - Scotland</div>
-      <div id="logo">
-        <a href="http://bknr.net/" target="_new">
-	  <img width="57" height="20" alt="BKNR Logo" src="/image/bknr-logo/thumbnail,,57,20" border="0" />
-	</a>
-      </div>
-    </div>
-    <div id="body">
-      <div id="system-column">
-        <menu:site-menu config="menu.xml"
-	                menu-name="main"
-			container-class="site-menu"
-	                active-class="site-menu-active"
-		        inactive-class="site-menu-inactive" />
-        <div id="login">
-          <lisp-ecoop05:login-widget />
-        </div>
-      </div>
-      <div id="content">
-        <bknr:tag-body />
-      </div>
-    </div>
-  </body>
-</html>
Copied: trunk/projects/lisp-ecoop/website/templates/toplevel.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/toplevel.bknr)
Deleted: trunk/projects/lisp-ecoop/website/templates/user-error.bknr
===================================================================
--- trunk/projects/lisp-ecoop/website/templates/user-error.bknr	2006-02-14 19:21:08 UTC (rev 1832)
+++ trunk/projects/lisp-ecoop/website/templates/user-error.bknr	2006-02-14 21:48:08 UTC (rev 1833)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:lisp-ecoop05="http://lisp-ecoop05.bknr.net"
-  xmlns:menu="http://bknr.net/menu"
-  >
-Your request could not be processed because an error occured:
-<pre>
-$(error-message)
-</pre>
-</html>
\ No newline at end of file
Copied: trunk/projects/lisp-ecoop/website/templates/user-error.xml (from rev 1829, trunk/projects/lisp-ecoop/website/templates/user-error.bknr)
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Author: hhubner
Date: 2006-02-13 23:47:48 -0600 (Mon, 13 Feb 2006)
New Revision: 1830
Modified:
   trunk/bknr/src/web/handlers.lisp
Log:
Tchadvar Roussanov:
In order to compile bknr/src/web/handlers.lisp with the latest cxml
and sbcl, I either have to apply the change from svn to with-element
macro in cxml/xml/unparse.lisp: [...]
or change the handlers.lisp this way:
In other words move the evaluation of
xml-object-list-handler-toplevel-element-name out of the macro
expansion. I think the two changes are equivalent but the second one
has the advantage not to require to maintain changes to the third
party library.
I asked David Lichteblau whether he could change cxml to support
computed element names in with-element.  Meanwhile, this change
restores portability to the current cxml release.
Modified: trunk/bknr/src/web/handlers.lisp
===================================================================
--- trunk/bknr/src/web/handlers.lisp	2006-02-11 09:19:59 UTC (rev 1829)
+++ trunk/bknr/src/web/handlers.lisp	2006-02-14 05:47:48 UTC (rev 1830)
@@ -446,9 +446,10 @@
 		:string-rod-fn #'cxml::utf8-string-to-rod))
 
 (defmethod handle-object ((handler xml-object-list-handler) object req)
-  (cxml:with-element (xml-object-list-handler-toplevel-element-name handler)
-    (dolist (object (object-list-handler-get-objects handler object req))
-      (object-list-handler-show-object-xml handler object req))))
+  (let ((element-name (xml-object-list-handler-toplevel-element-name handler)))
+    (cxml:with-element element-name
+      (dolist (object (object-list-handler-get-objects handler object req))
+	(object-list-handler-show-object-xml handler object req)))))
 
 (defclass blob-handler (object-handler)
   ())
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [bknr-cvs] r1829 - in trunk/projects: . bknr-website/templates	lisp-ecoop
                        
                        
by bknr@bknr.net 11 Feb '06
                    by bknr@bknr.net 11 Feb '06
11 Feb '06
                    
                        Author: hhubner
Date: 2006-02-11 03:19:59 -0600 (Sat, 11 Feb 2006)
New Revision: 1829
Added:
   trunk/projects/lisp-ecoop/
   trunk/projects/lisp-ecoop/src/
Removed:
   trunk/projects/lisp-ecoop/src/
   trunk/projects/lisp-ecoop05/
Modified:
   trunk/projects/bknr-website/templates/generate-html.xsl
Log:
Renamed to lisp-ecoop
Modified: trunk/projects/bknr-website/templates/generate-html.xsl
===================================================================
--- trunk/projects/bknr-website/templates/generate-html.xsl	2006-02-11 09:18:16 UTC (rev 1828)
+++ trunk/projects/bknr-website/templates/generate-html.xsl	2006-02-11 09:19:59 UTC (rev 1829)
@@ -1,4 +1,4 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output mode="text" omit-xml-declaration="yes" />
  <xsl:template match="item">xsltproc --stringparam mode html -o ../html/<xsl:value-of select="@url"/>.html <xsl:value-of select="@url"/>.xml</xsl:template>
-</xsl:stylesheet>
\ No newline at end of file
+</xsl:stylesheet>
Copied: trunk/projects/lisp-ecoop (from rev 1822, trunk/projects/lisp-ecoop05)
Copied: trunk/projects/lisp-ecoop/src (from rev 1828, trunk/projects/lisp-ecoop05/src)
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Author: hhubner
Date: 2006-02-11 03:18:16 -0600 (Sat, 11 Feb 2006)
New Revision: 1828
Removed:
   trunk/projects/lisp-ecoop05/src/js-drag.lisp
Modified:
   trunk/projects/lisp-ecoop05/src/config.lisp
   trunk/projects/lisp-ecoop05/src/event.lisp
   trunk/projects/lisp-ecoop05/src/handlers.lisp
   trunk/projects/lisp-ecoop05/src/init.lisp
   trunk/projects/lisp-ecoop05/src/lisp-ecoop05.asd
   trunk/projects/lisp-ecoop05/src/load.lisp
   trunk/projects/lisp-ecoop05/src/mail.lisp
   trunk/projects/lisp-ecoop05/src/packages.lisp
   trunk/projects/lisp-ecoop05/src/participant.lisp
   trunk/projects/lisp-ecoop05/src/schedule.lisp
   trunk/projects/lisp-ecoop05/src/tags.lisp
   trunk/projects/lisp-ecoop05/src/webserver.lisp
Log:
Renaming to lisp-ecoop
Modified: trunk/projects/lisp-ecoop05/src/config.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/config.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/config.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,9 +1,9 @@
-(in-package :lisp-ecoop05.config)
+(in-package :lisp-ecoop.config)
 
 ;; URL für BASE HREFs
-(defparameter *website-url* "http://lisp-ecoop05.bknr.net")
+(defparameter *website-url* "http://lisp-ecoop.bknr.net")
 
-(defparameter *root-directory* #p"home:bknr-svn/lisp-ecoop05/")
+(defparameter *root-directory* #p"home:bknr-svn/lisp-ecoop/")
 
 (defparameter *store-directory* (merge-pathnames #p"datastore/" *root-directory*))
 
@@ -11,6 +11,6 @@
 
 (defparameter *webserver-port* 8081)
 
-(defparameter *default-mail-from* "postmaster(a)lisp-ecoop05.bknr.net")
+(defparameter *default-mail-from* "postmaster(a)lisp-ecoop.bknr.net")
 (defparameter *default-mail-subject* "Mail from the LISP ECOOP05 Website")
 (defparameter *smtp-server* "127.0.0.1")
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop05/src/event.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/event.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/event.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,3 +1,3 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop05/src/handlers.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/handlers.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/handlers.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (enable-interpol-syntax)
 
Modified: trunk/projects/lisp-ecoop05/src/init.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/init.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/init.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (defun startup ()
   (when *store*
@@ -15,4 +15,4 @@
 
   (bknr.cron:start-cron)
   
-  (publish-lisp-ecoop05))
+  (publish-lisp-ecoop))
Deleted: trunk/projects/lisp-ecoop05/src/js-drag.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/js-drag.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/js-drag.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,55 +0,0 @@
-(in-package :lisp-ecoop05)
-
-(defclass js-drag-handler (page-handler)
-  ())
-
-(defmethod handle ((handler js-drag-handler) req)
-  (with-http-response (req *ent*)
-    (with-http-body (req *ent*)
-      (html
-       (:html
-	(:head
-	 (:title "Drag & Drop Demo")
-	 ((:script :type "text/javascript" :src "/static/drag-demo.js")))
-	((:body :style (css-inline :font-family "sans-serif")
-		:onload (js-inline (init)))
-	 (:h1 "Drag & Drop Demo")
-	 ((:div :id "canvas" :style (css-inline :position "absolute"
-						:background-color "#f0f0f0"
-						:left "50px"
-						:top "50px"
-						:width "400px"
-						:height "400px"
-						:border "thin solid #000000"
-						:-moz-border-radius "4px"
-						:z-order "1"))
-	  ((:div :id "container1" :style (css-inline :position "absolute"
-						     :background-color "#c0c0c0"
-						     :left "10px"
-						     :top "10px"
-						     :width "100px"
-						     :height "380px"
-						     :border "thin solid #000000"
-						     :-moz-border-radius "4px"
-						     :z-order "2"))
-	   "Container 1")
-	  ((:div :id "container2" :style (css-inline :position "absolute"
-						     :background-color "#c0c0c0"
-						     :right "10px"
-						     :top "10px"
-						     :width "100px"
-						     :height "380px"
-						     :border "thin solid #000000"
-						     :-moz-border-radius "4px"
-						     :z-order "2"))
-	   "Container 2")
-	  ((:div :id "icon" :style (css-inline :position "absolute"
-					       :background-color "#e0e0e0"
-					       :left "130px"
-					       :top "20px"
-					       :border "thin solid #000000"
-					       :text-align "center"
-					       :-moz-border-radius "4px"
-					       :z-order "3"))
-	   ((:img :border "0" :src "/image/bknr-logo"))
-	   :br "drag me!"))))))))
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop05/src/lisp-ecoop05.asd
===================================================================
--- trunk/projects/lisp-ecoop05/src/lisp-ecoop05.asd	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/lisp-ecoop05.asd	2006-02-11 09:18:16 UTC (rev 1828)
@@ -2,12 +2,12 @@
 
 (in-package :cl-user)
 
-(defpackage :lisp-ecoop05.system
+(defpackage :lisp-ecoop.system
   (:use :cl :asdf))
 
-(in-package :lisp-ecoop05.system)
+(in-package :lisp-ecoop.system)
 
-(defsystem :lisp-ecoop05
+(defsystem :lisp-ecoop
   :name "worldpay test"
   :author "Hans Huebner <hans(a)huebner.org>"
   :version "0"
@@ -16,15 +16,15 @@
   :description "BKNR Test Web Server"
   :long-description ""
 
-  :depends-on (:bknr-modules :klammerscript)
+  :depends-on (:bknr-modules :cxml :klammerscript)
 
   :components ((:file "packages")
-	       (:file "config" :depends-on ("packages"))
+	       (:file "macros" :depends-on ("packages"))
+	       (:file "config" :depends-on ("macros"))
 	       (:file "schedule" :depends-on ("config"))
 	       (:file "participant" :depends-on ("config" "schedule"))
 	       (:file "mail" :depends-on ("participant"))
 	       (:file "tags" :depends-on ("participant"))
 	       (:file "handlers" :depends-on ("participant"))
-	       (:file "js-drag" :depends-on ("packages"))
 	       (:file "webserver" :depends-on ("handlers"))
 	       (:file "init" :depends-on ("webserver"))))
Modified: trunk/projects/lisp-ecoop05/src/load.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/load.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/load.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,9 +1,9 @@
 (push :cl-gd-gif *features*)
 
-(asdf:oos 'asdf:load-op :lisp-ecoop05)
+(asdf:oos 'asdf:load-op :lisp-ecoop)
 (asdf:oos 'asdf:load-op :swank)
 
 (swank::create-swank-server 4005 :spawn #'swank::simple-announce-function t)
-(lisp-ecoop05::startup)
+(lisp-ecoop::startup)
 
 (mp::startup-idle-and-top-level-loops)
Modified: trunk/projects/lisp-ecoop05/src/mail.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/mail.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/mail.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (enable-interpol-syntax)
 
Modified: trunk/projects/lisp-ecoop05/src/packages.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/packages.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/packages.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,6 +1,6 @@
 (in-package :cl-user)
 
-(defpackage :lisp-ecoop05.config
+(defpackage :lisp-ecoop.config
   (:use :cl
 	:cl-user)
   (:export #:*website-url*
@@ -11,15 +11,15 @@
 	   #:*default-mail-subject*
 	   #:*smtp-server*))
 
-(defpackage :lisp-ecoop05.imageproc
+(defpackage :lisp-ecoop.imageproc
   (:use :cl
 	:cl-user
 	:bknr.web
 	:cl-gd
-	:lisp-ecoop05.config)
+	:lisp-ecoop.config)
   (:export))
 
-(defpackage :lisp-ecoop05
+(defpackage :lisp-ecoop
   (:use :cl
 	:cl-user
 	:ext
@@ -31,7 +31,7 @@
 	:bknr.indices
 	:bknr.user
 	:bknr.images
-	:lisp-ecoop05.config
+	:lisp-ecoop.config
 	:net.aserve
 	:net.post-office
 	:xhtml-generator
@@ -58,7 +58,7 @@
 	   #:submission-timeslot
 	   #:timeslot))
 
-(defpackage :lisp-ecoop05.tags
+(defpackage :lisp-ecoop.tags
   (:use :cl
 	:cl-user
 	:cl-ppcre
@@ -71,8 +71,8 @@
 	:bknr.images
 	:net.aserve
 	:xhtml-generator
-	:lisp-ecoop05.config
-	:lisp-ecoop05)
+	:lisp-ecoop.config
+	:lisp-ecoop)
   (:shadowing-import-from :cl-interpol #:quote-meta-chars)
   (:shadowing-import-from :acl-compat.mp #:process-kill #:process-wait)
   (:export #:hello))
\ No newline at end of file
Modified: trunk/projects/lisp-ecoop05/src/participant.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/participant.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/participant.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (enable-interpol-syntax)
 
@@ -90,7 +90,7 @@
 		  :text (format nil
 "Your participant account on the LISP ECOOP05 Workshop website has
 been created.  Please visit your personal profile page on
-http://lisp-ecoop05.bknr.net/edit-profile/ to change your password
+http://lisp-ecoop.bknr.net/edit-profile/ to change your password
 andupdate your profile information.
 
 Your login name is: ~A
@@ -110,7 +110,7 @@
 		  :text (format nil
 "Your password on the LISP ECOOP 05 Workshop website has been reset.
 Please visit your personal profile page on
-http://lisp-ecoop05.bknr.net/edit-profile/~A to change your password
+http://lisp-ecoop.bknr.net/edit-profile/~A to change your password
 and update your profile information.
 
 Your login name is: ~A
Modified: trunk/projects/lisp-ecoop05/src/schedule.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/schedule.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/schedule.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (enable-interpol-syntax)
 
@@ -93,7 +93,7 @@
 		      (print-object-as-html (timeslot-content timeslot))))
 	  (mapc #'emit-template-node children))))))
 
-(in-package :lisp-ecoop05.tags)
+(in-package :lisp-ecoop.tags)
 
 (define-bknr-tag show-day-schedule (&key day children)
-  (lisp-ecoop05::show-day-schedule :day day :children children))
+  (lisp-ecoop::show-day-schedule :day day :children children))
Modified: trunk/projects/lisp-ecoop05/src/tags.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/tags.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/tags.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05.tags)
+(in-package :lisp-ecoop.tags)
 
 (enable-interpol-syntax)
 
@@ -293,7 +293,7 @@
 (define-bknr-tag submission-list (&key participant-only (type "submission"))
   (dolist (submission (sort (copy-list (if participant-only
 					   (participant-submissions *participant*)
-					   (class-instances (intern (string-upcase type) :lisp-ecoop05))))
+					   (class-instances (intern (string-upcase type) :lisp-ecoop))))
 			    #'string-lessp :key #'submission-title))
     (html ((:div :class "submission-line")
 	   (when participant-only
Modified: trunk/projects/lisp-ecoop05/src/webserver.lisp
===================================================================
--- trunk/projects/lisp-ecoop05/src/webserver.lisp	2006-02-10 05:22:28 UTC (rev 1827)
+++ trunk/projects/lisp-ecoop05/src/webserver.lisp	2006-02-11 09:18:16 UTC (rev 1828)
@@ -1,4 +1,4 @@
-(in-package :lisp-ecoop05)
+(in-package :lisp-ecoop)
 
 (enable-interpol-syntax)
 
@@ -6,9 +6,9 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun make-daily-statistics ()
-  (bknr.stats::make-yesterdays-stats :delete-events t :remove-referer-hosts '("lisp-ecoop05.bknr.net")))
+  (bknr.stats::make-yesterdays-stats :delete-events t :remove-referer-hosts '("lisp-ecoop.bknr.net")))
 
-(defun publish-lisp-ecoop05 (&key (port *webserver-port*) (listeners 20))
+(defun publish-lisp-ecoop (&key (port *webserver-port*) (listeners 20))
 
   (unless (bknr.cron:cron-job-with-name "daily webserver statistics")
     (bknr.cron:make-cron-job "daily webserver statistics" 'make-daily-statistics
@@ -21,7 +21,7 @@
 					 :to "/home")
 					("/" template-handler
 					 :destination ,(namestring (merge-pathnames #p"templates/" *website-directory*))
-					 :command-packages ((:lisp-ecoop05 . :lisp-ecoop05.tags)
+					 :command-packages ((:lisp-ecoop . :lisp-ecoop.tags)
 							    (:bknr . :bknr.web)
 							    (:menu . :bknr.site-menu)))
 					("/static" directory-handler
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Author: hhubner
Date: 2006-02-09 23:22:28 -0600 (Thu, 09 Feb 2006)
New Revision: 1827
Modified:
   trunk/bknr/init.lisp
   trunk/bknr/src/utils/crypt-md5.lisp
   trunk/bknr/src/utils/reader.lisp
   trunk/bknr/src/utils/utils.lisp
Log:
Tchadvar Roussanov:
This is a small patch for init.lisp and some fixes to make sbcl compiler
happy with 'defconstant'.
Modified: trunk/bknr/init.lisp
===================================================================
--- trunk/bknr/init.lisp	2006-02-08 06:02:22 UTC (rev 1826)
+++ trunk/bknr/init.lisp	2006-02-10 05:22:28 UTC (rev 1827)
@@ -45,12 +45,14 @@
                           :version :wild)
            (user-homedir-pathname))))))
 
-#-sbcl
 (eval-when (:execute :compile-toplevel :load-toplevel)
-  (load #p"bknr-thirdparty:asdf;asdf"))
+  #-sbcl
+  (load #p"bknr-thirdparty:asdf;asdf")
+  #+sbcl
+  (require :asdf))
 
-(push (translate-logical-pathname #p"bknr:src;") asdf:*central-registry*)
-(push (translate-logical-pathname #p"eboy:src;") asdf:*central-registry*)
+(pushnew (translate-logical-pathname #p"bknr:src;") asdf:*central-registry* :test #'equal)
+(pushnew (translate-logical-pathname #p"eboy:src;") asdf:*central-registry* :test #'equal)
 
 (defparameter *patch-directory* "bknr:patches;")
 
@@ -103,4 +105,4 @@
 (setup-registry)
 (fix-dpd)
 
-(push :cl-gd-gif *features*)
+(pushnew :cl-gd-gif *features*)
Modified: trunk/bknr/src/utils/crypt-md5.lisp
===================================================================
--- trunk/bknr/src/utils/crypt-md5.lisp	2006-02-08 06:02:22 UTC (rev 1826)
+++ trunk/bknr/src/utils/crypt-md5.lisp	2006-02-10 05:22:28 UTC (rev 1827)
@@ -1,6 +1,6 @@
 (in-package :bknr.utils)
 
-(defconstant +itoa64+
+(define-constant +itoa64+
   "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
 
 (defun itoa64 (int num)
@@ -73,4 +73,4 @@
 ;; 2 8 14 (4)
 ;; 3 9 15 (4)
 ;; 4 10 5 (4)
-;; 11     (2)
\ No newline at end of file
+;; 11     (2)
Modified: trunk/bknr/src/utils/reader.lisp
===================================================================
--- trunk/bknr/src/utils/reader.lisp	2006-02-08 06:02:22 UTC (rev 1826)
+++ trunk/bknr/src/utils/reader.lisp	2006-02-10 05:22:28 UTC (rev 1827)
@@ -1,6 +1,6 @@
 (in-package :bknr.utils)
 
-(defconstant +whitespace-chars+
+(define-constant +whitespace-chars+
   '(#\Space #\Newline #\Tab #\Linefeed))
 
 (defun whitespace-char-p (c)
Modified: trunk/bknr/src/utils/utils.lisp
===================================================================
--- trunk/bknr/src/utils/utils.lisp	2006-02-08 06:02:22 UTC (rev 1826)
+++ trunk/bknr/src/utils/utils.lisp	2006-02-10 05:22:28 UTC (rev 1827)
@@ -1,5 +1,9 @@
 (in-package :bknr.utils)
 
+(defmacro define-constant (name value &optional doc)
+  "Macro for use in place of defconstant in order to  make SBCL compiler happy"
+  `(defconstant ,name (if (boundp ',name) (symbol-value ',name) ,value)
+                           ,@(when doc (list doc))))
 ;;; date format
 
 ;; Zeitzone f�r Mail-Zeitstempel
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0