Index: openacs-4/packages/xowiki-portlet/COPYRIGHT
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/COPYRIGHT,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/xowiki-portlet/COPYRIGHT	27 Feb 2008 09:21:59 -0000	1.1
@@ -0,0 +1,23 @@
+ *  xowiki-portlet
+ *
+ *  Copyright (C) 2005-2008 Gustaf Neumann, neumann@wu-wien.ac.at
+ *
+ *  Vienna University of Economics and Business Administration
+ *     Institute of Information Systems and New Media
+ *     A-1090, Augasse 2-6
+ *     Vienna, Austria
+ *
+ *  This is a BSD-Style license applicable for the files in this
+ * directory and below, except when stated explicitly different.
+ *
+ *  Permission to use, copy, modify, distribute, and sell this
+ *  software and its documentation for any purpose is hereby granted
+ *  without fee, provided that the above copyright notice appear in
+ *  all copies and that both that copyright notice and this permission
+ *  notice appear in supporting documentation. We make no
+ *  representations about the suitability of this software for any
+ *  purpose.  It is provided "as is" without express or implied
+ *  warranty.
+ *
+
+
Index: openacs-4/packages/xowiki-portlet/xowiki-portlet.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/xowiki-portlet.info,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/xowiki-portlet.info	31 Jan 2007 10:52:47 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/xowiki-portlet.info	27 Feb 2008 09:21:59 -0000	1.2
@@ -7,19 +7,22 @@
     <initial-install-p>f</initial-install-p>
     <singleton-p>t</singleton-p>
     
-    <version name="1.0.2" url="http://openacs.org/repository/download/apm/xowiki-portlet-1.0.2.apm">
-        <owner url="http://www.km.co.at">Michael Totschnig</owner>
-        <owner>Gustaf Neumann</owner>
-        <release-date>2007-01-28</release-date>
+    <version name="2.0" url="http://openacs.org/repository/download/apm/xowiki-portlet-2.0.apm">
+        <owner url="http://www.km.co.at">Gustaf Neumann</owner>
+        <owner>Michael Totschnig</owner>
+        <release-date>2008-02-27</release-date>
         <vendor url="http://openacs.org">OpenACS</vendor>
+        <license>BSD-Style</license>
         <maturity>0</maturity>
 
-        <provides url="xowiki-portlet" version="1.0.2"/>
+        <provides url="xowiki-portlet" version="2.0"/>
         <requires url="dotlrn" version="1.0d1"/>
         <requires url="new-portal" version="0.2d1"/>
-        <requires url="xowiki" version="0.44"/>
+        <requires url="xowiki" version="0.81"/>
 
         <callbacks>
+            <callback type="after-install"  proc="::xowiki_portlet::after-install"/>
+            <callback type="before-uninstall"  proc="::xowiki_portlet::before-uninstall"/>
         </callbacks>
         <parameters>
             <parameter datatype="string"  min_n_values="1"  max_n_values="1"  name="xowiki_admin_portlet_element_pretty_name"  default="#xowiki-portlet.admin_portlet_element_pretty_name#" description="the name in the UI for xowiki element"/>
Index: openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml	31 Jan 2007 10:52:47 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml	27 Feb 2008 09:22:00 -0000	1.2
@@ -1,9 +1,14 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<message_catalog package_key="xowiki-portlet" package_version="1.0.1" locale="de_DE" charset="ISO-8859-1">
+<message_catalog package_key="xowiki-portlet" package_version="2.0" locale="de_DE" charset="ISO-8859-1">
 
   <msg key="admin_portlet_element_pretty_name">Xowiki Portlet</msg>
   <msg key="admin_portlet_pretty_name">Xowiki Portlets verwalten</msg>
