SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
Ajax and Your CMS -- CMS Watch                                                        页码,1/5




   Direct Web Remoting

   Ajax and Your CMS
   by Jonathan Downes and Joe Walker
   03-Apr-2006

   If a modern day Rip van Winkle woke up after just a year's sleep, he
   would be stunned by the buzz around Ajax today. Technology is
   moving very quickly in this space and whether you are a web author,
   a CMS developer, or a regular web user, Ajax will make some exciting
   changes to your world. (We'll assume you already know about Ajax; if
   not, read this introductory primer.)

   For the Web CMS world, Ajax offers the possibility for a better user
   experience for content authors as well as site visitors. But what of its
   limitations? While Ajax delivers many benefits, it also creates a few
   challenges. This article will look at some of the benefits and
   limitations of Ajax for managing web content.


   2 Sides to Ajax in your CMS

   Fundamentally, there are two dimensions to examining Ajax and your content
   management system.

   Ajax in my CMS Interface: Firstly, how is my CMS Vendor applying Ajax to improve
   their CMS product to benefit authors and site managers? To the extent that Ajax can
   afford a potentially more familiar, desktop feel to a web-based application, this is the
   area we would expect most of their attention to be focused at the moment. And
   indeed, many vendors are working on Ajax-driven interfaces for their products.

   CMS support for creating Ajax-driven web sites: Secondly, what tools is my CMS
   vendor providing me with to include Ajax in the sites I produce for my customers?
   This area may come later but is vitally important. As Ajax interfaces become
   commonplace, your team will want to look at providing them to your customers. It is
   one thing to have a greatly improved user interface on your CMS tool, but you do not
   want to lose web traffic and sales because your websites have fallen behind on
   usability.


   What opportunities does Ajax afford?

   Single-Page Interface: One of the great things about Ajax is that you don't need a
   page refresh every time you want to add some more information to the page. This is
   sometimes referred to as a "Single-Page Interface" and is particularly useful where a
   large data set is required behind the scenes to enable a function. For example, CMS
   vendor Day has long made use of Ajax for their tree navigation, overcoming many of
   the technical and graphical challenges with the traditional approach (see screen
   below). For example maintaining the state of which branches of the tree are open and
   which are closed is very difficult with standard HTML, and is also very inefficient on
   the network.
                                         Close this window




http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1                    2006-4-5
Ajax and Your CMS -- CMS Watch                                                      页码,2/5




                            Day's expandable nav tree (click to enlarge)


   CMS vendor Mediasurface uses Ajax for presenting context-sensitive information. The
   screens below illustrate what happens when the 'Edit Item Details' task is selected.
   The toolbar, menu bar and task pane on the right are updated directly within the
   browser window to present the editor with additional information, the appropriate edit
   boxes, and a revised set of options.




                                          Click to enlarge




http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1                  2006-4-5
Ajax and Your CMS -- CMS Watch                                                        页码,3/5




                                      Click to enlarge


 Ajax has been successfully used for in line spell checking on the web, and can work
 well for auto completion of meta data in a manner similar to Google's Googlesuggest.
 Editors will like the fact that they can save changes without the need for a full
 "submit," which might generate a new version or prematurely kick off a workflow with
 an unnecessary e-mail to somebody. As an approach, Ajax supersedes the frames
 approach -- still common in many DM and CM systems -- to providing subparts of an
 interface that can be managed independently.

 Drag and drop: Ajax has brought with it a seemingly infinite increase in the amount
 of information available for the page designer to present to the user. Consequently
 there has been a revival and acceleration in the development of web user interface
 tools and techniques. One notable opportunity for the content management
 applications is the use of drag-and-drop for positioning and ordering of content on a
 page, again traditionally the realm of the desktop application. Examples of this type
 of interface in action include customising news layout in google news and gadget
 layout on Microsoft's live.com. Also Scriptaculous offers some very interesting demos.

 Better Performance: This covers a range of issues, but in general Ajax provides a
 faster update of page content than does full page refreshing. Since the server is
 sending data and not full pages, response times improve, and with layout changes
 reflected at the client, the overall load on the server is reduced (although this needs
 to be balanced off with the increase in the number of requests being made back to
 the server). For authors, this can mean a snappier experience within the tool ?never
 a bad thing - and likewise, improve the performance of a CMS-driven site that would
 otherwise serve entire pages dynamically.

 Nevertheless, it is worth being aware of the user perception issue. If authors can't
 see anything happening, they will think that nothing is happening. Ironically, a visible
 but slower full page refresh maybe perceived as more responsive than a sub page
 update. Inserting the word "loading" or similar while data is being retrieved can really
 assist here.

 Manage Ajax-enabled snippets: If you are going to use a heavily-Ajax-driven
 interface on your websites, then it is worth considering a CMS to manage intra-page
 snippets and interaction as discrete elements. In practice it could be difficult to
 manage a rich, interactive site that uses single page interfaces without a CMS, since
 at this point you are managing content components rather than entire "pages." The
 whole notion of "pages" tends to dissipate, which would call for a more component-
 oriented -- rather than page-oriented -- CMS for those looking to manage Ajax-driven
 websites.




