Index: openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-create.sql,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-create.sql	14 Nov 2001 21:59:53 -0000	1.5
+++ openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-create.sql	17 Nov 2001 21:36:43 -0000	1.6
@@ -1,15 +1,13 @@
 --
 -- /fs-portlet/sql/oracle/fs-portlet-create.sql
 --
-
 -- Creates fs portlet
-
 -- Copyright (C) 2001 OpenForce, Inc.
 -- @author Arjun Sanyal (arjun@openforce.net)
 -- @creation-date 2001-30-09
-
+--
 -- $Id$
-
+--
 -- This is free software distributed under the terms of the GNU Public
 -- License version 2 or higher.  Full text of the license is available
 -- from the GNU Project: http://www.fsf.org/copyleft/gpl.html
@@ -19,12 +17,51 @@
 begin
   ds_id := portal_datasource.new(
     name             => 'fs-portlet',
-    link             => 'file-storage',
-    description      => 'Displays the given folder_id ',
-    content	     => 'fs_portlet::show',
-    configurable_p   => 't'
+    description      => 'Displays the given folder_id'
   );
 
+  --  the standard 4 params
+
+  -- shadeable_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'shadeable_p',
+	value => 't'
+);	
+
+
+  -- hideable_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'hideable_p',
+	value => 't'
+);	
+
+  -- user_editable_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'user_editable_p',
+	value => 'f'
+);	
+
+  -- shaded_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'shaded_p',
+	value => 'f'
+);	
+
+
+  -- fs-specific params
+
   -- community_id must be configured
   portal_datasource.set_def_param (
 	datasource_id => ds_id,
@@ -43,16 +80,113 @@
 	value => ''
 );	
 
-  -- shaded_p 
-  portal_datasource.set_def_param (
-	datasource_id => ds_id,
-	config_required_p => 't',
-	configured_p => 't',
-	key => 'shaded_p',
-	value => 'f'
-);	  
 
 end;
 /
 show errors
 
+declare
+	foo integer;
+begin
+	-- create the implementation
+	foo := acs_sc_impl.new (
+		'portal_datasource',
+		'fs_portlet',
+		'fs_portlet'
+	);
+
+end;
+/
+show errors
+
+declare
+	foo integer;
+begin
+	-- add all the hooks
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'MyName',
+	       'fs_portlet::my_name',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'GetPrettyName',
+	       'fs_portlet::get_pretty_name',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'Link',
+	       'fs_portlet::link',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'AddSelfToPage',
+	       'fs_portlet::add_self_to_page',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'Show',
+	       'fs_portlet::show',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'Edit',
+	       'fs_portlet::edit',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'RemoveSelfFromPage',
+	       'fs_portlet::remove_self_from_page',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'MakeSelfAvailable',
+	       'fs_portlet::make_self_available',
+	       'TCL'
+	);
+
+	foo := acs_sc_impl.new_alias (
+	       'portal_datasource',
+	       'fs_portlet',
+	       'MakeSelfUnavailable',
+	       'fs_portlet::make_self_unavailable',
+	       'TCL'
+	);
+end;
+/
+show errors
+
+declare
+	foo integer;
+begin
+	-- Add the binding
+	acs_sc_binding.new (
+	    contract_name => 'portal_datasource',
+	    impl_name => 'fs_portlet'
+	);
+end;
+/
+show errors
+
Index: openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-drop.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-drop.sql	9 Oct 2001 00:40:21 -0000	1.1
+++ openacs-4/packages/fs-portlet/sql/oracle/fs-portlet-drop.sql	17 Nov 2001 21:37:58 -0000	1.2
@@ -34,3 +34,78 @@
 /
 show errors;
 
