Index: openacs-4/packages/acs-tcl/tcl/apm-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.tcl,v
diff -u -r1.56 -r1.57
--- openacs-4/packages/acs-tcl/tcl/apm-procs.tcl	30 Sep 2003 12:10:03 -0000	1.56
+++ openacs-4/packages/acs-tcl/tcl/apm-procs.tcl	3 Oct 2003 10:13:43 -0000	1.57
@@ -903,6 +903,30 @@
     }
 }
 
+ad_proc -public apm_version_get { 
+    {-version_id ""}
+    {-package_key ""}
+    {-array:required}
+} {
+    Gets information about a package version. TODO: Cache this proc, put it in
+    a namespace and make sure it's used everywhere.
+
+    @param version_id The id of the package version to get info for
+    @param package_key Can be specified instead of version_id in which case
+                       the live version of the package will be used.
+    @param array      The name of the array variable to upvar the info to
+
+    @author Peter Marklund
+} {
+    upvar $array row
+
+    if { ![empty_string_p $package_key] } {
+        set version_id [apm_version_id_from_package_key $package_key]
+    }
+
+    db_1row select_version_info {} -column_array row
+}
+
 #
 # package_id -> package_key
 #
Index: openacs-4/packages/acs-tcl/tcl/apm-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.xql,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-tcl/tcl/apm-procs.xql	24 Sep 2003 17:51:24 -0000	1.14
+++ openacs-4/packages/acs-tcl/tcl/apm-procs.xql	3 Oct 2003 10:13:43 -0000	1.15
@@ -174,4 +174,34 @@
     </querytext>
   </fullquery>  
 
+  <fullquery name="apm_version_get.select_version_info">      
+    <querytext>
+        select version_id,
+               package_key,
+               version_name,
+               version_uri,
+               summary,
+               description_format,
+               description,
+               to_char(release_date, 'YYYY-MM-DD') as release_date,
+               vendor,
+               vendor_uri,
+               enabled_p,
+               installed_p,
+               tagged_p,
+               imported_p,
+               data_model_loaded_p,
+               cvs_import_results,
+               activation_date,
+               deactivation_date,
+               item_id,
+               content_length,
+               distribution_uri,
+               distribution_date,
+               auto_mount
+        from apm_package_versions
+        where version_id = :version_id
+    </querytext>
+  </fullquery>  
+
 </queryset>
Index: openacs-4/packages/acs-tcl/tcl/defs-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/defs-procs.tcl,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-tcl/tcl/defs-procs.tcl	2 Oct 2003 07:05:57 -0000	1.36
+++ openacs-4/packages/acs-tcl/tcl/defs-procs.tcl	3 Oct 2003 10:13:43 -0000	1.37
@@ -9,37 +9,25 @@
 }
 
 ad_proc -public ad_acs_version {} {
-    The OpenACS version of this instance.
+    The OpenACS version of this instance. Uses the version name
+    of the acs-kernel package.
 
-    @return version string (major.minor.release)
+    @author Peter Marklund
 } {
-    set release_tag {}
-    regexp "acs-(\[0-9\]+)-(\[0-9\]+)-(\[0-9\]+)" \
-          $release_tag match major minor release
+    apm_version_get -package_key acs-kernel -array kernel
 
-    if {[info exists major] && [info exists minor] && [info exists release]} {
-      return "$major.$minor.$release"
-    } else {
-      return "development"
-    }
+    return $kernel(version_name)
 }
 
 ad_proc -public ad_acs_release_date {} {
-    The OpenACS release date of this instance.
+    The OpenACS release date of this instance. Uses the release date
+    of the acs-kernel package.
 
-    @return pretty version of the release date
+    @author Peter Marklund
 } {
-    set release_tag {}
-    regexp "R(\[0-9\]+)" $release_tag match release_date
+    apm_version_get -package_key acs-kernel -array kernel
 
-    if {[info exists release_date]} {
-      set year  [string range $release_date 0 3]
-      set month [string range $release_date 4 5]
-      set day   [string range $release_date 6 7]
-      return [lc_time_fmt "$year-$month-$day" "%q"]
-    } else {
-      return "not released"
-    }
+    return $kernel(release_date)
 }
 
 ad_proc -public ad_host_administrator {} {