http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1                    2006-4-5
Ajax and Your CMS -- CMS Watch                                                         页码,4/5



 Manage DHTML/JavaScript components: Starting a large Ajax website from
 scratch can certainly make extra work for a skilled JavaScript developer, so there is a
 great benefit from building on someone else's work. The Dojo library stands out as an
 excellent cross-platform Ajax toolkit, while DWR for Java and SAjax for PHP are
 capable libraries with extensive server-side integration. The key question for your
 CMS is: how will it manage these components? Web CMS tools are notoriously poor at
 managing stylesheet elements and client-side scripting in particular. The rise of Ajax
 should prompt some improvements here.


 What are the potential drawbacks for the Web Author?

 Back Button & Bookmarks: "Single Page" interfaces complicate the relationship
 between the URL and the content in the page. Consequently you break two traditional
 web expectations, the back button and the bookmark. A number of vendors deal with
 this by removing the traditional web buttons from the Ajax user interface. Here the
 desktop concept of undo becomes much more relevant and the vendor can more
 closely control the navigation of the user within the application. To be sure, many
 CMS tools today will not support the back button nor persistent URLs within the
 application, although in general they are getting better at this, and URLs that can be
 embedded in e-mails are increasingly important in a world where information workers
 spend much of their day in Outlook.

 It is work noting, however, that there are circumstances when a user would not
 expect these features to work even in the traditional web world, for example,
 pressing the back button after submitting your credit card details does not undo an
 online purchase. Likewise, bookmarking the BBC News home page does not return
 you to the same content every day.

 Refresh: Related to the above issue is the risk that a page refresh part way through
 an Ajax sequence will return the user to a page at the beginning of the sequence. For
 example, if you are looking at a specific mail on Gmail and press refresh you are
 returned to the Inbox. Here again, most CMS tools -- which are essentially forms-
 based applications -- already will tend to create unexpected behavior upon manual
 page refresh, but Ajax probably aggravates the problem.

 Visual Accessibility: This relates to the use of screen readers like Jaws. Readers
 that are designed around traditional Multi-Page Interface sites are going to struggle
 with an Ajax rich site. It should be noted that most CMS interfaces are already non-
 compliant for all sorts of reasons (use of color for meaning, graphical navigation,
 etc.), and many vendors are working on separate, accessible interfaces. Ajax will
 compound the challenge for vendors and buyers alike. In time we expect that screen
 readers will improve to handle more dynamic pages, and CMS vendors will become
 better at allowing their pages to integrate with screen readers, but meanwhile this
 presents a real challenge.

 Security: Ajax doesn't present terribly new or extraordinary security risks since it
 employs technologies that have been around for several years, although it is always
 possible on a public-facing site to create vulnerabilities through bad code. A bigger
 issue may be that security conscious users that have turned JavaScript off will be
 more inconvenienced by Ajax websites than conventional ones. Fortunately, the
 number of security issues with major browsers is reducing while the web's
 dependence on JavaScript is increasing. The combination of these events means that
 fewer and fewer users will turn JavaScript off and many will adopt plug-ins that allow
 JavaScript from selective sites.

 Clearly the impact of any of these issues is reduced if your CMS is all internal-facing.
 Many if not most CMS products on the market today employ JavaScript already. See
 DWR for a more detailed discussion.

 Preview: Authors always want to preview content before publishing it. So how can
 your CMS enable them to preview changes to a text snippet that appears only under