-  <msg key="new_xowiki_admin_portlet">Neues %element_pretty_name%</msg>
+  <msg key="all-pages-used">Alle Wiki-Seiten bereits als Portlets in Verwendung</msg>
+  <msg key="community-wiki">Gruppen-Wiki
+</msg>
+  <msg key="manage-pages">Zum</msg>
   <msg key="Name">Name</msg>
   <msg key="New">Neu</msg>
+  <msg key="new_xowiki_admin_portlet">Neue Seite hinzuf�gen</msg>
+  <msg key="remove-portlet">Entferne Portlet</msg>
 </message_catalog>
Index: openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml	31 Jan 2007 10:52:47 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml	27 Feb 2008 09:22:00 -0000	1.2
@@ -1,9 +1,14 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<message_catalog package_key="xowiki-portlet" package_version="1.0.1" locale="en_US" charset="ISO-8859-1">
+<message_catalog package_key="xowiki-portlet" package_version="2.0" locale="en_US" charset="ISO-8859-1">
 
   <msg key="admin_portlet_element_pretty_name">Xowiki Portlet</msg>
   <msg key="admin_portlet_pretty_name">Xowiki Portlet Administration</msg>
-  <msg key="new_xowiki_admin_portlet">New %element_pretty_name%</msg>
+  <msg key="all-pages-used">All pages are used, no unused pages available</msg>
+  <msg key="community-wiki">Community Wiki
+</msg>
+  <msg key="manage-pages">Manage Pages of</msg>
   <msg key="Name">Name</msg>
   <msg key="New">New</msg>
