create table css_simple ( css_id integer primary key, -- if scope=public, this is the css for the whole system -- if scope=group, this is the css for a particular group -- is scope=user this is the css for particular user scope varchar(20) not null, user_id references users, group_id references user_groups, css_bgcolor varchar(40), css_textcolor varchar(40), css_unvisited_link varchar(40), css_visited_link varchar(40), css_link_text_decoration varchar(40), css_font_type varchar(40) ); alter table css_simple add constraint css_simple_scope_unique unique(scope, user_id, group_id); alter table css_simple add constraint css_simple_data_scope_check check ( (scope='group' and group_id is not null and user_id is null) or (scope='user' and user_id is not null and group_id is null) or (scope='public'));
page_logos table stores the log that can be displayed on every page
create sequence page_logos_id_sequence; create table page_logos ( logo_id integer primary key, -- if scope=public, this is the system-wide logo -- if scope=group, this is the logo for a particular group -- is scope=user this is the logo for a particular user scope varchar(20) not null, user_id references users, group_id references user_groups, logo_enabled_p char(1) default 'f' check(logo_enabled_p in ('t', 'f')), logo_file_type varchar(100) not null, logo_file_extension varchar(50) not null, -- e.g., "jpg" logo blob not null ); alter table page_logos add constraint page_logos_scope_check check ( (scope='group' and group_id is not null and user_id is null) or (scope='user' and user_id is not null and group_id is null) or (scope='public')); alter table page_logos add constraint page_logos_scope_unique unique(scope, user_id, group_id);
/admin/display/edit-simple-css.tcl in order to set
/admin/display/upload-logo.tcl in order to