--
-- Copyright (C) 2001, 2002 MIT
--
-- This file is part of dotLRN.
--
-- 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.
--
-- 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.
--
--
-- create portal datasource service contract
--
-- @author arjun@openforce.net
-- @author yon@openforce.net
-- @creation-date 2001-10-01
-- @version $Id: datasource-sc-create.sql,v 1.1 2002/10/25 21:29:17 yon 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.GetMyName.InputType',
msg_type_spec => ''
);
foo := acs_sc_msg_type.new(
msg_type_name => 'portal_datasource.GetMyName.OutputType',
msg_type_spec => 'my_name:string'
);
foo := acs_sc_operation.new(
'portal_datasource',
'GetMyName',
'Get the name',
't', -- not cacheable
0, -- n_args
'portal_datasource.GetMyName.InputType',
'portal_datasource.GetMyName.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'
);
-- AddSelfToPage: Tell the datasource to add itself to a portal
-- 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,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',
'Adds itself to the given page returns an element_id',
'f', -- not cacheable
2, -- n_args
'portal_datasource.AddSelfToPage.InputType',
'portal_datasource.AddSelfToPage.OutputType'
);
-- RemoveSelfFromPage: Tell the PE to remove itself from a page
-- The "args" string is an ns_set of extra arguments
foo := acs_sc_msg_type.new(
msg_type_name => 'portal_datasource.RemoveSelfFromPage.InputType',
msg_type_spec => 'page_id:integer,args:string'
);
foo := acs_sc_msg_type.new(
msg_type_name => 'portal_datasource.RemoveSelfFromPage.OutputType',
msg_type_spec => ''
);
foo := acs_sc_operation.new(
'portal_datasource',
'RemoveSelfFromPage',
' remove itself from the given page',
'f', -- not cacheable
2, -- n_args
'portal_datasource.RemoveSelfFromPage.InputType',
'portal_datasource.RemoveSelfFromPage.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'
);
end;
/
show errors