http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1                     2006-4-5
Ajax and Your CMS -- CMS Watch                                                        页码,5/5



 certain circumstances? This challenge is similar to the problem of previewing pages
 destined to be published on highly personalized sites. Some vendors provide authors
 capabilities to simulate user behavior to confirm where and how modified content will
 appear. Publishers of Ajax-driven sites will want the same.

 Browser compatibility: Needless to say this is an issue on public sites, but it also
 comes into play on the CMS contributor side, where vendors are just now getting a
 decent handle on IE quirks and developing FireFox compatibility. Many of the
 technologies used by Ajax websites have been around for several years, but have
 been largely ignored by web developers. One of the big reasons for this was the
 difficulty developers had in making their solutions work in all browsers. Two recent
 factors have changed this to a large extent; browsers have become more standards
 based, and libraries like DOJO, DWR and SAjax (see above) do a lot to mask the
 nuances.

 Some of these issues may dissuade you or your vendor from using Ajax aggressively
 at the moment, but history would suggest that it is only a matter of time and of
 course some creative technical development before suitable solutions or work-
 arounds become available. Perhaps Ajax will even provide radically new approaches
 and give us better functionality than we thought possible.

 On the whole, Ajax is here to stay. It is still early days, but the number of
 unanswered questions appears to be more than matched by the growing amounts of
 development energy. While at the moment, content management vendors may be
 satisfied to experiment with Ajax in their contributor interfaces, their approaches will
 rapidly mature. After coming to appreciate Ajax within their CMS tool interfaces,
 content managers will be demanding support tools for Ajax in the templates and sites
 they themselves publish. It will be interesting to see how quickly the vendors can
 respond.


 Next:
 Send Feedback

 See all CMS Channel feature articles.

 Need to select a technology vendor, but confused about your choices? See our
 vendor-neutral technology reports.

 Join the conversation via Technorati.

 About the Author
              Jonathan Downes is founder of Prokata a growing resource for leaders
              navigating their organizations through the world of information
              management.



              Joe Walker is an Ajax expert and creator of DWR the most popular open
              source Ajax framework for Java.




http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1                     2006-4-5

Weitere ähnliche Inhalte

Was ist angesagt?

Setting up & Tracking AMP Pages in Google Analytics
Setting up & Tracking AMP Pages in Google AnalyticsSetting up & Tracking AMP Pages in Google Analytics
Setting up & Tracking AMP Pages in Google Analytics
Vivek Patel
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
Munish Gupta
 
Top 100 wordpress plugins
Top 100 wordpress pluginsTop 100 wordpress plugins
Top 100 wordpress plugins
guz393
 
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformWordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
George Kanellopoulos
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
pooyad
 

Was ist angesagt? (20)

Baobab WebSuite overview - Publisher's Toolbox
Baobab WebSuite overview - Publisher's ToolboxBaobab WebSuite overview - Publisher's Toolbox
Baobab WebSuite overview - Publisher's Toolbox
 
What is Server-side Rendering? How to Render Your React App on the Server-sid...
What is Server-side Rendering? How to Render Your React App on the Server-sid...What is Server-side Rendering? How to Render Your React App on the Server-sid...
What is Server-side Rendering? How to Render Your React App on the Server-sid...
 
Word press websites
Word press websitesWord press websites
Word press websites
 
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
Visualforce & Force.com Canvas: Unlock your Web App inside of Salesforce.com ...
 
Content Management System |CMS | Content Management System Basics |CMS for We...
Content Management System |CMS | Content Management System Basics |CMS for We...Content Management System |CMS | Content Management System Basics |CMS for We...
Content Management System |CMS | Content Management System Basics |CMS for We...
 
Sencha Web Applications Come of Age
Sencha Web Applications Come of AgeSencha Web Applications Come of Age
Sencha Web Applications Come of Age
 
Setting up & Tracking AMP Pages in Google Analytics
Setting up & Tracking AMP Pages in Google AnalyticsSetting up & Tracking AMP Pages in Google Analytics
Setting up & Tracking AMP Pages in Google Analytics
 
Salesforce Developer Garage Seattle: Force.com Canvas
Salesforce Developer Garage Seattle: Force.com CanvasSalesforce Developer Garage Seattle: Force.com Canvas
Salesforce Developer Garage Seattle: Force.com Canvas
 
Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas Apps
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web Developer
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
 
10 things to remember
10 things to remember10 things to remember
10 things to remember
 
Top 100 wordpress plugins
Top 100 wordpress pluginsTop 100 wordpress plugins
Top 100 wordpress plugins
 
Web Usability & SEO Glossary
Web Usability & SEO GlossaryWeb Usability & SEO Glossary
Web Usability & SEO Glossary
 
Force.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a RoadmapForce.com Canvas: 2 Case Studies and a Roadmap
Force.com Canvas: 2 Case Studies and a Roadmap
 
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformWordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 

Ähnlich wie Ajax And Your Cms

