Forums / Suggestions / stretch eZp to have google-like functionality?

stretch eZp to have google-like functionality?

Author Message

Tom C

Wednesday 23 February 2005 7:15:57 pm

http://www.adaptivepath.com/publications/essays/archives/000385.php

This essay with nice diagrams explains recent web applications developed at google, and describes that it constitutes a new approach with promising applications across the web.

Please check it out and see if any aspects would be useful to incorporate into eZpublish's development framework.

"Ajax isn't a technology. It's really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:

* standards-based presentation using XHTML and CSS;
* dynamic display and interaction using the Document Object Model;
* data interchange and manipulation using XML and XSLT;
* asynchronous data retrieval using XMLHttpRequest;
* and JavaScript binding everything together.

Take a look at Google Suggest. Watch the way the suggested terms update as you type, almost instantly. Now look at Google Maps. Zoom in. Use your cursor to grab the map and scroll around a bit. Again, everything happens almost instantly, with no waiting for pages to reload.

An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary (an Ajax engine) between the user and the server. It seems like adding a layer to the application would make it less responsive, but the opposite is true.

Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine--written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user's behalf. The Ajax engine allows the user's interaction with the application to happen asynchronously, independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something...

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year--Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps-- are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps."

Gabriel Ambuehl

Thursday 24 February 2005 12:05:29 am

The one place were it really would make sense, IMHO, is the dynamic menu in 3.5.0 admin area. For somewhat content rich sites, it takes a long time to load. Ajax could speed it up nicely.

However, I assume Ajax generates pretty hefty server loads.

Visit http://triligon.org

Thomas Nunninger

Thursday 24 February 2005 1:00:53 am

The Web Hypertext Application Technology Working Group (http://whatwg.org) "a loose unofficial collaboration of Web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web" develops three specs (http://www.whatwg.org/specs/) wtih a similar target:

"<b>Web Applications 1.0</b>

Extensions to HTML to make it more suitable for application development.

<b>Web Forms 2.0</b>

This specification defines Web Forms 2.0, an extension to the forms features found in HTML 4.01's forms chapter. Web Forms 2.0 applies to both HTML and XHTML user agents, and provides new strongly-typed input fields, new attributes for defining constraints, a repeating model for declarative repeating of form sections, new DOM interfaces, new DOM events for validation and dependency tracking, and XML submission and initialization of forms. This specification also standardises and codifies existing practice in areas that have not been previously documented.

HTML4, XHTML1.1 and the DOM are thus extended in a manner which has a clear migration path from existing HTML forms, leveraging the knowledge authors have built up with their experience with HTML so far.

<b>Web Controls 1.0</b>

Some DOM and CSS extensions to create new form controls and widgets"

Probably it will last some time till they implement it in their browsers - but I think, it ist worth to observe the developement - and be fast when it comes to prepare eZ publish

Frederik Holljen

Thursday 24 February 2005 1:23:10 am

Gabriel,

We have been discussing using this technology for the left hand side tree menu for some time already. There is one issue to resolve though: how to cache the menu data between client reloads.

Frederik

Gabriel Ambuehl

Thursday 24 February 2005 2:09:49 am

Duuh. I missed the issue of caching it between reloads, that's a non trivial problem indeed. I'll give it some thought myself ;-).

Visit http://triligon.org

Bruce Morrison

Tuesday 01 March 2005 7:46:32 pm

Once place where this would be very handy (and more easily implemented than the LHM) is the role setups for content module.

Cheers
Bruce

My Blog: http://www.stuffandcontent.com/
Follow me on twitter: http://twitter.com/brucemorrison
Consolidated eZ Publish Feed : http://friendfeed.com/rooms/ez-publish

eZ debug

Timing: Jan 18 2025 11:00:31
Script start
Timing: Jan 18 2025 11:00:31
Module start 'content'
Timing: Jan 18 2025 11:00:32
Module end 'content'
Timing: Jan 18 2025 11:00:32
Script end

Main resources:

Total runtime0.9706 sec
Peak memory usage4,096.0000 KB
Database Queries209

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0082 588.9609180.8125
Module start 'content' 0.00820.8107 769.7734697.7578
Module end 'content' 0.81890.1516 1,467.5313342.8594
Script end 0.9706  1,810.3906 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.4093210.0002
Check MTime0.00160.1681210.0001
Mysql Total
Database connection0.00150.159410.0015
Mysqli_queries0.881490.80922090.0042
Looping result0.00240.24432070.0000
Template Total0.932996.120.4664
Template load0.00220.231020.0011
Template processing0.930695.877120.4653
Template load and register function0.00020.016910.0002
states
state_id_array0.00120.125910.0012
state_identifier_array0.00120.127720.0006
Override
Cache load0.00190.1991420.0000
Sytem overhead
Fetch class attribute can translate value0.00150.156960.0003
Fetch class attribute name0.00140.145390.0002
XML
Image XML parsing0.00190.194360.0003
class_abstraction
Instantiating content class attribute0.00000.001990.0000
General
dbfile0.00450.4632390.0001
String conversion0.00000.000630.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
8content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
3content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 21
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs