Index: openacs-4/packages/new-portal/sql/oracle/datasource-sc-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/datasource-sc-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/sql/oracle/datasource-sc-create.sql 15 Nov 2001 18:51:10 -0000 1.1 @@ -0,0 +1,177 @@ +-- The data source (portlet) contract +-- copyright 2001, OpenForce, Inc. +-- distributed under the GNU GPL v2 +-- +-- for Oracle 8/8i. (We're guessing 9i works, too). +-- +-- arjun@openforce.net +-- started November, 2001 +-- +-- $Id: datasource-sc-create.sql,v 1.1 2001/11/15 18:51:10 oracle Exp $ + +declare + sc_dotlrn_contract integer; + foo integer; +begin + sc_dotlrn_contract := acs_sc_contract.new ( + contract_name => 'portal_datasource', + contract_desc => 'Portal Datasource interface' + ); + + -- Get my name - not to be confused with the pretty_name + foo := acs_sc_msg_type.new ( + msg_type_name => 'portal_datasource.MyName.InputType', + msg_type_spec => '' + ); + + foo := acs_sc_msg_type.new ( + msg_type_name => 'portal_datasource.MyName.OutputType', + msg_type_spec => 'my_name:string' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'MyName', + 'Get the name', + 't', -- not cacheable + 0, -- n_args + 'portal_datasource.MyName.InputType', + 'portal_datasource.MyName.OutputType' + ); + + -- Get a pretty name + foo := acs_sc_msg_type.new ( + msg_type_name => 'portal_datasource.GetPrettyName.InputType', + msg_type_spec => '' + ); + + foo := acs_sc_msg_type.new ( + msg_type_name => 'portal_datasource.GetPrettyName.OutputType', + msg_type_spec => 'pretty_name:string' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'GetPrettyName', + 'Get the pretty name', + 't', -- not cacheable + 0, -- n_args + 'portal_datasource.GetPrettyName.InputType', + 'portal_datasource.GetPrettyName.OutputType' + ); + + + -- Tell the portal element to add itself to a portal page + -- add_self_to_page + -- The "args" string is an ns_set of extra arguments + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.AddSelfToPage.InputType', + msg_type_spec => 'page_id:integer,instance_id:integer,args:string' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.AddSelfToPage.OutputType', + msg_type_spec => 'element_id:integer' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'AddSelfToPage', + 'Tells the given portal element to add itself to the given page', + 'f', -- not cacheable + 3, -- n_args + 'portal_datasource.AddSelfToPage.InputType', + 'portal_datasource.AddSelfToPage.OutputType' + ); + + -- Show: the portal element's display proc + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.Show.InputType', + msg_type_spec => 'cf:string' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.Show.OutputType', + msg_type_spec => 'output:string' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'Show', + 'Render the portal element returning a chunk of HTML', + 'f', -- not cacheable + 1, -- n_args + 'portal_datasource.Show.InputType', + 'portal_datasource.Show.OutputType' + ); + + -- Tell the PE to remove itself from a page + -- remove_self_from_page + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.InputType', + msg_type_spec => 'page_id:integer,instance_id:integer' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.OutputType', + msg_type_spec => '' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'RemoveSelfFromPage', + 'Tells the given portal element to remove itself from the given page', + 'f', -- not cacheable + 2, -- n_args + 'portal_datasource.RemoveSelfFromPage.InputType', + 'portal_datasource.RemoveSelfFromPage.OutputType' + ); + + + + -- Make self available + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.MakeSelfAvailable.InputType', + msg_type_spec => 'portal_id:integer' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.MakeSelfAvailable.OutputType', + msg_type_spec => '' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'MakeSelfAvailable', + 'Makes this PE available to this portal page', + 'f', -- not cacheable + 1, -- n_args + 'portal_datasource.MakeSelfAvailable.InputType', + 'portal_datasource.MakeSelfAvailable.OutputType' + ); + + -- Make self unavailable + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.InputType', + msg_type_spec => 'portal_id:integer' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.OutputType', + msg_type_spec => '' + ); + + foo := acs_sc_operation.new ( + 'portal_datasource', + 'MakeSelfUnavailable', + 'Makes this PE UNavailable to this portal page', + 'f', -- not cacheable + 1, -- n_args + 'portal_datasource.MakeSelfAvailable.InputType', + 'portal_datasource.MakeSelfAvailable.OutputType' + ); + + +end; +/ +show errors Index: openacs-4/packages/new-portal/sql/oracle/datasource-sc-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/datasource-sc-drop.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/sql/oracle/datasource-sc-drop.sql 15 Nov 2001 18:49:52 -0000 1.1 @@ -0,0 +1,233 @@ +-- The data source (portlet) contract +-- copyright 2001, OpenForce, Inc. +-- distributed under the GNU GPL v2 +-- +-- for Oracle 8/8i. (We're guessing 9i works, too). +-- +-- arjun@openforce.net +-- started November, 2001 +-- + +declare + contract_id integer; + msg_type_id integer; + op_id integer; +begin + + -- drop MyName + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MyName.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MyName.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MyName.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MyName.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'MyName' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'MyName' + ); + + -- drop GetPrettyName + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.GetPrettyName.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.GetPrettyName.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.GetPrettyName.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.GetPrettyName.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'GetPrettyName' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'GetPrettyName' + ); + + -- Drop add_self_to_page + -- The "args" string is an ns_set of extra arguments + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.AddSelfToPage.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.AddSelfToPage.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.AddSelfToPage.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.AddSelfToPage.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'AddSelfToPage' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'AddSelfToPage' + ); + + -- Delete Show + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.Show.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.Show.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.Show.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.Show.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'Show' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'Show' + ); + + -- rem RemoveSelfFromPage + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.RemoveSelfFromPage.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'RemoveSelfFromPage' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'RemoveSelfFromPage' + ); + + -- rem MakeSelfAvailable + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MakeSelfAvailable.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MakeSelfAvailable.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MakeSelfAvailable.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MakeSelfAvailable.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'MakeSelfAvailable' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'MakeSelfAvailable' + ); + + -- rem MakeSelfUnavailable + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.InputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.InputType', + msg_type_id => msg_type_id + ); + + msg_type_id := acs_sc_msg_type.get_id ( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.OutputType' + ); + + acs_sc_msg_type.delete ( + msg_type_name => 'portal_datasource.MakeSelfUnavailable.OutputType', + msg_type_id => msg_type_id + ); + + op_id := acs_sc_operation.get_id ( + contract_name => 'portal_datasource', + operation_name => 'MakeSelfUnavailable' + ); + + acs_sc_operation.delete ( + operation_id => op_id, + contract_name => 'portal_datasource', + operation_name => 'MakeSelfUnavailable' + ); + +end; +/ +show errors