Content Management Systems Why use CMS Distributed content
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 1. Input Once… …Output Many Formats HTML ADA Content Print Input Forms Content Database WML PDA Proprietary RSSXML Content Management Systems – Christian Vinten-Johansen
Content Management Systems Separate Content from Design HTML Template & ADA Template & Print Template & WML Template PDA Template HTML Clipping Content Input Forms Content Database Design Proprietary RSSXML CSS CSS Template XML CSS Content Management Systems – Christian Vinten-Johansen
Content Management Systems Separate Content from Design HTML ADA Content Design Print Input Forms Content Database Template WML Design Database PDA Proprietary RSSXML Content Management Systems – Christian Vinten-Johansen
Content Management Systems Separate Content… HTML …from Design ADA Content Design Print Input Forms Content Database Template WML Design Database PDA Proprietary RSSXML Design Form Content Management Systems – Christian Vinten-Johansen
Content Management Systems HTML Expert Input Forms ADA Staff Input Forms Content Design Print Faculty Input Forms Content Database User-driven Input Forms FAQ Syndicated News Template WML Design Database PDA Proprietary Input Forms RSSXML Design Forms Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems Separate Content from Design: Queries thispage (Records=1, Time=0 ms) SQL = select * from tbl. Page. Defs where p. ID=1 (Records=1, Time=10 ms) pagecontent (Records=2, Time=0 ms) SQL = select * from tbl. Page. Content where pid=1 and post=1 order by displayorder menudata (Records=1, Time=0 ms) SQL = select * from tbl. Menu. Content where post=1 and p. ID=1 menu (Records=41, Time=0 ms) SQL = select * from tbl. Menu. Content where (menulevel 1 > 0) and (menu. ID=1) order by menulevel 1, menulevel 2, menulevel 3, menulevel 4 … Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Content Classes • News • Calendar • Publications • User data and requests • FAQs Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Content Classes • News • Calendar • User data and requests • FAQs … tbl. News tbl. Calendar … Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Content Classes • News • Calendar • User data and requests • FAQs … Display Modules • Custom tags, CFCs, … • Query & output tbl. News cf_News tbl. Calendar cf_Calendar … … Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Banner Content Module is a query and <cfoutput> loop. Layout News Menu … Calendar Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Banner Layout Module is a query and <cfoutput> loop also. It “knows” what modules to call from the Page Content table. Layout News Menu … Calendar Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display The page template queries the design table to select from available Layout Modules. Banner Layout News Features Menu … Calendar Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Banner 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) Layout News Features Menu … Calendar Content Management Systems – Christian Vinten-Johansen
Content Management Systems Data Architecture: Display Page ID ties all modules, banner and content Banner Layout The Menu is a separate object !!! News Features Menu … Calendar 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 – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
Content Management Systems Integrating Web Content: Keywords Content database tbl. News Content Management Systems – Christian Vinten-Johansen
Content Management Systems Integrating Web Content: Keywords Content database tbl. News tbl. Keywords Content Management Systems – Christian Vinten-Johansen
Content Management Systems Integrating Web Content: Keywords Content database tbl. News. X Keywords select vc. Title, vc. Image. URL, vc. PDFURL, vc. HTMLURL… from tbl. Publications where (b. Distribute<>0) and (post <>0) and (i. Publication. ID IN (SELECT i. Publication. ID FROM tbl. Publications. By. Keywords WHERE i. Keyword. ID IN (6))) order by title tbl. Keywords Content Management Systems – Christian Vinten-Johansen
Content Management Systems Integrating Web Content: Keywords & Meta Data Meta data (Web search) Web Search Content database Meta Keywords Keyword Hierarchy tbl. News. X Keywords tbl. Keywords Content Management Systems – Christian Vinten-Johansen
Content Management Systems Integrating Web Content: Multiple Queries! Queries thispage (Records=1, Time=10 ms) SQL = select * from tbl. Page. Defs where p. ID=1 menudata (Records=2, Time=0 ms) SQL = select * from tbl. Menu. Content where post=1 and p. ID=1 menu (Records=41, Time=0 ms) SQL = select * from tbl. Menu. Content where (menulevel 1 > 0) and (menu. ID=1) order by menulevel 1, menulevel 2, menulevel 3, menulevel 4 pagecontent (Records=5, Time=0 ms) SQL = select * from tbl. Page. Content where pid=1 and post=1 order by displayorder Get. Image. Records (Records=4, Time=10 ms) SQL = select image. ID from tbl. Rotate. Images where post=1 and horses=1 Get. Entry (Records=1, Time=0 ms) SQL = SELECT * FROM tbl. Rotate. Images WHERE image. ID = 25 getseminars (Records=0, Time=10 ms) SQL = SELECT * FROM tbl. Seminars WHERE (datediff("d", getdate(), exdate) > 0) AND (active =1) ORDER BY exyear, exmonth, exday getnews (Records=52, Time=60 ms) SQL = SELECT * FROM tbl. News WHERE (datediff("d", getdate(), exdate) > 0) AND (post = 1) ORDER BY priority ASC, post. Date DESC getcalendar (Records=5, Time=20 ms) SQL = SELECT * FROM tbl. Calendar 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 form. Account. ID, user. ID, form. ID, active FROM tbl. Form. Accounts WHERE form. ID = 17 and user. ID= 'cjohansen' Content Management Systems – Christian Vinten-Johansen
Content Management Systems Securing Web Content: User Accounts: select form. Account. ID, user. ID, form. ID, active from tbl. Form. Accounts where form. Account. ID = 12 Content Management Systems – Christian Vinten-Johansen
Content Management Systems – Christian Vinten-Johansen
- Slides: 33