Index: openacs-4/packages/dotkul/lib/generic-page.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotkul/lib/Attic/generic-page.tcl,v
diff -u -r1.1.2.2 -r1.1.2.3
--- openacs-4/packages/dotkul/lib/generic-page.tcl	22 Mar 2004 16:03:37 -0000	1.1.2.2
+++ openacs-4/packages/dotkul/lib/generic-page.tcl	30 Mar 2004 12:08:06 -0000	1.1.2.3
@@ -1,23 +1,29 @@
 set place [parameter::get -parameter PlaceReference]
 
-set master [dotkul::get_metadata [string range $place 0 end-1].master]
+# place is a metadata path: something like /site-map/dashboard/
 
+# Using ns_normalizepath to get rid of the trailing slash:
+set master [dotkul::get_metadata [ns_normalizepath $place].master]
+
 # Find current page
 set url [ad_conn extra_url]
 
 if { [empty_string_p $url] } {
-    # User has specified the place in the URL but not which page-folder in the
-    # place.  We redirect to the default page-folder.  For now we just take the
-    # first one.  After redirect we'll come back here.
+    # We interpret the extra url stub as the page-folder.  As there is no extra
+    # URL we redirect to the default page-folder.  For now we just take the
+    # first (random) one.  After redirect we'll come back here.
+
     ad_returnredirect [lindex [dotkul::get_metadata $place] 0]/
     return
 }
 
-# Add trailing 'index', if necessary
+# Trailing slash in the URL is interpreted as: "Use the default page".  The
+# default page is always called "index":
+
 if { [string match "*/" "/$url"] } {
-    append url "index"
+    set page ${place}${url}index
+} else {
+    set page ${place}${url}
 }
 
-set page $place$url
-
 set title [dotkul::get_metadata $page.title]
Index: openacs-4/packages/dotkul/lib/one-column-layout.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotkul/lib/Attic/one-column-layout.tcl,v
diff -u -r1.1.2.1 -r1.1.2.2
--- openacs-4/packages/dotkul/lib/one-column-layout.tcl	17 Mar 2004 15:35:30 -0000	1.1.2.1
+++ openacs-4/packages/dotkul/lib/one-column-layout.tcl	30 Mar 2004 12:08:06 -0000	1.1.2.2
@@ -4,11 +4,11 @@
 set url [ad_conn extra_url]
 # Add trailing 'index', if necessary
 if { [string match "*/" "/$url"] } {
-    append url "index"
+    set page ${place}${url}index
+} else {
+    set page ${place}${url}
 }
 
-set page $place$url
-
 set title [dotkul::get_metadata $page.title]
 
 # TODO
Index: openacs-4/packages/dotkul/tcl/dotkul-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotkul/tcl/Attic/dotkul-procs.tcl,v
diff -u -r1.1.2.3 -r1.1.2.4
--- openacs-4/packages/dotkul/tcl/dotkul-procs.tcl	23 Mar 2004 17:15:52 -0000	1.1.2.3
+++ openacs-4/packages/dotkul/tcl/dotkul-procs.tcl	30 Mar 2004 12:08:07 -0000	1.1.2.4
@@ -512,6 +512,11 @@
 dotkul::set_metadata /page-elements/blog/package_id.datatype object_id
 dotkul::set_metadata /page-elements/blog/package_id.supertype acs_object
 dotkul::set_metadata /page-elements/blog/package_id.required_p t
+
+dotkul::set_metadata /page-elements/blog/template.type parameter
+dotkul::set_metadata /page-elements/blog/template.datatype ats_template
+dotkul::set_metadata /page-elements/blog/template.required_p f
+
 dotkul::set_metadata /page-elements/blog/max_num_entries.type parameter
 dotkul::set_metadata /page-elements/blog/max_num_entries.datatype integer
 dotkul::set_metadata /page-elements/blog/min_num_entries.type parameter
@@ -596,7 +601,20 @@
 # Blogger pages
 #----------------------------------------------------------------------
 
+# HACK - I did it only so that metadata doesn't depend on database ids
+# In order to use the blogger it has to be installed and one instance of it
+# mounted at /weblogger/ That's the one we'll use.
 