+declare
+	foo integer;
+begin
+
+	-- drop the hooks
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'MyName'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'GetPrettyName'
+	);
+
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'Link'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'AddSelfToPage'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'Show'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'Edit'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'RemoveSelfFromPage'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'MakeSelfAvailable'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'fs-portlet',
+	       'MakeSelfUnavailable'
+	);
+
+	-- Drop the binding
+	acs_sc_binding.delete (
+	    contract_name => 'portal_datasource',
+	    impl_name => 'fs-portlet'
+	);
+
+	-- drop the impl
+	foo := acs_sc_impl.delete (
+		'portal_datasource',
+		'fs-portlet'
+	);
+end;
+/
+show errors
+
Index: openacs-4/packages/news-portlet/sql/oracle/news-portlet-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news-portlet/sql/oracle/news-portlet-create.sql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/news-portlet/sql/oracle/news-portlet-create.sql	14 Nov 2001 22:00:19 -0000	1.2
+++ openacs-4/packages/news-portlet/sql/oracle/news-portlet-create.sql	17 Nov 2001 21:43:06 -0000	1.3
@@ -19,30 +19,60 @@
 begin
   ds_id := portal_datasource.new(
     name             => 'news-portlet',
-    link             => 'news',
-    description      => 'News ',
-    content	     => 'news_portlet::show',
-    configurable_p   => 't'
+    description      => 'News portlet'
   );
 
-  -- community_id must be configured
+  --  the standard 4 params
+
+  -- shadeable_p 
   portal_datasource.set_def_param (
 	datasource_id => ds_id,
 	config_required_p => 't',
-	configured_p => 'f',
-	key => 'community_id',
-	value => ''
-);
+	configured_p => 't',
+	key => 'shadeable_p',
+	value => 't'
+);	
 
+
+  -- hideable_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'hideable_p',
+	value => 't'
+);	
+
+  -- user_editable_p 
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 't',
+	key => 'user_editable_p',
+	value => 'f'
+);	
+
   -- shaded_p 
   portal_datasource.set_def_param (
 	datasource_id => ds_id,
 	config_required_p => 't',
 	configured_p => 't',
 	key => 'shaded_p',
 	value => 'f'
-);	  
+);	
 
+  -- fs-specific params
+
+  -- community_id must be configured
+  portal_datasource.set_def_param (
+	datasource_id => ds_id,
+	config_required_p => 't',
+	configured_p => 'f',
+	key => 'community_id',
+	value => ''
+);
+
+
 end;
 /
 show errors
Index: openacs-4/packages/news-portlet/sql/oracle/news-portlet-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news-portlet/sql/oracle/news-portlet-drop.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/news-portlet/sql/oracle/news-portlet-drop.sql	11 Nov 2001 18:22:59 -0000	1.1
+++ openacs-4/packages/news-portlet/sql/oracle/news-portlet-drop.sql	17 Nov 2001 21:44:04 -0000	1.2
@@ -34,3 +34,78 @@
 /
 show errors;
 
+declare
+	foo integer;
+begin
+
+	-- drop the hooks
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'MyName'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'GetPrettyName'
+	);
+
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'Link'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'AddSelfToPage'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'Show'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'Edit'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'RemoveSelfFromPage'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'MakeSelfAvailable'
+	);
+
+	foo := acs_sc_impl.delete_alias (
+	       'portal_datasource',
+	       'news-portlet',
+	       'MakeSelfUnavailable'
+	);
+
+	-- Drop the binding
+	acs_sc_binding.delete (
+	    contract_name => 'portal_datasource',
+	    impl_name => 'news-portlet'
+	);
+
+	-- drop the impl
+	foo := acs_sc_impl.delete (
+		'portal_datasource',
+		'news-portlet'
+	);
+end;
+/
+show errors
+
Index: openacs-4/packages/news-portlet/tcl/news-portlet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news-portlet/tcl/news-portlet-procs.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/news-portlet/tcl/news-portlet-procs.tcl	11 Nov 2001 20:47:08 -0000	1.2
+++ openacs-4/packages/news-portlet/tcl/news-portlet-procs.tcl	17 Nov 2001 21:40:35 -0000	1.3
@@ -109,6 +109,11 @@
     
     }
 
+    ad_proc -public edit { 
+    } {
+	return ""
+    }
+
     ad_proc -public remove_self_from_page { 
 	portal_id 
 	community_id