-- create layout includelet -- -- @author Don Baccus (dhogaza@pacifier.com) -- @creation-date 2008-07-06 -- @version $Id: includelets-create.sql,v 1.1 2008/07/22 07:31:02 donb Exp $ -- create table layout_includelets ( name varchar(100) constraint l_includelets_name_pk primary key, title varchar(100) default null, application varchar(100) constraint l_includelets_application_fk references apm_package_types (package_key) on delete cascade constraint l_includelets_app_nn not null, owner varchar(100) constraint l_includelets_owner_fk references apm_package_types (package_key) on delete cascade constraint l_includelets_owner_nn not null, template varchar(100) constraint l_includelets_template_nn not null, dotlrn_compat_p char(1) not null constraint layout_includelets_d_c_p_ck check (dotlrn_compat_p in ('t', 'f')), constructor varchar(100), destructor varchar(100), description varchar(1000), required_privilege varchar(20) default 'read' ); -- indexes for referential integrity checking create index l_includelets_application_idx on layout_includelets(application); create index l_includelets_owner_idx on layout_includelets(owner); comment on table layout_includelets is ' A layout includelet is the package of code that generates the content of a layout element. By convention, a package named foo-layout-includelets creates includelets for the package foo. '; comment on column layout_includelets.name is ' The name of this layout includelet. We can''t arbitrarily use layout_includelet_key because many lincludelet packages will support at least two includelets, one user includelet and one admin includelet. Includelet names, like package keys, must be unique throughout a single OpenACS instance. '; comment on column layout_includelets.title is ' The external name or message resource of this layout includelet. We can''t arbitrarily use portlet_key because many portlet packages will support at least two portlets, one user portlet and one admin portlet. '; comment on column layout_includelets.application is ' The package key of the application that this includelet works with. For instance the forums layout includelet works with the forums package. '; comment on column layout_includelets.owner is ' The package key of the package that implements this includelet. '; comment on column layout_includelets.template is ' The name of template that displays the layout includelet content. Note this is not a full path, layout templates go in the standard package template library directory. '; comment on column layout_includelets.dotlrn_compat_p is ' If true, pass the includelet params in an array named "cf", rather than pass them directly. '; comment on column layout_includelets.constructor is ' The name of an optional constructor to run after the default constructor. '; comment on column layout_includelets.destructor is ' The name of an optional constructor to run after the default destructor. ';