Most Web services and all corporate sites have a "foobar.com in the news" page. This page lists, chronologically, articles in newspapers, magazines, etc. where the site or company is featured. This is a little bit different from the news module in that the publisher is mostly linking off to other publications and not trying to disseminate news him or herself.
Examples:
The press module supports site-wide press coverage (appropriate when one ACS installation is being used for a company) and subcommunity press coverage, e.g. for a service like arfdigita.org where many organizations are using the same ACS. Anyone who has the administrator role in a user group can edit the press coverage for that group.
Press items are displayed using a paging system. The module can be configured to display a set number of items on the main page, and will offer links to "previous" and "next" pages if available.
The module provides a flexible template system to support the wide range of formats needed for different sites and types of press coverage. A press item contains the followings bits of information:
A site administrator can define named templates to control how these pieces of information are displayed. The templates are written as ADP fragments using the variables listed above. For example, the system default template might format a press item as follows:
<dl><b><%=$publication_name%></b> - <%=$article_name%> (<%=$article_pages>) <dd>(<%=$publication_date%>) - "<%=$abstract>"</dd></dl>
This template would be expanded into:
Dog's Life - Planet of the Dogs (pp 50-52)
- January 1, 2100 - "They used to say that every dog has his day. Little did humans know that the collapse of their society at the beginning of this millenium would give rise to a new golden age of canine rule."
Hyperlinks to external publications and articles are inserted automatically and optionally tracked using the clickthrough module.
The data model for press coverage is quite simple:
create sequence press_id_sequence start with 1; 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 references user_groups, -- determine how the item is formatted template_id references press_templates, -- if true, keep the item 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 date 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 date not null, creation_user not null references users(user_id), creation_ip_address varchar(50) not null );
The data model for press coverage templates is equally straightforward:
create sequence press_template_id_sequence start with 2; 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 );
Note that template_id=1
is reserved for the site-wide
default template.
From the Site Administration pages at /admin/press/ the site-wide administrator can do the following:
From the Maintainers admin pages at /press/admin/ the press coverage maintainers can:
You can change the site-wide behavior by setting the following parameters:
[ns/server/service/acs/press] ; maximum number of simultaneous press items to display on the press coverage page DisplayMax=10 ; number of days a press item remains active ActiveDays=60 ; do we use clickthrough tracking from the press coverage page? ClickthroughP = 1
The expiration behavior of press coverage is strange. Once an item surpasses the site-wide maximum number of active days and expires, the only way to turn it back on is to set the important_p flag and have it displayed permanently. It would make more sense to define a per-press-item expiration date.
Expired press items are available from the archives pages.
Any administrator can create public press coverage (the limitation is that this cannot be restricted).