Websmovil 3
Websmovil 3Websmovil 3
Websmovil 3
petio909
 
Web Intensive Week 3 - Day 5
Web Intensive Week 3 - Day 5Web Intensive Week 3 - Day 5
Web Intensive Week 3 - Day 5
studiokandm
 
5a329780735625624 ch10
5a329780735625624 ch105a329780735625624 ch10
5a329780735625624 ch10
harkesh singh
 

Ähnlich wie Ajax And Your Cms (20)

Word press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs convertedWord press with react – implementing headless wordpress with reactjs converted
Word press with react – implementing headless wordpress with reactjs converted
 
Websmovil 3
Websmovil 3Websmovil 3
Websmovil 3
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client application
 
7 new techniques every web developer should know
7 new techniques every web developer should know7 new techniques every web developer should know
7 new techniques every web developer should know
 
Single Page Application (SPA): A Comprehensive Guide for Beginners
Single Page Application (SPA): A Comprehensive Guide for BeginnersSingle Page Application (SPA): A Comprehensive Guide for Beginners
Single Page Application (SPA): A Comprehensive Guide for Beginners
 
Why Should You Choose Webflow For Website Development?
Why Should You Choose Webflow For Website Development?Why Should You Choose Webflow For Website Development?
Why Should You Choose Webflow For Website Development?
 
Website Performance at Client Level
Website Performance at Client LevelWebsite Performance at Client Level
Website Performance at Client Level
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to Wordpress
 
Ajax Ppt 1
Ajax Ppt 1Ajax Ppt 1
Ajax Ppt 1
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Types, Features, and Examples of CMS for Web Development
Types, Features, and Examples of CMS for  Web DevelopmentTypes, Features, and Examples of CMS for  Web Development
Types, Features, and Examples of CMS for Web Development
 
What is a CMS.pdf
What is a CMS.pdfWhat is a CMS.pdf
What is a CMS.pdf
 
single page application
single page applicationsingle page application
single page application
 
Web 2 0 Tools
Web 2 0 ToolsWeb 2 0 Tools
Web 2 0 Tools
 
Web Intensive Week 3 - Day 5
Web Intensive Week 3 - Day 5Web Intensive Week 3 - Day 5
Web Intensive Week 3 - Day 5
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
 
What is a CMS.
What is a CMS.What is a CMS.
What is a CMS.
 
5a329780735625624 ch10
5a329780735625624 ch105a329780735625624 ch10
5a329780735625624 ch10
 
Reactjs Basics
Reactjs BasicsReactjs Basics
Reactjs Basics
 
Affordable and very creative web designs
Affordable and very creative web designsAffordable and very creative web designs
Affordable and very creative web designs
 

Mehr von yiditushe

Spring入门纲要
Spring入门纲要Spring入门纲要
Spring入门纲要
yiditushe
 
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
yiditushe
 
性能测试实践2
性能测试实践2性能测试实践2
性能测试实践2
yiditushe
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
yiditushe
 
性能测试技术
性能测试技术性能测试技术
性能测试技术
yiditushe
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
yiditushe
 
J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
yiditushe
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
yiditushe
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
yiditushe
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
yiditushe
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
yiditushe
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
yiditushe
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
yiditushe
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
yiditushe
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
yiditushe
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
yiditushe
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
yiditushe
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
yiditushe
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
yiditushe
 

Mehr von yiditushe (20)

Spring入门纲要
Spring入门纲要Spring入门纲要
Spring入门纲要
 
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
 
性能测试实践2
性能测试实践2性能测试实践2
性能测试实践2
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
 
性能测试技术
性能测试技术性能测试技术
性能测试技术
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
 
J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
 

