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 Content Database HTML Input Forms ADA Print WML PDA Proprietary RSS- XML Content 1. Input Once… …Output Many Formats
Content Management Systems – Christian Vinten-Johansen Content Management Systems Content Database HTML Input Forms ADA Print WML PDA Proprietary RSS- XML Template & CSS Template & CSS Template & CSS WML Template HTML Clipping CSS Template XML CSS Content Design Separate Content from Design
Content Management Systems – Christian Vinten-Johansen Content Management Systems Content Database HTML Input Forms ADA Print WML PDA Proprietary RSS- XML ContentDesign Database Template Separate Content from Design
Content Management Systems – Christian Vinten-Johansen Content Management Systems Content Database HTML Input Forms ADA Print WML PDA Proprietary RSS- XML ContentDesign Database Template Separate Content……from Design Design Form
Content Management Systems – Christian Vinten-Johansen Content Management Systems Content Database HTML Input Forms ADA Print WML PDA Proprietary RSS- XML Design Database Template Input Forms Input Forms Input Forms Input Forms Content Expert Staff Faculty User-driven FAQ Syndicated News Design Forms
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 tblNewstblCalendar … …
Content Management Systems – Christian Vinten-Johansen Content Management Systems Content Classes Data Architecture: Display News Calendar User data and requests FAQs tblNewstblCalendar … … Display Modules cf_Newscf_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 loop.
Content Management Systems – Christian Vinten-Johansen Content Management Systems Data Architecture: Display Banner Menu Layout News Calendar … Layout Module is a query and 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 Content database
Content Management Systems – Christian Vinten-Johansen Content Management Systems Integrating Web Content: Keywords tblNews tblKeywords Content database
Content Management Systems – Christian Vinten-Johansen Content Management Systems Integrating Web Content: Keywords tblNews tblNewsX Keywords 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 Content database
Content Management Systems – Christian Vinten-Johansen Content Management Systems Integrating Web Content: Keywords & Meta Data tblNews tblNewsX Keywords tblKeywords Content database Meta Keywords Meta data (Web search) Keyword Hierarchy 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 DESC getcalendar (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 Systems Securing Web Content: User Accounts:
Content Management Systems – Christian Vinten-Johansen Content Management Systems Securing 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 Systems Securing Web Content: User Accounts: select formAccountID, userID, formID, active from tblFormAccounts where formAccountID = 12
Content Management Systems – Christian Vinten-Johansen Content Management Systems