Content Management Systems – Christian Vinten-Johansen Content Management Systems Why use CMS?...

Preview:

Citation preview

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Why use CMS?

• Distributed content creation & editing• Reuse content and components• Standardized page design• User accounts and security

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

ContentDatabase

HTML

InputForms

ADA

Print

WML

PDAProprietary

RSS-XML

Content

1. Input Once…

…Output Many Formats

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

ContentDatabase

HTML

InputForms

ADA

Print

WML

PDAProprietary

RSS-XML

Template&

CSS

Template&

CSS

Template&

CSS

WMLTemplate

TemplateHTML

ClippingCSS

TemplateXMLCSS

Content

DesignSeparate Content from Design

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

ContentDatabase

HTML

InputForms

ADA

Print

WML

PDAProprietary

RSS-XML

Content Design

DesignDatabase

Template

Separate Content from Design

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

ContentDatabase

HTML

InputForms

ADA

Print

WML

PDAProprietary

RSS-XML

Content Design

DesignDatabase

Template

Separate Content… …from Design

DesignForm

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

ContentDatabase

HTML

InputForms

ADA

Print

WML

PDAProprietary

RSS-XML

Design

DesignDatabase

Template

InputForms

InputForms

InputForms

InputForms Content

Expert

Staff

Faculty

User-drivenFAQ

Syndicated NewsDesignForms

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Separate Content from Design:

Queries thispage (Records=1, Time=0ms)SQL = select * from tblPageDefs where pID=1 (Records=1, Time=10ms)

pagecontent (Records=2, Time=0ms) SQL = select * from tblPageContent where pid=1 and post=1 order by displayorder

menudata (Records=1, Time=0ms) SQL = select * from tblMenuContent where post=1 and pID=1

menu (Records=41, Time=0ms) SQL = select * from tblMenuContent where (menulevel1 > 0) and (menuID=1) order by menulevel1, menulevel2, menulevel3, menulevel4 …

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Classes

Data Architecture:

• News• Calendar• Publications• User data and requests• FAQs

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Classes

Data Architecture: Display

• News• Calendar• User data and requests• FAQs

tblNews tblCalendar ……

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Classes

Data Architecture: Display

• News• Calendar• User data and requests• FAQs

tblNews tblCalendar ……Display Modules

cf_News cf_Calendar

• Custom tags, CFCs, …• Query & output …

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Display

Banner

Menu

Layout

News

Calendar

Content Module is a query and <cfoutput> loop.

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Display

Banner

Menu

Layout

News

Calendar

Layout Module is a query and <cfoutput> loop also. It “knows” what modules to call from the Page Content table.

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Display

Banner

Menu

Layout

News

Calendar

The page template queries the design table to select from available Layout Modules.

Features

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Display

Banner

Menu

Layout

News

Calendar

Separate modules for Banner and Menu. The page template queries the page design table to determine what banner and menu modules to call. (Can have no menu)

Features

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Display

Banner

Menu

Layout

News

Calendar

…Features

Page ID ties all modules, banner and content

The Menu is a separate object

!!!

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Data Architecture: Menu

• Separate module

• 4 Nested levels

• Only relationship to content is page ID. Can be

external URLs.

• Page design and menu construction separate

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Integrating Web Content: Keywords

tblNews

Contentdatabase

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Integrating Web Content: Keywords

tblNews tblKeywords

Contentdatabase

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Integrating Web Content: Keywords

tblNewstblNewsXKeywords

tblKeywords

select vcTitle,vcImageURL,vcPDFURL,vcHTMLURL… from tblPublications where (bDistribute<>0) and (post <>0) and (iPublicationID IN

(SELECT iPublicationID FROM tblPublicationsByKeywords WHERE iKeywordID IN (6)))

order by title

Contentdatabase

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Integrating Web Content: Keywords & Meta Data

tblNewstblNewsXKeywords

tblKeywords

Contentdatabase

Meta Keywords

Meta data(Web search)

KeywordHierarchy

Web Search

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Integrating Web Content: Multiple Queries!

Queries

thispage (Records=1, Time=10ms) SQL = select * from tblPageDefs where pID=1 menudata (Records=2, Time=0ms) SQL = select * from tblMenuContent where post=1 and pID=1 menu (Records=41, Time=0ms) SQL = select * from tblMenuContent where (menulevel1 > 0) and (menuID=1) order by menulevel1, menulevel2, menulevel3, menulevel4 pagecontent (Records=5, Time=0ms) SQL = select * from tblPageContent where pid=1 and post=1 order by displayorder GetImageRecords (Records=4, Time=10ms) SQL = select imageID from tblRotateImages where post=1 and horses=1 GetEntry (Records=1, Time=0ms) SQL = SELECT * FROM tblRotateImages WHERE imageID = 25 getseminars (Records=0, Time=10ms) SQL = SELECT * FROM tblSeminars WHERE (datediff("d", getdate(), exdate) > 0) AND (active =1) ORDER BY exyear, exmonth, exday getnews (Records=52, Time=60ms) SQL = SELECT * FROM tblNews WHERE (datediff("d", getdate(), exdate) > 0) AND (post = 1) ORDER BY priority ASC, postDate DESCgetcalendar (Records=5, Time=20ms) SQL = SELECT * FROM tblCalendar WHERE (datediff("d", getdate(), exdate) > 0) AND (post = 1) ORDER BY exdate ASC, priority ASC

Content Management Systems – Christian Vinten-Johansen

Content Management SystemsSecuring Web Content: User Accounts:

Content Management Systems – Christian Vinten-Johansen

Content Management SystemsSecuring Web Content: User Accounts:

SELECT DISTINCT formAccountID, userID, formID, active FROM tblFormAccounts WHERE formID = 17 and userID= 'cjohansen'

Content Management Systems – Christian Vinten-Johansen

Content Management SystemsSecuring Web Content: User Accounts:

select formAccountID, userID, formID, active from tblFormAccounts where formAccountID = 12

Content Management Systems – Christian Vinten-Johansen

Content Management Systems

Recommended