Path

ez projects / ezjscore


eZ JSCore

UNIX name Owner Status Version Compatible with
ezjscore André R stable 1.1 4.1+
.

Important note :

 This project is now hosted on github. We have explained the Whys and Whatfors in this post : http://share.ez.no/blogs/ez/ez-extensions-now-on-github-waiting-for-your-commits. You can now find the sources of this project here : http://github.com/ezsystems/ezjscore . Contribution is even more encouraged now relying on github’s collaborative development features. Feel free to fork, hack, and channel the changes back through a pull request. All of this is properly described in the post above.

 Waiting for your commits !

Description

An ajax core extension for eZ Publish for easier client / server integrations using yui 3.0 and/or jQuery out of the box (a small wrapper for ajax calls is all that is needed to support other libraries).
It also includes tools for on demand script / css loading + packing / minifying, json / xml / text encoding content and access checking with limitations support. Its included in eZ Publish 4.2 and up, and works on all 4.x versions (4.1 required for some features in ezjscore 1.1+).

* "StarRating" implemented on top of ezjscore: http://projects.ez.no/ezstarrating

Requirements

  • eZ Publish 4.1 and higher (1.0.1 works on 4.0.x)
  • PHP 5.2.1 and higher OR
  • PHP 5.1.2 and higher + PHP JSON extension

Documentation

See share.ez.no article: ezjscore: eZ Publish JavaScript and Ajax framework

Examples

See doc section above for more in depth examples.

NOTE: Make sure you specify language for yui3io and jqueryio as described here on multi language installs.

Example of use with yui 3.0:
{ezscript_require(array( 'ezjsc::yui3', 'ezjsc::yui3io') )} 
<script type="text/javascript">
{literal}
YUI( YUI3_config ).use('io-ez', function( Y )
{
    Y.io.ez( 'ezjsc::time', {data: 'postData=hi!', on: {success: function(id,r){ alert(r.responseJSON.content) }}} );
});
{/literal}
</script>
 
Example of use with jquery:
{ezscript_require(array( 'ezjsc::jquery', 'ezjsc::jqueryio') )} 
<script type="text/javascript">
{literal}
    jQuery.ez( 'ezjsc::time', {postData: 'hi!'}, function(data){ alert(data.content) } );
{/literal}
</script>
 
Full in the wild examples from existing implementations:

History

This extension is the continuation of ezyui (which was the continuation of ezcore)
with added support for jQuery in additions to yui 3.0 by popular demand. It's also been cleaned up and keyword and rating code has been removed/moved to other projects as this extension is meant to only be the building block that other extensions can build upon.
 

 About

 * jQuery, YUI 2.x and YUI 3.0 is bundled (but CDN used by default)
 * On demand JavaScript / css loading
 * Packing and minification of loaded files
 * Files are served by Apache/web server so only overhead on generation witch is cached and can be placed inside cache blocks that are pr uri
 * Supports php and template handlers to generate JavaScript and css dynamically (same one used to integrate eZ Publish i18n with tinymce in ezoe)
 * including php handlers to automatically get jQuery/Yui[2|3] from either cdn or locally based on settings in ezjscore.ini (see examples on project page)
 * These handlers can also be called directly from JavaScript as a an very simple to setup Ajax call, as done in example on project site.
 * Above handlers have full permission support as defined in ezjscore.ini
 * Ajax call's can be accelerated out of the box by using index_ajax.php
 

 TODO

(and would be great to get some help / hints / requirements on)
 * Documentation on how to get started. Currently there is only example on project page and in ezjscore.ini, as well as advance example in ezstarrating* and almost as advance example in ezoe 5.1.0alpha1**.
 * template handlers does not let you specify expiry time like static files (modified time) and php handlers do ( ::getCacheTime )
 * Possibility to specify version you want of jQuery/YUI, currently you'll get what the ezjscore is configured for, should maybe be possible to select major branches like YUI 2.7 vs 2.8, but this is non issue in YUI 3.0 as it handles version loading in JavaScript..
 
 * http://svn.projects.ez.no/ezstarr...content/datatype/view/ezsrrating.tpl
 
 ** http://svn.projects.ez.no/ezoe/tr...ent/datatype/edit/ezxmltext_ezoe.tpl

No news yet.

This project has no reviews yet. Be the first one to review it!