-- Data model for the press module
--
-- Author: ron@arsdigita.com, December 1999
--
-- press.sql,v 3.0 2000/02/06 03:29:04 ron Exp
--
-- Press release templates
--
create sequence press_template_id_sequence;
create table press_templates (
template_id integer primary key,
-- we use this to select the template
template_name varchar(100) not null,
-- the adp code fraqment
template_adp varchar(4000) not null
);
-- Initialize with one site-wide Default template
-- (if executed twice, the second execution will fail due to
-- primary key constraint above; we won't end up with an
-- extra row in the db)
insert into press_templates
(template_id,
template_name,
template_adp)
values
(nextval('press_template_id_sequence'),
'Default',
'<%=$publication_name%> - <%=$article_title%>
<%=$publication_date%> - "<%=$abstract%>"');
create sequence press_id_sequence;
create table press (
press_id integer primary key,
-- if scope=public, this is press coverage for the whole system
-- if scope=group, this is press coverage for a subcommunity
scope varchar(20) not null,
-- will be NULL if scope=public
group_id integer references user_groups,
-- determines how the release is formatted
template_id integer references press_templates,
-- if true, keep the release active after it would normally expire.
important_p char(1) default 'f' check (important_p in ('t','f')),
-- the name of the publication, e.g. New York Times
publication_name varchar(100) not null,
-- the home page of the publication, e.g., http://www.nytimes.com
publication_link varchar(200),
-- we use this for sorting
publication_date datetime not null,
-- this will override publication_date where we need to say "Oct-Nov 1998 issue"
-- but will typically be NULL
publication_date_desc varchar(100),
-- might be null if the entire publication is about the site or company
article_title varchar(100),
-- if the article is Web-available
article_link varchar(200),
-- optional page reference, e.g. page 100
article_pages varchar(100),
-- quote from or summary of article
abstract varchar(4000),
-- is the abstract in HTML or plain text (the default)
html_p char(1) default 'f' check (html_p in ('t','f')),
creation_date datetime not null,
creation_user integer not null references users(user_id),
creation_ip_address varchar(50) not null
);