+set blogger_url "/weblogger/"
+set package_key "lars-blogger"
+array set site_node_arr [site_node::get -url $blogger_url]
+set blogger_package_id $site_node_arr(package_id)
+
+if {$site_node_arr(object_type)  != "apm_package" ||
+    $site_node_arr(package_key) != $package_key} {
+      error "Can't find an instance of $package_key mounted at $blogger_url"
+}
+
 dotkul::set_metadata /site-map/dashboard/blog.type page-folder
 dotkul::set_metadata /site-map/dashboard/blog.label "Messages"
 dotkul::set_metadata /site-map/dashboard/blog.navtype main
@@ -608,8 +626,13 @@
 dotkul::set_metadata /site-map/dashboard/blog/index/blog.title "All Messages"
 dotkul::set_metadata /site-map/dashboard/blog/index/blog.page-element /page-elements/blog
 dotkul::set_metadata /site-map/dashboard/blog/index/blog.layout_tag left
+dotkul::set_metadata /site-map/dashboard/blog/index/blog/template.type parameter-value
+
+# This is where you swap the template:
+dotkul::set_metadata /site-map/dashboard/blog/index/blog/template.value /packages/lars-blogger/www/blog
+
 dotkul::set_metadata /site-map/dashboard/blog/index/blog/package_id.type parameter-value 
-dotkul::set_metadata /site-map/dashboard/blog/index/blog/package_id.value 1118
+dotkul::set_metadata /site-map/dashboard/blog/index/blog/package_id.value $blogger_package_id
 dotkul::set_metadata /site-map/dashboard/blog/index/blog/comments_page.type parameter-value
 dotkul::set_metadata /site-map/dashboard/blog/index/blog/comments_page.value /site-map/dashboard/blog/comments
 
@@ -618,7 +641,7 @@
 dotkul::set_metadata /site-map/dashboard/blog/index/calendar.page-element /page-elements/blog-calendar
 dotkul::set_metadata /site-map/dashboard/blog/index/calendar.layout_tag right
 dotkul::set_metadata /site-map/dashboard/blog/index/calendar/package_id.type parameter-value 
-dotkul::set_metadata /site-map/dashboard/blog/index/calendar/package_id.value 1118
+dotkul::set_metadata /site-map/dashboard/blog/index/calendar/package_id.value $blogger_package_id
 
 
 dotkul::set_metadata /site-map/dashboard/blog/comments.type page
@@ -628,4 +651,3 @@
 dotkul::set_metadata /site-map/dashboard/blog/comments/blog-entry.page-element /page-elements/blog-entry
 dotkul::set_metadata /site-map/dashboard/blog/comments/blog-entry/entry_id.type parameter-value
 dotkul::set_metadata /site-map/dashboard/blog/comments/blog-entry/entry_id.source query
-
Index: openacs-4/packages/lars-blogger/www/blog.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/blog.tcl,v
diff -u -r1.21.4.1 -r1.21.4.2
--- openacs-4/packages/lars-blogger/www/blog.tcl	17 Mar 2004 16:50:07 -0000	1.21.4.1
+++ openacs-4/packages/lars-blogger/www/blog.tcl	30 Mar 2004 12:08:08 -0000	1.21.4.2
@@ -13,7 +13,8 @@
     min_num_entries:optional
     num_days:optional
     max_content_length:integer,optional
-    comments_page
+    comments_page:optional
+    template:optional
 }
 
 
@@ -238,3 +239,8 @@
 
 set rss_file_url [lars_blogger::get_rss_file_url -package_id $package_id]
 
+if {[exists_and_not_null template]} {
+  ad_return_template $template
+} else {
+  ad_return_template
+}
Index: openacs-4/packages/lars-blogger/www/entry-chunk.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/entry-chunk.tcl,v
diff -u -r1.19 -r1.19.4.1
--- openacs-4/packages/lars-blogger/www/entry-chunk.tcl	27 Feb 2004 18:48:55 -0000	1.19
+++ openacs-4/packages/lars-blogger/www/entry-chunk.tcl	30 Mar 2004 12:08:08 -0000	1.19.4.1
@@ -85,3 +85,9 @@
 set blog(posted_time_pretty) [util::age_pretty \
                                  -timestamp_ansi $blog(entry_date_ansi) \
                                  -sysdate_ansi $blog(sysdate_ansi)]
+
+if {[exists_and_not_null template]} {
+  ad_return_template $template
+} else {
+  ad_return_template
+}