Index: openacs-4/packages/lars-blogger/www/headerstuff.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/headerstuff.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/www/headerstuff.adp	8 Dec 2003 05:29:07 -0000	1.1
@@ -0,0 +1,9 @@
+<if @rss_file_url@ ne "">
+    <link rel="alternate" type="application/rss+xml" title="RSS" href="@rss_file_url@" />
+</if>
+
+<if @rsd_url@ ne "">
+    <link rel="EditURI" type="application/rsd+xml" title="RSD" href="@rsd_url@" />
+</if>
+
+<link rel="stylesheet" type="text/css" href="@stylesheet_url@" />
Index: openacs-4/packages/lars-blogger/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/index.adp,v
diff -u -r1.20 -r1.21
--- openacs-4/packages/lars-blogger/www/index.adp	16 Oct 2003 23:10:45 -0000	1.20
+++ openacs-4/packages/lars-blogger/www/index.adp	8 Dec 2003 05:29:07 -0000	1.21
@@ -1,16 +1,6 @@
 <master>
 <property name="title">@page_title@</property>
-<if @rss_file_url@ not nil>
-  <property name="header_stuff">
-     <link rel="alternate" type="application/rss+xml" title="RSS" href="@rss_file_url@" />
-     <link rel="stylesheet" type="text/css" href="@stylesheet_url@" />
-  </property>
-</if>
-<else>
-  <property name="header_stuff">
-     <link rel="stylesheet" type="text/css" href="@stylesheet_url@" />
-  </property>
-</else>
+<property name="header_stuff">@headerstuff;noquote@</property>
 <property name="context">@context;noquote@</property>
 
 <div class="lars_blogger_body">
Index: openacs-4/packages/lars-blogger/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/index.tcl,v
diff -u -r1.16 -r1.17
--- openacs-4/packages/lars-blogger/www/index.tcl	17 Nov 2003 13:58:51 -0000	1.16
+++ openacs-4/packages/lars-blogger/www/index.tcl	8 Dec 2003 05:29:07 -0000	1.17
@@ -19,7 +19,7 @@
 set package_url_with_extras $package_url
 
 set context [list]
-set context_base_url [ad_conn package_url]
+set context_base_url $package_url
 
 if { ![empty_string_p $screen_name] } {
     # Show Screen Name in context bar
@@ -41,17 +41,35 @@
     set category_id ""
 }
 
+# Set up the <link> elements for the HTML <head>
+# 3 items - RSS, RSD and stylesheet.
+set rss_file_url ""
 if { ![empty_string_p [parameter::get -parameter "rss_file_name"]] } {
-
     if {[exists_and_not_null screen_name]} {
-        set rss_file_url "[ad_conn package_url]user/$screen_name/rss/[parameter::get -parameter "rss_file_name"]"
+        set rss_file_url "${package_url}user/$screen_name/rss/[parameter::get -parameter "rss_file_name"]"
     } else {
-        set rss_file_url "[ad_conn package_url]rss/[parameter::get -parameter "rss_file_name"]"
+        set rss_file_url "${package_url}rss/[parameter::get -parameter "rss_file_name"]"
     }
-
 }
 
+# is XML-RPC installed and enabled?
+set rsd_url ""
+if { [xmlrpc::enabled_p] } {
+    set rsd_url "[ad_url]${package_url}rsd/"
+} 
 
+set stylesheet_url [lars_blog_stylesheet_url]
+
+# since ADP commands can't be evaluated in the <property> tags, we
+# create a separate ADP file for headerstuff. See Bart's post
+# http://openacs.org/forums/message-view?message_id=149849
+set cwd [file dirname [ad_conn file]]
+set headerstuff [template::adp_parse ${cwd}/headerstuff \
+                     [list \
+                          rss_file_url $rss_file_url \
+                          rsd_url $rsd_url \
+                          stylesheet_url $stylesheet_url]]
+
 set create_p [permission::permission_p -object_id $package_id -privilege read]
 set admin_p [permission::permission_p -object_id $package_id -privilege admin]
 
@@ -137,6 +155,3 @@
 if { [llength $context] > 0 } {
     set context [lreplace $context end end [lindex [lindex $context end] end]]
 }
-
-set stylesheet_url [lars_blog_stylesheet_url]
-
Index: openacs-4/packages/lars-blogger/www/rsd/index.vuh
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/lars-blogger/www/rsd/index.vuh,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/lars-blogger/www/rsd/index.vuh	8 Dec 2003 05:29:07 -0000	1.1
@@ -0,0 +1,21 @@
+set package_id [ad_conn package_id]
+set base_url [ad_url]
+
+set blog_url ${base_url}[lars_blog_public_package_url]
+set xmlrpc_url ${base_url}[xmlrpc::url]
+
+set xml "<?xml version=\"1.0\"?> 
+<rsd version=\"1.0\" xmlns=\"http://archipelago.phrasewise.com/rsd\">
+  <service>
+    <engineName>OpenACS 5.0</engineName> 
+    <engineLink>http://openacs.org/</engineLink>
+    <homePageLink>${blog_url}</homePageLink>
+    <apis>
+      <api name=\"MetaWeblog\" preferred=\"true\" apiLink=\"${xmlrpc_url}\" blogID=\"$package_id\" />
+      <api name=\"Blogger\" preferred=\"false\" apiLink=\"${xmlrpc_url}\" blogID=\"$package_id\" />
+    </apis>
+  </service>
+</rsd>
+"
+
+ns_return 200 text/xml $xml