Ajax And Your Cms

  • 1. Ajax and Your CMS -- CMS Watch 页码,1/5 Direct Web Remoting Ajax and Your CMS by Jonathan Downes and Joe Walker 03-Apr-2006 If a modern day Rip van Winkle woke up after just a year's sleep, he would be stunned by the buzz around Ajax today. Technology is moving very quickly in this space and whether you are a web author, a CMS developer, or a regular web user, Ajax will make some exciting changes to your world. (We'll assume you already know about Ajax; if not, read this introductory primer.) For the Web CMS world, Ajax offers the possibility for a better user experience for content authors as well as site visitors. But what of its limitations? While Ajax delivers many benefits, it also creates a few challenges. This article will look at some of the benefits and limitations of Ajax for managing web content. 2 Sides to Ajax in your CMS Fundamentally, there are two dimensions to examining Ajax and your content management system. Ajax in my CMS Interface: Firstly, how is my CMS Vendor applying Ajax to improve their CMS product to benefit authors and site managers? To the extent that Ajax can afford a potentially more familiar, desktop feel to a web-based application, this is the area we would expect most of their attention to be focused at the moment. And indeed, many vendors are working on Ajax-driven interfaces for their products. CMS support for creating Ajax-driven web sites: Secondly, what tools is my CMS vendor providing me with to include Ajax in the sites I produce for my customers? This area may come later but is vitally important. As Ajax interfaces become commonplace, your team will want to look at providing them to your customers. It is one thing to have a greatly improved user interface on your CMS tool, but you do not want to lose web traffic and sales because your websites have fallen behind on usability. What opportunities does Ajax afford? Single-Page Interface: One of the great things about Ajax is that you don't need a page refresh every time you want to add some more information to the page. This is sometimes referred to as a "Single-Page Interface" and is particularly useful where a large data set is required behind the scenes to enable a function. For example, CMS vendor Day has long made use of Ajax for their tree navigation, overcoming many of the technical and graphical challenges with the traditional approach (see screen below). For example maintaining the state of which branches of the tree are open and which are closed is very difficult with standard HTML, and is also very inefficient on the network. Close this window http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1 2006-4-5
  • 2. Ajax and Your CMS -- CMS Watch 页码,2/5 Day's expandable nav tree (click to enlarge) CMS vendor Mediasurface uses Ajax for presenting context-sensitive information. The screens below illustrate what happens when the 'Edit Item Details' task is selected. The toolbar, menu bar and task pane on the right are updated directly within the browser window to present the editor with additional information, the appropriate edit boxes, and a revised set of options. Click to enlarge http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1 2006-4-5
  • 3. Ajax and Your CMS -- CMS Watch 页码,3/5 Click to enlarge Ajax has been successfully used for in line spell checking on the web, and can work well for auto completion of meta data in a manner similar to Google's Googlesuggest. Editors will like the fact that they can save changes without the need for a full "submit," which might generate a new version or prematurely kick off a workflow with an unnecessary e-mail to somebody. As an approach, Ajax supersedes the frames approach -- still common in many DM and CM systems -- to providing subparts of an interface that can be managed independently. Drag and drop: Ajax has brought with it a seemingly infinite increase in the amount of information available for the page designer to present to the user. Consequently there has been a revival and acceleration in the development of web user interface tools and techniques. One notable opportunity for the content management applications is the use of drag-and-drop for positioning and ordering of content on a page, again traditionally the realm of the desktop application. Examples of this type of interface in action include customising news layout in google news and gadget layout on Microsoft's live.com. Also Scriptaculous offers some very interesting demos. Better Performance: This covers a range of issues, but in general Ajax provides a faster update of page content than does full page refreshing. Since the server is sending data and not full pages, response times improve, and with layout changes reflected at the client, the overall load on the server is reduced (although this needs to be balanced off with the increase in the number of requests being made back to the server). For authors, this can mean a snappier experience within the tool ?never a bad thing - and likewise, improve the performance of a CMS-driven site that would otherwise serve entire pages dynamically. Nevertheless, it is worth being aware of the user perception issue. If authors can't see anything happening, they will think that nothing is happening. Ironically, a visible but slower full page refresh maybe perceived as more responsive than a sub page update. Inserting the word "loading" or similar while data is being retrieved can really assist here. Manage Ajax-enabled snippets: If you are going to use a heavily-Ajax-driven interface on your websites, then it is worth considering a CMS to manage intra-page snippets and interaction as discrete elements. In practice it could be difficult to manage a rich, interactive site that uses single page interfaces without a CMS, since at this point you are managing content components rather than entire "pages." The whole notion of "pages" tends to dissipate, which would call for a more component- oriented -- rather than page-oriented -- CMS for those looking to manage Ajax-driven websites. http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1 2006-4-5
  • 4. Ajax and Your CMS -- CMS Watch 页码,4/5 Manage DHTML/JavaScript components: Starting a large Ajax website from scratch can certainly make extra work for a skilled JavaScript developer, so there is a great benefit from building on someone else's work. The Dojo library stands out as an excellent cross-platform Ajax toolkit, while DWR for Java and SAjax for PHP are capable libraries with extensive server-side integration. The key question for your CMS is: how will it manage these components? Web CMS tools are notoriously poor at managing stylesheet elements and client-side scripting in particular. The rise of Ajax should prompt some improvements here. What are the potential drawbacks for the Web Author? Back Button & Bookmarks: "Single Page" interfaces complicate the relationship between the URL and the content in the page. Consequently you break two traditional web expectations, the back button and the bookmark. A number of vendors deal with this by removing the traditional web buttons from the Ajax user interface. Here the desktop concept of undo becomes much more relevant and the vendor can more closely control the navigation of the user within the application. To be sure, many CMS tools today will not support the back button nor persistent URLs within the application, although in general they are getting better at this, and URLs that can be embedded in e-mails are increasingly important in a world where information workers spend much of their day in Outlook. It is work noting, however, that there are circumstances when a user would not expect these features to work even in the traditional web world, for example, pressing the back button after submitting your credit card details does not undo an online purchase. Likewise, bookmarking the BBC News home page does not return you to the same content every day. Refresh: Related to the above issue is the risk that a page refresh part way through an Ajax sequence will return the user to a page at the beginning of the sequence. For example, if you are looking at a specific mail on Gmail and press refresh you are returned to the Inbox. Here again, most CMS tools -- which are essentially forms- based applications -- already will tend to create unexpected behavior upon manual page refresh, but Ajax probably aggravates the problem. Visual Accessibility: This relates to the use of screen readers like Jaws. Readers that are designed around traditional Multi-Page Interface sites are going to struggle with an Ajax rich site. It should be noted that most CMS interfaces are already non- compliant for all sorts of reasons (use of color for meaning, graphical navigation, etc.), and many vendors are working on separate, accessible interfaces. Ajax will compound the challenge for vendors and buyers alike. In time we expect that screen readers will improve to handle more dynamic pages, and CMS vendors will become better at allowing their pages to integrate with screen readers, but meanwhile this presents a real challenge. Security: Ajax doesn't present terribly new or extraordinary security risks since it employs technologies that have been around for several years, although it is always possible on a public-facing site to create vulnerabilities through bad code. A bigger issue may be that security conscious users that have turned JavaScript off will be more inconvenienced by Ajax websites than conventional ones. Fortunately, the number of security issues with major browsers is reducing while the web's dependence on JavaScript is increasing. The combination of these events means that fewer and fewer users will turn JavaScript off and many will adopt plug-ins that allow JavaScript from selective sites. Clearly the impact of any of these issues is reduced if your CMS is all internal-facing. Many if not most CMS products on the market today employ JavaScript already. See DWR for a more detailed discussion. Preview: Authors always want to preview content before publishing it. So how can your CMS enable them to preview changes to a text snippet that appears only under http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1 2006-4-5
  • 5. Ajax and Your CMS -- CMS Watch 页码,5/5 certain circumstances? This challenge is similar to the problem of previewing pages destined to be published on highly personalized sites. Some vendors provide authors capabilities to simulate user behavior to confirm where and how modified content will appear. Publishers of Ajax-driven sites will want the same. Browser compatibility: Needless to say this is an issue on public sites, but it also comes into play on the CMS contributor side, where vendors are just now getting a decent handle on IE quirks and developing FireFox compatibility. Many of the technologies used by Ajax websites have been around for several years, but have been largely ignored by web developers. One of the big reasons for this was the difficulty developers had in making their solutions work in all browsers. Two recent factors have changed this to a large extent; browsers have become more standards based, and libraries like DOJO, DWR and SAjax (see above) do a lot to mask the nuances. Some of these issues may dissuade you or your vendor from using Ajax aggressively at the moment, but history would suggest that it is only a matter of time and of course some creative technical development before suitable solutions or work- arounds become available. Perhaps Ajax will even provide radically new approaches and give us better functionality than we thought possible. On the whole, Ajax is here to stay. It is still early days, but the number of unanswered questions appears to be more than matched by the growing amounts of development energy. While at the moment, content management vendors may be satisfied to experiment with Ajax in their contributor interfaces, their approaches will rapidly mature. After coming to appreciate Ajax within their CMS tool interfaces, content managers will be demanding support tools for Ajax in the templates and sites they themselves publish. It will be interesting to see how quickly the vendors can respond. Next: Send Feedback See all CMS Channel feature articles. Need to select a technology vendor, but confused about your choices? See our vendor-neutral technology reports. Join the conversation via Technorati. About the Author Jonathan Downes is founder of Prokata a growing resource for leaders navigating their organizations through the world of information management. Joe Walker is an Ajax expert and creator of DWR the most popular open source Ajax framework for Java. http://www.cmswatch.com/Feature/143-Direct-Web-Remoting?printable=1 2006-4-5