Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-external-profile-provider-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-external-profile-provider-create.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-external-profile-provider-create.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,56 @@
+--
+-- Implementation of the profile provider interface for dotLRN Externals.
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-external-profile-provider-create.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+declare
+ foo integer;
+begin
+
+ -- create the implementation
+ foo := acs_sc_impl.new(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_owner_name => 'dotlrn_external_profile_provider'
+ );
+
+ -- add the bindings to the method implementations
+
+ -- name method
+ foo := acs_sc_impl.new_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'name',
+ impl_alias => 'dotlrn_external_profile_provider::name',
+ impl_pl => 'TCL'
+ );
+
+ -- prettyName method
+ foo := acs_sc_impl.new_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'prettyName',
+ impl_alias => 'dotlrn_external_profile_provider::prettyName',
+ impl_pl => 'TCL'
+ );
+
+ -- render method
+ foo := acs_sc_impl.new_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'render',
+ impl_alias => 'dotlrn_external_profile_provider::render',
+ impl_pl => 'TCL'
+ );
+
+ -- bind this implementation to the interface it implements
+ acs_sc_binding.new(
+ contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider'
+ );
+
+end;
+/
+show errors
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-external-profile-provider-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-external-profile-provider-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-external-profile-provider-drop.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,50 @@
+--
+-- Implementation of the profile provider interface for dotLRN Externals.
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-external-profile-provider-drop.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+declare
+ foo integer;
+begin
+
+ -- drop the binding between this implementation and the interface it
+ -- implements.
+ acs_sc_binding.delete(
+ contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider'
+ );
+
+ -- drop the bindings to the method implementations
+
+ -- name method
+ foo := acs_sc_impl.delete_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'name'
+ );
+
+ -- prettyName method
+ foo := acs_sc_impl.delete_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'prettyName'
+ );
+
+ -- render method
+ foo := acs_sc_impl.delete_alias(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider',
+ impl_operation_name => 'render'
+ );
+
+ -- drop the implementation
+ acs_sc_impl.delete(
+ impl_contract_name => 'profile_provider',
+ impl_name => 'dotlrn_external_profile_provider'
+ );
+
+end;
+/
+show errors
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-create.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-create.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,24 @@
+--
+-- Create the dotLRN Externals package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-create.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+create table dotlrn_external_profile_rels (
+ rel_id constraint dotlrn_ext_rels_rel_id_fk
+ references dotlrn_user_profile_rels (rel_id)
+ constraint dotlrn_ext_profile_rels_pk
+ primary key
+);
+
+create table dotlrn_full_ext_profile_rels (
+ rel_id constraint dotlrn_fe_prfl_rels_rel_fk
+ references dotlrn_full_user_profile_rels (rel_id)
+ constraint dotlrn_fe_prfl_rels_pk
+ primary key
+);
+
+@@ dotlrn-external-profile-provider-create.sql
+@@ dotlrn-externals-init.sql
+@@ dotlrn-externals-package-create.sql
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-drop.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,13 @@
+--
+-- Drop the dotLRN Externals package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-drop.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+@@ dotlrn-externals-package-drop.sql
+@@ dotlrn-externals-sanitize.sql
+@@ dotlrn-external-profile-provider-drop.sql
+
+drop table dotlrn_full_ext_profile_rels;
+drop table dotlrn_external_profile_rels;
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-init.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-init.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-init.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,105 @@
+--
+-- Initialize the dotLRN Externals package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-init.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+declare
+ foo integer;
+ group_id integer;
+ dotlrn_users_group_id integer;
+begin
+
+ acs_rel_type.create_type(
+ rel_type => 'dotlrn_external_profile_rel',
+ supertype => 'dotlrn_user_profile_rel',
+ pretty_name => 'dotLRN External Profile Membership',
+ pretty_plural => 'dotLRN External Profile Memberships',
+ package_name => 'dotlrn_external_profile_rel',
+ table_name => 'dotlrn_external_profile_rels',
+ id_column => 'rel_id',
+ object_type_one => 'profiled_group',
+ role_one => null,
+ min_n_rels_one => 0,
+ max_n_rels_one => null,
+ object_type_two => 'user',
+ role_two => null,
+ min_n_rels_two => 0,
+ max_n_rels_two => 1
+ );
+
+ select min(impl_id)
+ into foo
+ from acs_sc_impls
+ where impl_name = 'dotlrn_external_profile_provider';
+
+ group_id := profiled_group.new(
+ profile_provider => foo,
+ group_name => 'dotLRN Externals'
+ );
+
+ insert
+ into dotlrn_user_types
+ (type, pretty_name, group_id)
+ values
+ ('external', 'External', group_id);
+
+ foo := rel_segment.new(
+ segment_name => 'dotLRN Profiled Externals',
+ group_id => group_id,
+ rel_type => 'dotlrn_external_profile_rel'
+ );
+
+ select group_id
+ into dotlrn_users_group_id
+ from groups
+ where group_name = 'dotLRN Users';
+
+ foo := composition_rel.new(
+ object_id_one => dotlrn_users_group_id,
+ object_id_two => group_id
+ );
+
+end;
+/
+show errors
+
+declare
+ foo integer;
+begin
+
+ acs_rel_type.create_type(
+ rel_type => 'dotlrn_full_external_profile_rel',
+ supertype => 'dotlrn_full_user_profile_rel',
+ pretty_name => 'dotLRN Full External Profile Membership',
+ pretty_plural => 'dotLRN Full External Profile Memberships',
+ package_name => 'dotlrn_full_ext_profile_rel',
+ table_name => 'dotlrn_full_ext_profile_rels',
+ id_column => 'rel_id',
+ object_type_one => 'profiled_group',
+ role_one => null,
+ min_n_rels_one => 0,
+ max_n_rels_one => null,
+ object_type_two => 'user',
+ role_two => null,
+ min_n_rels_two => 0,
+ max_n_rels_two => 1
+ );
+
+ select min(group_id)
+ into foo
+ from profiled_groups
+ where profile_provider = (select min(impl_id)
+ from acs_sc_impls
+ where impl_name = 'dotlrn_external_profile_provider');
+
+ foo := rel_segment.new(
+ segment_name => 'dotLRN Full Profiled Externals',
+ group_id => foo,
+ rel_type => 'dotlrn_full_external_profile_rel'
+ );
+
+end;
+/
+show errors
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-package-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-package-create.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-package-create.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,174 @@
+--
+-- Create the External package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-package-create.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+create or replace package dotlrn_external_profile_rel
+as
+ function new (
+ rel_id in dotlrn_external_profile_rels.rel_id%TYPE default null,
+ id in dotlrn_user_profile_rels.id%TYPE default null,
+ rel_type in acs_rels.rel_type%TYPE default 'dotlrn_external_profile_rel',
+ group_id in groups.group_id%TYPE default null,
+ user_id in users.user_id%TYPE,
+ creation_user in acs_objects.creation_user%TYPE default null,
+ creation_ip in acs_objects.creation_ip%TYPE default null
+ ) return dotlrn_user_profile_rels.rel_id%TYPE;
+
+ procedure delete (
+ rel_id in dotlrn_external_profile_rels.rel_id%TYPE
+ );
+
+end;
+/
+show errors
+
+create or replace package body dotlrn_external_profile_rel
+as
+ function new (
+ rel_id in dotlrn_external_profile_rels.rel_id%TYPE default null,
+ id in dotlrn_user_profile_rels.id%TYPE default null,
+ rel_type in acs_rels.rel_type%TYPE default 'dotlrn_external_profile_rel',
+ group_id in groups.group_id%TYPE default null,
+ user_id in users.user_id%TYPE,
+ creation_user in acs_objects.creation_user%TYPE default null,
+ creation_ip in acs_objects.creation_ip%TYPE default null
+ ) return dotlrn_user_profile_rels.rel_id%TYPE
+ is
+ v_rel_id dotlrn_user_profile_rels.rel_id%TYPE;
+ v_group_id groups.group_id%TYPE;
+ begin
+ if group_id is null then
+ select min(group_id)
+ into v_group_id
+ from profiled_groups
+ where profile_provider = (select min(impl_id)
+ from acs_sc_impls
+ where impl_name = 'dotlrn_external_profile_provider');
+ else
+ v_group_id := group_id;
+ end if;
+
+ v_rel_id := dotlrn_user_profile_rel.new(
+ rel_id => rel_id,
+ id => id,
+ rel_type => rel_type,
+ group_id => v_group_id,
+ user_id => user_id,
+ creation_user => creation_user,
+ creation_ip => creation_ip
+ );
+
+ insert
+ into dotlrn_external_profile_rels
+ (rel_id)
+ values
+ (v_rel_id);
+
+ return v_rel_id;
+ end;
+
+ procedure delete (
+ rel_id in dotlrn_external_profile_rels.rel_id%TYPE
+ )
+ is
+ begin
+ delete
+ from dotlrn_external_profile_rels
+ where rel_id = dotlrn_external_profile_rel.delete.rel_id;
+
+ dotlrn_user_profile_rel.delete(rel_id);
+ end;
+
+end;
+/
+show errors
+
+create or replace package dotlrn_full_ext_profile_rel
+as
+ function new (
+ rel_id in dotlrn_full_ext_profile_rels.rel_id%TYPE default null,
+ portal_id in dotlrn_full_user_profile_rels.portal_id%TYPE,
+ theme_id in dotlrn_full_user_profile_rels.theme_id%TYPE default null,
+ id in dotlrn_user_profile_rels.id%TYPE default null,
+ rel_type in acs_rels.rel_type%TYPE default 'dotlrn_full_external_profile_rel',
+ group_id in groups.group_id%TYPE default null,
+ user_id in users.user_id%TYPE,
+ creation_user in acs_objects.creation_user%TYPE default null,
+ creation_ip in acs_objects.creation_ip%TYPE default null
+ ) return dotlrn_full_user_profile_rels.rel_id%TYPE;
+
+ procedure delete (
+ rel_id in dotlrn_full_ext_profile_rels.rel_id%TYPE
+ );
+
+end;
+/
+show errors
+
+create or replace package body dotlrn_full_ext_profile_rel
+as
+ function new (
+ rel_id in dotlrn_full_ext_profile_rels.rel_id%TYPE default null,
+ portal_id in dotlrn_full_user_profile_rels.portal_id%TYPE,
+ theme_id in dotlrn_full_user_profile_rels.theme_id%TYPE default null,
+ id in dotlrn_user_profile_rels.id%TYPE default null,
+ rel_type in acs_rels.rel_type%TYPE default 'dotlrn_full_external_profile_rel',
+ group_id in groups.group_id%TYPE default null,
+ user_id in users.user_id%TYPE,
+ creation_user in acs_objects.creation_user%TYPE default null,
+ creation_ip in acs_objects.creation_ip%TYPE default null
+ ) return dotlrn_full_user_profile_rels.rel_id%TYPE
+ is
+ v_rel_id dotlrn_full_user_profile_rels.rel_id%TYPE;
+ v_group_id groups.group_id%TYPE;
+ begin
+ if group_id is null then
+ select min(group_id)
+ into v_group_id
+ from profiled_groups
+ where profile_provider = (select min(impl_id)
+ from acs_sc_impls
+ where impl_name = 'dotlrn_external_profile_provider');
+ else
+ v_group_id := group_id;
+ end if;
+
+ v_rel_id := dotlrn_full_user_profile_rel.new(
+ rel_id => rel_id,
+ portal_id => portal_id,
+ theme_id => theme_id,
+ id => id,
+ rel_type => rel_type,
+ group_id => v_group_id,
+ user_id => user_id,
+ creation_user => creation_user,
+ creation_ip => creation_ip
+ );
+
+ insert
+ into dotlrn_full_ext_profile_rels
+ (rel_id)
+ values
+ (v_rel_id);
+
+ return v_rel_id;
+ end;
+
+ procedure delete (
+ rel_id in dotlrn_full_ext_profile_rels.rel_id%TYPE
+ )
+ is
+ begin
+ delete
+ from dotlrn_full_ext_profile_rels
+ where rel_id = dotlrn_full_ext_profile_rel.delete.rel_id;
+
+ dotlrn_full_user_profile_rel.delete(rel_id);
+ end;
+
+end;
+/
+show errors
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-package-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-package-drop.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-package-drop.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,9 @@
+--
+-- Create the dotLRN Externals package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-package-drop.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+drop package dotlrn_full_ext_profile_rel;
+drop package dotlrn_external_profile_rel;
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-sanitize.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-externals-sanitize.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-externals-sanitize.sql 13 Mar 2002 18:00:38 -0000 1.1
@@ -0,0 +1,65 @@
+--
+-- Sanitize the dotLRN External package
+--
+-- @author yon@openforce.net
+-- @version $Id: dotlrn-externals-sanitize.sql,v 1.1 2002/03/13 18:00:38 yon Exp $
+--
+
+declare
+ foo integer;
+begin
+
+ select min(segment_id)
+ into foo
+ from rel_segments
+ where segment_name = 'dotLRN Full Profiled Externals';
+
+ rel_segment.delete(
+ segment_id => foo
+ );
+
+ acs_rel_type.drop_type(
+ rel_type => 'dotlrn_full_external_profile_rel',
+ cascade_p => 't'
+ );
+
+end;
+/
+show errors
+
+declare
+ foo integer;
+begin
+
+ select min(segment_id)
+ into foo
+ from rel_segments
+ where segment_name = 'dotLRN Profiled Externals';
+
+ rel_segment.delete(
+ segment_id => foo
+ );
+
+ select min(group_id)
+ into foo
+ from profiled_groups
+ where profile_provider = (select min(impl_id)
+ from acs_sc_impls
+ where impl_name = 'dotlrn_external_profile_provider');
+
+ delete
+ from dotlrn_user_types
+ where group_id = foo;
+
+ profiled_group.delete(
+ group_id => foo
+ );
+
+ acs_rel_type.drop_type(
+ rel_type => 'dotlrn_external_profile_rel',
+ cascade_p => 't'
+ );
+
+end;
+/
+show errors
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-users-create.sql,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-create.sql 8 Feb 2002 20:50:56 -0000 1.9
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-create.sql 13 Mar 2002 18:00:38 -0000 1.10
@@ -75,3 +75,6 @@
-- create students
@@ dotlrn-students-create.sql
+
+-- create external users
+@@ dotlrn-externals-create.sql
Index: openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-drop.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/sql/oracle/Attic/dotlrn-users-drop.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-drop.sql 8 Feb 2002 20:50:56 -0000 1.1
+++ openacs-4/packages/dotlrn/sql/oracle/dotlrn-users-drop.sql 13 Mar 2002 18:00:38 -0000 1.2
@@ -5,6 +5,9 @@
-- @version $Id$
--
+-- drop external users
+@@ dotlrn-externals-drop.sql
+
-- drop students
@@ dotlrn-students-drop.sql