+  <msg key="new_xowiki_admin_portlet">New %element_pretty_name%</msg>
+  <msg key="remove-portlet">Remove Portlet</msg>
 </message_catalog>
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin-drop.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-create.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-drop.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet-drop.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet.sql'.
Fisheye: No comparison available.  Pass `N' to diff?
Index: openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl	31 Jan 2007 10:52:48 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl	27 Feb 2008 09:22:00 -0000	1.2
@@ -1,85 +1,198 @@
+ad_library {
+  Procedures to supports xowiki admin portlets.
+  
+  @creation-date 2008-02-26
+  @author Gustaf Neumann
+  @cvs-id $Id$
+}
+
 #
-#  Copyright (C) 2001, 2002 MIT
+# This is the first approach to make the portlet-procs 
 #
-#  This file is part of dotLRN.
+#  (a) in an oo-style (the object below contains everything 
+#      for the management of the portlet) and
+#  (b) independent from the database layer 
+#      (supposed to work under postgres and Oracle)
 #
-#  dotLRN is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or (at your option) any later
-#  version.
+# In the next steps, it would make sense to define a ::dotlrn::Portlet
+# class, which provides some of the the common behaviour defined here...
 #
-#  dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-#  details.
-#
-ad_library {
+Object xowiki_admin_portlet
+xowiki_admin_portlet proc name {} {
+  return "xowiki-admin-portlet"
+}
 
-    Procedures to support the xowiki ADMIN portlet
+xowiki_admin_portlet proc pretty_name {} {
+  return [parameter::get_from_package_key \
+              -package_key [my package_key] \
+              -parameter xowiki_admin_portlet_pretty_name]
+}
 
-    @author arjun@openforce.net
-    @cvs-id $Id$
+xowiki_admin_portlet proc package_key {} {
+  return "xowiki-portlet"
 }
 
-namespace eval xowiki_admin_portlet {
+xowiki_admin_portlet proc link {} {
+  return ""
+}
 
-    ad_proc -private get_my_name {
-    } {
-	return "xowiki_admin_portlet"
-    }
+xowiki_admin_portlet ad_proc add_self_to_page {
+  {-portal_id:required}
+  {-package_id:required}
+} {
+  Adds a xowiki admin PE to the given portal
+} {
+  return [portal::add_element_parameters \
+              -portal_id $portal_id \
+              -portlet_name [my name] \
+              -key package_id \
+              -value $package_id \
+             ]
+  ns_log notice "end of add_self_to_page"
+}
 
-    ad_proc -public get_pretty_name {
-    } {
-        return [parameter::get_from_package_key \
-		    -package_key [my_package_key] \
-		    -parameter xowiki_admin_portlet_pretty_name]
-    }
+xowiki_admin_portlet ad_proc remove_self_from_page {
+  {-portal_id:required}
+} {
+  Removes xowiki admin PE from the given page
+} {
+  # This is easy since there's one and only one instace_id
+  portal::remove_element \
+      -portal_id $portal_id \
+      -portlet_name [my name]
+}
 
-    ad_proc -private my_package_key {
-    } {
-        return "xowiki-portlet"
-    }
+xowiki_admin_portlet ad_proc show {
+  cf
+} {
+  Display the xowiki admin PE
+} {
+  portal::show_proc_helper \
+      -package_key [my package_key] \
+      -config_list $cf \
+      -template_src "xowiki-admin-portlet"
+}
 
-    ad_proc -public link {
-    } {
-	return ""
-    }
+xowiki_admin_portlet proc install {} {
+  my log "--portlet calling [self proc]"
+  set name [my name]
+  db_transaction {
 
-    ad_proc -public add_self_to_page {
-	{-portal_id:required}
-	{-package_id:required}
+    #
+    # create the datasource
+    #
+    set ds_id [::xo::db::sql::portal_datasource new -name $name \
+                   -css_dir "" \
+                   -description "Displays the admin interface for the xowiki data portlets"]
+    
+    # default configuration
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "shadeable_p" -value f
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "shaded_p" -value f
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "hideable_p" -value t
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "user_editable_p" -value f
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "link_hideable_p" -value t
+    
+    # xowiki-admin-specific procs
+    
+    # package_id must be configured
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p f \
+        -key "package_id" -value ""
+    
+    
+    #
+    # service contract managemet
+    #
+    # create the implementation
+    ::xo::db::sql::acs_sc_impl new \
+        -impl_contract_name "portal_datasource" -impl_name $name \
+        -impl_pretty_name "" -impl_owner_name $name
+    
+    # add the operations
+    foreach {operation call} {
+      GetMyName     	"xowiki_admin_portlet name"
+      GetPrettyName 	"xowiki_admin_portlet pretty_name"
+      Link          	"xowiki_admin_portlet link"
+      AddSelfToPage 	"xowiki_admin_portlet add_self_to_page"
+      Show          	"xowiki_admin_portlet show"
+      Edit          	"xowiki_admin_portlet edit"
+      RemoveSelfFromPage	"xowiki_admin_portlet remove_self_from_page"
     } {
-	Adds a xowiki admin PE to the given portal
-    } {
-        return [portal::add_element_parameters \
-            -portal_id $portal_id \
-            -portlet_name [get_my_name] \
-            -key package_id \
-            -value $package_id
-        ]
-	ns_log notice "end of add_self_to_page"
+      ::xo::db::sql::acs_sc_impl_alias new \
+          -impl_contract_name "portal_datasource" -impl_name $name  \
+          -impl_operation_name $operation -impl_alias $call \
+          -impl_pl "TCL"
     }
+    
+    # Add the binding
+    ::xo::db::sql::acs_sc_binding new \
+        -contract_name "portal_datasource" -impl_name $name
+  }
+  my log "--portlet end of [self proc]"
+}
 
-    ad_proc -public remove_self_from_page {
-	{-portal_id:required}
-    } {
-	Removes xowiki PE from the given page
-    } {
-        # This is easy since there's one and only one instace_id
-        portal::remove_element \
-            -portal_id $portal_id \
-            -portlet_name [get_my_name]
-    }
+xowiki_admin_portlet proc uninstall {} {
+  my log "--portlet calling [self proc]"
+  #
+  # completely identical to "xowiki_portlet uninstall"
+  #
+  set name [my name]
+  db_transaction {
 
-    ad_proc -public show {
-	cf
+    # 
+    # get the datasource
+    #
+    set ds_id [db_string dbqd..get_ds_id {
+      select datasource_id from portal_datasources where name = :name
+    } -default "0"]
+    
+    if {$ds_id == 0} {
+      error "No datasource id found for $name"
+    }
+    #
+    # drop the datasource
+    #
+    ::xo::db::sql::portal_datasource delete -datasource_id $ds_id
+    #
+    #  drop the operation
+    #
+    foreach operation {
+      GetMyName GetPrettyName Link AddSelfToPage 
+      Show Edit RemoveSelfFromPage
     } {
-	Display the PE
-    } {
-        portal::show_proc_helper \
-            -package_key [my_package_key] \
-            -config_list $cf \
-            -template_src "xowiki-admin-portlet"
+      ::xo::db::sql::acs_sc_impl_alias delete \
+          -impl_contract_name "portal_datasource" -impl_name $name \
+          -impl_operation_name $operation
     }
-
+    #
+    #  drop the binding
+    #
+    ::xo::db::sql::acs_sc_binding delete \
+        -contract_name "portal_datasource" -impl_name $name
+    #
+    #  drop the implementation
+    #
+    ::xo::db::sql::acs_sc_impl delete \
+        -impl_contract_name "portal_datasource" -impl_name $name 
+  }  
+  my log "--portlet end of [self proc]"
 }
+  
+
+
+
Index: openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl	31 Jan 2007 10:52:48 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl	27 Feb 2008 09:22:00 -0000	1.2
@@ -1,73 +1,201 @@
+ad_library {
+  Procedures to supports xowiki portlets.
+  
+  @creation-date 2008-02-26
+  @author Gustaf Neumann
+  @cvs-id $Id$
+}
+
 #
-#  Copyright (C) 2001, 2002 MIT
+# This is the first approach to make the portlet-procs 
 #
-#  This file is part of dotLRN.
+#  (a) in an oo-style (the object below contains everything 
+#      for the management of the portlet) and
+#  (b) independent from the database layer 
+#      (supposed to work under postgres and Oracle)
 #
-#  dotLRN is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or (at your option) any later
-#  version.
+# In the next steps, it would make sense to define a ::dotlrn::Portlet
+# class, which provides some of the common behaviour defined here...
 #
-#  dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-#  details.
-#
 
-ad_library {
+Object xowiki_portlet
+xowiki_portlet proc name {} {
+  return "xowiki-portlet"
+}
 
-    Procedures to supports xowiki portlets.
+xowiki_portlet proc pretty_name {} {
+  return ""
 }
 
-namespace eval xowiki_portlet {
+xowiki_portlet proc package_key {} {
+  return "xowiki-portlet"
+}
 
-    ad_proc -private get_my_name {
-    } {
-	return "xowiki_portlet"
-    }
+xowiki_portlet proc link {} {
+  return ""
+}
 
-    ad_proc -public get_pretty_name {
-    } {
-	return ""
-    }
+xowiki_portlet ad_proc add_self_to_page {
+  {-portal_id:required}
+  {-package_id:required}
+} {
+  Adds a PE to the given page
+} {
+  ns_log notice "xowiki_portlet::add_self_to_page - Don't call me. "
+  error "don't call me"
+}
 
-    ad_proc -private my_package_key {
-    } {
-        return "xowiki-portlet"
-    }
+xowiki_portlet ad_proc remove_self_from_page {
+  portal_id
+  element_id
+} {
+  Removes PE from the given page
+} {
+  # This is easy since there's one and only one instace_id
+  portal::remove_element $element_id
+}
 
-    ad_proc -public link {
-    } {
-	return ""
-    }
+xowiki_portlet ad_proc show {cf} {
+} {
+  portal::show_proc_helper \
+      -package_key [my package_key] \
+      -config_list $cf \
+      -template_src "xowiki-portlet"
+}
 
-    ad_proc -public add_self_to_page {
-	{-portal_id:required}
-	{-package_id:required}
+#
+# install
+#
+xowiki_portlet proc install {} {
+  my log "--portlet calling [self proc]"
+  set name [my name]
+  #
+  # create the datasource
+  #
+  db_transaction {
+    set ds_id [::xo::db::sql::portal_datasource new -name $name \
+                   -css_dir "" \
+                   -description "Displays an xowiki page as a portlet"]
+    
+    # default configuration
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "shadeable_p" -value t
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "shaded_p" -value f
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "hideable_p" -value t
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "user_editable_p" -value f
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p t \
+        -key "link_hideable_p" -value t
+    
+    # xowiki-specific configuration
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+        -config_required_p t -configured_p f \
+        -key "package_id" -value ""
+    
+    ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \
+      -config_required_p t -configured_p f \
+	-key "page_name" -value ""
+    
+    #
+    # service contract managemet
+    #
+    # create the implementation
+    ::xo::db::sql::acs_sc_impl new \
+        -impl_contract_name "portal_datasource" -impl_name $name \
+        -impl_pretty_name "" -impl_owner_name $name
+    
+    # add the operations
+    foreach {operation call} {
+      GetMyName     	"xowiki_portlet name"
+      GetPrettyName 	"xowiki_portlet pretty_name"
+      Link          	"xowiki_portlet link"
+      AddSelfToPage 	"xowiki_portlet add_self_to_page"
+      Show          	"xowiki_portlet show"
+      Edit          	"xowiki_portlet edit"
+      RemoveSelfFromPage	"xowiki_portlet remove_self_from_page"
     } {
-	Adds a static PE to the given page
-    } {
-        ns_log notice "xowiki_portlet::add_self_to_page - Don't call me. Use static_portal_content:: instead"
-        error
+      ::xo::db::sql::acs_sc_impl_alias new \
+          -impl_contract_name "portal_datasource" -impl_name $name  \
+          -impl_operation_name $operation -impl_alias $call \
+          -impl_pl "TCL"
     }
+    
+    # Add the binding
+    ::xo::db::sql::acs_sc_binding new \
+        -contract_name "portal_datasource" -impl_name $name
+  }
+  my log "--portlet end of [self proc]"
+}
 
-    ad_proc -public remove_self_from_page {
-	portal_id
-	element_id
-    } {
-	Removes static PE from the given page
-    } {
-        # This is easy since there's one and only one instace_id
-        portal::remove_element $element_id
-    }
+#
+# uninstall
+#
 
-    ad_proc -public show {
-	cf
+xowiki_portlet proc uninstall {} {
+  my log "--portlet calling [self proc]"
+  #
+  # completely identical to "xowiki_admin_portlet uninstall"
+  #
+  set name [my name]
+
+  db_transaction {
+    # 
+    # get the datasource
+    #
+    set ds_id [db_string dbqd..get_ds_id {
+      select datasource_id from portal_datasources where name = :name
+    } -default "0"]
+    
+    if {$ds_id == 0} {
+      error "No datasource id found for $name"
+    }
+    #
+    # drop the datasource
+    #
+    ::xo::db::sql::portal_datasource delete -datasource_id $ds_id
+    #
+    #  drop the operation
+    #
+    foreach operation {
+      GetMyName GetPrettyName Link AddSelfToPage 
+      Show Edit RemoveSelfFromPage
     } {
-    } {
-        portal::show_proc_helper \
-            -package_key [my_package_key] \
-            -config_list $cf \
-            -template_src "xowiki-portlet"
+      ::xo::db::sql::acs_sc_impl_alias delete \
+          -impl_contract_name "portal_datasource" -impl_name $name \
+          -impl_operation_name $operation
     }
+    #
+    #  drop the binding
+    #
+    ::xo::db::sql::acs_sc_binding delete \
+        -contract_name "portal_datasource" -impl_name $name
+    #
+    #  drop the implementation
+    #
+    ::xo::db::sql::acs_sc_impl delete \
+        -impl_contract_name "portal_datasource" -impl_name $name 
+  }
+  my log "--portlet end of [self proc]"
 }
+
+::xowiki_portlet proc after-install {} {
+  ::xowiki_portlet install
+  ::xowiki_admin_portlet install
+}
+
+::xowiki_portlet proc before-uninstall {} {
+  ::xowiki_portlet uninstall
+  ::xowiki_admin_portlet uninstall
+}
\ No newline at end of file
Index: openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp	31 Jan 2007 10:52:48 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp	27 Feb 2008 09:22:00 -0000	1.2
@@ -1,13 +1,13 @@
 
-Manage Pages of <a href='@applet_url@'>XoWiki</a>
+#xowiki-portlet.manage-pages# <a href='@applet_url@'>#xowiki-portlet.community-wiki#</a>
 <if @package_id@ eq "">
   <small>No community specified</small>
 </if>
 <else>
 <ul>
 <multiple name="content">
   <li>
-    @content.pretty_name@<small> <a class="button" href="@applet_url@admin/portal-element-remove?element_id=@content.element_id@&referer=@referer@&portal_id=@template_portal_id@">#acs-subsite.Delete#</a></small>
+    @content.pretty_name@<small> <a class="button" href="@applet_url@admin/portal-element-remove?element_id=@content.element_id@&referer=@referer@&portal_id=@template_portal_id@">#xowiki-portlet.remove-portlet#</a></small>
   </li>
 </multiple>
 </ul>
Index: openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl	9 Aug 2007 15:44:01 -0000	1.2
+++ openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl	27 Feb 2008 09:22:00 -0000	1.3
@@ -38,12 +38,12 @@
 	  from portal_element_map m, portal_pages p, portal_element_parameters pep
           where m.page_id = p.page_id 
           and p.portal_id = $template_portal_id 
-          and m.datasource_id = [portal::get_datasource_id [xowiki_portlet::get_my_name]]
+          and m.datasource_id = [portal::get_datasource_id [xowiki_portlet name]]
           and pep.element_id = m.element_id and pep.key = 'page_name'" {}
-  
+
   # don't ask to insert same page twice
   template::multirow foreach content {set used_page_id($name) 1}
-
+  
   array set config $cf
   set options ""
   ::xowiki::Package initialize -package_id $config(package_id)
@@ -52,7 +52,7 @@
 	   -folder_id [::$package_id folder_id] \
 	   -with_subtypes true \
 	   -from_clause ", xowiki_page P" \
-	   -where_clause "P.page_id = cr.revision_id" \
+	   -where_clause "P.page_id = bt.revision_id" \
 	   -orderby "ci.name" \
 	  ] {
 	    if {[regexp {^::[0-9]} $name]} continue
@@ -65,14 +65,14 @@
       <form name="new_xowiki_element" method="post" action="[$package_id package_url]admin/portal-element-add">
       <input type="hidden" name="portal_id" value="$template_portal_id">
       <input type="hidden" name="referer" value="$referer">
-      Add #xowiki-portlet.new_xowiki_admin_portlet# <select name="page_name" id="new_xowiki_element_page_id">
+      #xowiki-portlet.new_xowiki_admin_portlet# <select name="page_name" id="new_xowiki_element_page_id">
       $options
       </select>
       <input type="submit" name="formbutton:ok" value="       OK       " id="new_xowiki_element_formbutton:ok" />
       </form>
     }]
   } else {
-    set form "All pages already used"
+    set form "#xowiki-portlet.all-pages-used#"
   }
   
   set applet_url [$package_id package_url]
Index: openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp	31 Jan 2007 10:52:48 -0000	1.1
+++ openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp	27 Feb 2008 09:22:00 -0000	1.2
@@ -1 +1,2 @@
 <include src="/packages/xowiki/lib/view" url="@url@" template_file="view-links">
+