--
-- acs-kernel/sql/postgresql/authentication-create.sql
--
-- The OpenACS core authentication system.
--
-- @author Peter Marklund (peter@collaboraid.biz)
--
-- @creation-date 20003-08-21
--
-- @cvs-id $Id: authentication-create.sql,v 1.16 2008/09/09 14:39:38 daveb Exp $
--
create table auth_authorities (
authority_id integer
constraint auth_authorities_auth_id_pk
primary key
constraint auth_authorities_auth_id_fk
references acs_objects(object_id)
on delete cascade,
short_name varchar(255)
constraint auth_authorities_short_name_un
unique,
pretty_name varchar(4000),
help_contact_text varchar(4000),
help_contact_text_format varchar(200),
enabled_p boolean default 't'
constraint auth_authorities_enbl_p_nn
not null,
sort_order integer not null,
-- auth_authentication implementation
-- (Cannot reference acs_sc_impls table as it doesn't exist yet)
auth_impl_id integer
constraint auth_authorities_auth_impl_fk
references acs_objects(object_id),
-- auth_password implementation
pwd_impl_id integer
constraint auth_authorities_pwd_impl_fk
references acs_objects(object_id),
forgotten_pwd_url varchar(4000),
change_pwd_url varchar(4000),
-- auth_registration implementation
register_impl_id integer
constraint auth_authorities_reg_impl_fk
references acs_objects(object_id),
register_url varchar(4000),
-- auth_user_info implementation
user_info_impl_id integer
constraint auth_authorities_urinf_ipl_fk
references acs_objects(object_id),
-- batch sync
-- auth_sync_retrieve implementation
get_doc_impl_id integer
constraint auth_authorities_getdoc_ipl_fk
references acs_objects(object_id),
-- auth_sync_process implementation
process_doc_impl_id integer
constraint auth_authorities_procdoc_ipl_fk
references acs_objects(object_id),
batch_sync_enabled_p boolean default 'f'
constraint auth_authorities_bsenabled_p_nn
not null,
allow_user_entered_info_p boolean default 'f'
constraint auth_authority_allow_user_i_p_nn
not null,
search_impl_id integer
constraint auth_authorities_search_impl_id_fk
references acs_objects(object_id)
);
comment on column auth_authorities.help_contact_text is '
Contact information (phone, email, etc.) to be displayed
as a last resort when people are having problems with an authority.
';
comment on column auth_authorities.forgotten_pwd_url is '
Any username in this url must be on the syntax foo={username}
and {username} will be replaced with the real username
';
comment on column auth_authorities.change_pwd_url is '
Any username in this url must be on the syntax foo={username}
and {username} will be replaced with the real username
';
-- Define the acs object type
select acs_object_type__create_type (
'authority',
'Authority',
'Authorities',
'acs_object',
'auth_authorities',
'authority_id',
null,
'f',
null,
null
);
create table auth_driver_params(
authority_id integer
constraint auth_driver_params_aid_fk
references auth_authorities(authority_id)
constraint auth_driver_params_aid_nn
not null,
impl_id integer
constraint auth_driver_params_impl_id_fk
-- Cannot reference acs_sc_impls table as it doesn't exist yet
references acs_objects(object_id)
constraint auth_driver_params_impl_id_nn
not null,
key varchar(200),
value text,
constraint auth_driver_params_pk
primary key (authority_id, impl_id, key)
);
-- Create PLSQL package
\i authentication-package-create.sql