<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>News from Planet eZ publish</title>
    <link>http://planetezpublish.org</link>
    <description></description>
    <language></language>
    <item>
      <pubDate>Tue, 13 May 2008 08:23:58 GMT</pubDate>
      <author>Maxime Thomas</author>
      <title>jQuery Challenge - Part 2</title>
      <link>http://www.wascou.org/Blogs/Maxime-THOMAS/jQuery-Challenge-Part-2</link>
      <description>&lt;p&gt;It seems that the first version of the &lt;b&gt;&lt;i&gt;jQuery Who&apos;s Who&lt;/i&gt;&lt;/b&gt; library is finished. I present here what I&apos;ve done and some feedbacks on the use of jQuery.&lt;/p&gt;
&lt;div class=&quot;object-center&quot;&gt;
&lt;div class=&quot;content-view-embed&quot;&gt;
    &lt;div class=&quot;class-folder&quot;&gt;
    &lt;h2&gt;jQuery Who&apos;s Who 0.1&lt;/h2&gt;

    &lt;div class=&quot;content-body&quot;&gt;&lt;a href=&quot;/wascou/content/download/168/864/file/jquery_whoswho.zip&quot;&gt;jquery_whoswho.zip&lt;/a&gt; 71.04 kB     &lt;/div&gt;
   &lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;eztoc848_0_1&quot; id=&quot;eztoc848_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;How it works&lt;/h3&gt;&lt;p&gt;It is very simple to use. You just have to include the javascript files (jquery and jquery.whoswho) and the stylesheet files (a CSS file I provided for the example). Then you must configure it :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;IMAGE_ID : this the id of the image you would like to tag.&lt;/li&gt;

&lt;li&gt;JSON_URL : URL which will provide content to the list. The format of this file must be :&lt;/li&gt;

&lt;/ul&gt;
&lt;pre&gt;{
 10:{&quot;first_name&quot; : &quot;Kylie&quot;,&quot;last_name&quot; : &quot;Minogue&quot;},
 20:{&quot;first_name&quot; : &quot;Robbie&quot;,&quot;last_name&quot; : &quot;Williams&quot;},
 30:{&quot;first_name&quot; : &quot;Mickael&quot;,&quot;last_name&quot; : &quot;Jackson&quot;},
 40:{&quot;first_name&quot; : &quot;Madonna&quot;,&quot;last_name&quot; : &quot;&quot;},
 50:{&quot;first_name&quot; : &quot;Christina&quot;,&quot;last_name&quot; : &quot;Aguilera&quot;},
...
}&lt;/pre&gt;
&lt;ul&gt;

&lt;li&gt;SQUARE_BOUNDARY : size of the square. By default, I set it to 100px.&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;I have tested it a lot but some bugs may remain. Just tell me.&lt;/p&gt;&lt;a name=&quot;eztoc848_0_1&quot; id=&quot;eztoc848_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Structure of the package&lt;/h3&gt;&lt;p&gt;This is how I have organized the package :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;data : some data for the tests&lt;/li&gt;

&lt;li&gt;lib : where the libs are placed : jQuery 1.2.3 and jQuery Dump Plugin (for debug and dev purpose only)&lt;/li&gt;

&lt;li&gt;packed : the packed versions of the jQuery Who&apos;s Who library and the CSS file.&lt;/li&gt;

&lt;li&gt;source : the source. :-D&lt;/li&gt;

&lt;li&gt;LICENSE : the license : GPL 3.0.&lt;/li&gt;

&lt;li&gt;pack.bat / pack.sh : a little script to easily pack the files (reduces the files size to 50%). It requires the &lt;a href=&quot;http://open.yahoo.com/yui/compressor/&quot; target=&quot;_blank&quot;&gt;YUI Compressor&lt;/a&gt; (BSD).&lt;/li&gt;

&lt;li&gt;README : the readme file, describes how to install this plugin.&lt;/li&gt;

&lt;li&gt;test.html / test.packed.html : a test file to demonstrate the use of the jQuery Who&apos;s Who library.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name=&quot;eztoc848_0_1&quot; id=&quot;eztoc848_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Best practices&lt;/h3&gt;&lt;p&gt;And a little feedback of my jQuery&apos;s use.&lt;/p&gt;&lt;p&gt;It&apos;s very easy to use it and to bind functions to events, however, this &lt;a href=&quot;http://docs.jquery.com/Tutorials:AJAX_and_Events&quot; target=&quot;_blank&quot;&gt;tutorial&lt;/a&gt; recomands to bind a function to an event only when it is required.&lt;/p&gt;&lt;p&gt;It may occur that the DOM you would like to access doesn&apos;t exist at the moment you are running it. It means that if your code is appending HTML after a DOM node on a button click, you would like to access and manipulate this new fresh inserted code. It is not possible unless you call the bind function at the perfect moment.&lt;/p&gt;&lt;pre&gt;$(document).ready( function(){


$(&quot;#button&quot;).click(function(){


$(&quot;#test&quot;).append(&apos;&lt;div id=&quot;inner&quot;&gt;&lt;/div&gt;&apos;);

});


});
&lt;/pre&gt;&lt;p&gt;In this exemple, when we click on the button element (could be a real HTML input button, or not), jQuery inserts some HTML (a new div in this case) at the end of the inner HTML of the test element. So you have a new div which wasn&apos;t there before.&lt;/p&gt;&lt;p&gt;Then you can bind some event on this new element by adding code just after the append function has been called. The issue is that at each click, you will bind the event. Then after two clicks, the HTML code will be appended two times rather than one time as expected. The solution is to separate the functions adding content to the DOM and the functions that bind it. The way to do it is to concretely create a function outside the click bind and put our new bind inside it. Then, at the end of the click bind function, we just call the function we have created.&lt;/p&gt;&lt;p&gt;The other point is the way to develop and to debug your own application : &lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;the visibility of the function and the variables is reduced to the anonymous function declared in the $(document).ready() call. So it&apos;s a bit difficult to access it from outside and to know what is the value of the variable. I&apos;ve found the provided plugin on the net, it is very useful and allow to easily debug your application.&lt;/li&gt;

&lt;/ul&gt;

&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
                    &lt;img src=&quot;/var/plain_site/storage/images/media/images/jquery-dump-plugin/861-1-eng-GB/jQuery-Dump-Plugin_medium.png&quot; width=&quot;200&quot; height=&quot;183&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;ul&gt;

&lt;li&gt;the use of FireBug allows to quickly test the javascript, line by line. Moreover, you can test a piece of script in the console command line and inspect it in the DOM Inspector.&lt;/li&gt;

&lt;/ul&gt;

&lt;table class=&quot;renderedtable&quot;  border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;  width=&quot;100%&quot;&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot;&gt;  Command line
  &lt;/td&gt;

&lt;td valign=&quot;top&quot;&gt;  
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
                    &lt;img src=&quot;/var/plain_site/storage/images/media/images/firebug-1/855-1-eng-GB/Firebug-1_medium.png&quot; width=&quot;200&quot; height=&quot;96&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;/td&gt;
&lt;/tr&gt;&lt;tr class=&quot;bglight&quot;&gt;
&lt;td valign=&quot;top&quot;&gt;  DOM Inspector
  &lt;/td&gt;

&lt;td valign=&quot;top&quot;&gt;  
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
                    &lt;img src=&quot;/var/plain_site/storage/images/media/images/firebug-2/858-1-eng-GB/Firebug-2_medium.png&quot; width=&quot;200&quot; height=&quot;123&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;a name=&quot;eztoc848_0_1&quot; id=&quot;eztoc848_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Next Step&lt;/h3&gt;&lt;p&gt;And finally, the next step is to integrate this library in eZPublish, I thought about some interesting features like a generic db connector to extract data from db and output JSON. By the way, it will use eZComponents...&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 10 May 2008 12:18:34 GMT</pubDate>
      <author>Piotr Karaś</author>
      <title>User-readable cache-block identifiers</title>
      <link>http://ez.ryba.eu/index.php/ez_publish/random_thoughts/user_readable_cache_block_identifiers</link>
      <description>
&lt;p&gt;
Just as I&apos;m struggling with cache optimization for one of the current projects, I discovered that it would be great if cache-block functionality had one more parameter - a user-defined and user-readable identifier. Being able to clear all the cache by calling this identifier would be a great enhancement. It would be enough if it was implemented at eZ API level, so that users were able to create their own actions (views) to handle it. This would be especially benefitial for caching of custom modules and views, outside content and content tree itself.
&lt;/p&gt;

&lt;p&gt;
Life example: Imagine expensive custom views that require couple of hundreds of SQL queries per view or view/param combination, and can be accessed/managed by a) the owner (of something), b) all other users. Now, leaving these views uncached would be suicidal, and cache-blocks would be quite handy, and there would be only two cache blocks per view (since you either are the owner or not). Now, the additional expectation is that the owner will always have his view up-to-date, which means we can&apos;t really cache it for him. Wouldn&apos;t it be great to be able to create a button named &quot;Refresh my view&quot;, which would cause one particular cache-block (or cache block group) be cleared? In that way, we could cache the owner&apos;s view as well, making it possible to let a manual clear only when needed ;)
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 19:01:25 GMT</pubDate>
      <author>Łukasz Serwatka</author>
      <title>Silverlight support in eZ Publish</title>
      <link>http://serwatka.net/index.php/en/blog/silverlight_support_in_ez_publish</link>
      <description>&lt;p&gt;
As Microsoft Silverlight technology is becoming increasingly popular, it will be supported in the upcoming eZ Publish 4.1 release. Sites using the Website Interface and eZ Flow will include a Silverlight class and the corresponding view templates. Simply upload .xap files (compressed Silverlight package) as attributes in Silverlight objects; when such an object is viewed by a site visitor, your Silverlight media is loaded in the web browser (provided that the visitor has the Silverlight browser plugin installed). This is similar to how eZ Publish already supports .swf files via the Flash class. More information will be available as the next eZ Publish release date approaches.
&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 08 May 2008 12:59:44 GMT</pubDate>
      <author>Community news (ez.no)</author>
      <title>SHARE! Magazine for May is out</title>
      <link>http://ez.no/developer/news/share_magazine_for_may_is_out</link>
      <description>
&lt;p&gt;
This issue is dedicated to the 2008 Open Nordic Conference. We have speakers, program and the exhibition area ready, please download the issue via the image below and read more about it. 
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 06 May 2008 20:09:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Detecting Timezone By IP</title>
      <link>http://derickrethans.nl/detecting_timezone_by_ip.php</link>
      <description>
&lt;p&gt;
Through &lt;a href=&quot;http://planet-php.org&quot;&gt;Planet PHP&lt;/a&gt; I found an
article on &lt;a href=&quot;http://torrentialwebdev.com/blog/archives/152-Pre-populating-forms-with-the-timezone.html&quot;&gt;Pre-populating
forms with the timezone&lt;/a&gt;. I&apos;d normally add a comment instead, but
the comment would almost be larger then the original post, so I am
instead writing up an entry myself. The post describes several ways to
obtain the user&apos;s timezone and use that to pre-fill a form. None of them
are working properly though. I&apos;ll try to explain for each of them why
not, but first of all it is important to know what a timezone actually
is.
		&lt;/p&gt;

&lt;p&gt;
A timezone is a set of rules that determines the UTC offset for
different times around the year for a specific location. Because
of daylight savings time, a specific location can have two (or more)
different UTC offsets depending on what point in time you look at it.
Some areas might have had different rules in the past, even in the same
country. An example here is China, where currently there is only
one timezone, but previously there were multiple. Thus there are
different timezones for the different locations in China, even
though the current UTC offset is the same for all of them.
Timezones are identified by Country/City or Country/Subcountry/City.
		&lt;/p&gt;

&lt;p&gt;
The offering by &lt;a href=&quot;http://www.maxmind.com/timezone.txt&quot;&gt;MaxMind&lt;/a&gt; allows you to
link a country/region combination to Timezone identifier. For the US it
subdivides this per state even. However, it misses the different
timezones for Russia, Australia and even Indiana, USA.
		&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.ip2location.com/ip-country-region-city-latitude-longitude-zipcode-timezone.aspx&quot;&gt;IP2Location&lt;/a&gt;
only provides a single UTC offset per IP range, totally ignoring
daylight savings time.
		&lt;/p&gt;

&lt;p&gt;
The &lt;a href=&quot;http://www.hostip.info/dl/index.html&quot;&gt;Hostip.info&lt;/a&gt;
solution I can&apos;t access because phpclasses requires some stupid
registration.
		&lt;/p&gt;

&lt;p&gt;
As for the author&apos;s own solution, using JavaScript, is flawed at least
partly as well. In his example JavaScript only returns a UTC offset.
Luckily it is possible to detect the correct timezone quite a bit
better by using some of PHP&apos;s functionality. The following bit of code
uses both the UTC offset and the timezone abbreviation to find out the
user&apos;s timezone:
		&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
&amp;lt;?php
if (!isset($_GET[&apos;tzinfo&apos;])) {
?&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
var d = new Date()
var tza = d.toLocaleString().split(&amp;quot; &amp;quot;).slice(-1)
var tzo = d.getTimezoneOffset()
window.location = window.location + &apos;?tzinfo=&apos; + tza + &apos;|&apos; + tzo
&amp;lt;/script&amp;gt;
&amp;lt;/html&amp;gt;
&amp;lt;?php
} else {
list( $abbr, $offset ) = explode( &apos;|&apos;, $_GET[&apos;tzinfo&apos;]);
echo timezone_name_from_abbr( $abbr, $offset * -60 );
}
?&amp;gt;

&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
This is still not perfect of course, because it would for example give
the same result for most of Europe (Europe/Berlin).
		&lt;/p&gt;

&lt;p&gt;
Figuring out the user&apos;s timezone can be done by using a
high-accuracy database of IPs to lat/longitudes such as &lt;a href=&quot;http://hostip.info&quot;&gt;hostip.info&lt;/a&gt; and &lt;a href=&quot;http://www.maxmind.com/app/city&quot;&gt;MaxMind&lt;/a&gt; offer, as well as a
mapping from location to timezone. The latter however, is not available
as far as I know. If however a data file that has proper definitions of
the different timezone boundaries exist (mostly, on a per-province level
would be enough), then such a tool can be easily build. I saw that &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetMap&lt;/a&gt; has such a map,
but I can&apos;t really find the raw data for that unfortunately. It would
however, be awesome to have such a data file.
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 06 May 2008 12:30:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Xdebug finally in Debian</title>
      <link>http://derickrethans.nl/xdebug_finally_in_debian.php</link>
      <description>
&lt;p&gt;
&lt;img src=&apos;http://derickrethans.nl/images/content/xdebug_logo.png&apos; align=&apos;left&apos; alt=&apos;&apos;/&gt;
Since a few days, there is a new package in Debian: &lt;a href=&quot;http://lists.debian.org/debian-devel-changes/2008/05/msg00361.html&quot;&gt;php5-xdebug&lt;/a&gt;.
After a few years of talking licenses, due to the help of Martin
Meredith and &lt;a href=&quot;http://feeding.cloud.geek.nz/&quot;&gt;François
Marier&lt;/a&gt; Xdebug can finally be installed with apt-get. See the
synaptic screen shot as well:
		&lt;/p&gt;

&lt;p&gt;
&lt;img src=&apos;http://derickrethans.nl/images/content/xdebug-in-debian.png&apos; align=&apos;&apos; alt=&apos;&apos;/&gt;
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 02 May 2008 21:27:24 GMT</pubDate>
      <author>Maxime Thomas</author>
      <title>jQuery Challenge - Part1</title>
      <link>http://www.wascou.org/Blogs/Maxime-THOMAS/jQuery-Challenge-Part1</link>
      <description>&lt;p&gt;During a mission, I discovered &lt;a href=&quot;http://www.jquery.com&quot; target=&quot;_blank&quot;&gt;jQuery&lt;/a&gt; : a javascript library providing facilities and strong functionnalities to static web pages.&lt;/p&gt;&lt;a name=&quot;eztoc630_0_1&quot; id=&quot;eztoc630_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;jQuery&lt;/h3&gt;
&lt;div class=&quot;object-right&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
            &lt;a href=&quot;http://www.jquery.com&quot; target=&quot;_blank&quot;&gt;        &lt;img src=&quot;/var/plain_site/storage/images/media/images/jquery/680-1-eng-GB/jQuery_reference.png&quot; width=&quot;117&quot; height=&quot;32&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;The use of this library is very simple. It has been made to use the developper&apos;s life and specially the maintenance of functionnalities. The javascript entered is shorter and more simple. It has few concepts so it is very quick to learn.&lt;/p&gt;&lt;p&gt;There is only one entry point in jQuery : the $ function. It allows you to access some standard functions to select nodes in the DOM, to manipulate them or to handle events.&lt;/p&gt;&lt;p&gt;The selectors are very useful because you can select almost every item in the DOM using id, css class or javascript variable name. Then, if there is more than one occurence, the function will result an array. Moreover, you can use XPath expression as filters, to reduce the number of object returned.&lt;/p&gt;&lt;p&gt;The strength of jQuery is the chainability of the functions. It allows to increase readability and maintenance of a javascript. You can also combine jQuery with classical JavaScript scripts.&lt;/p&gt;&lt;a name=&quot;eztoc630_0_1&quot; id=&quot;eztoc630_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;The Challenge&lt;/h3&gt;&lt;p&gt;To test this library, I&apos;ve decided to develop an eZPublish extension integrating the jQuery library.&lt;/p&gt;&lt;p&gt;As a user case, I&apos;ve chosen the Facebook tagging functionnality : you choose a picture, you tag your friends, you save it, hovering the head of a friend, the name is shown...&lt;/p&gt;&lt;p&gt;I have first worked offline to design the javascript. Here&apos;s a snapshot of what I have done : &lt;a href=&quot;/wascou/Media/Images/jQuery-Challenge&quot; target=&quot;_self&quot;&gt;image gallery&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Conclusion : it&apos;s very easy to come to grips with jQuery and a bit hard to debug. So I&apos;ve searched and found a plugin to debug my script. See below.&lt;/p&gt;&lt;a name=&quot;eztoc630_0_1&quot; id=&quot;eztoc630_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Other interresting libraries...&lt;/h3&gt;&lt;a name=&quot;eztoc630_0_1&quot; id=&quot;eztoc630_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
            &lt;a href=&quot;http://www.extjs.com/&quot; target=&quot;_blank&quot;&gt;        &lt;img src=&quot;/var/plain_site/storage/images/media/images/extjs/683-1-eng-GB/ExtJS_reference.png&quot; width=&quot;227&quot; height=&quot;18&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;/h3&gt;
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
            &lt;a href=&quot;http://ui.jquery.com/&quot; target=&quot;_blank&quot;&gt;        &lt;img src=&quot;/var/plain_site/storage/images/media/images/jquery-ui/686-1-eng-GB/jQuery-UI_small.gif&quot; width=&quot;100&quot; height=&quot;23&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;I also heard about the &lt;a href=&quot;http://extjs.com/&quot; target=&quot;_blank&quot;&gt;ExtJS&lt;/a&gt; library which is a professional javascript library providing user interface components to build professional applications. jQuery is also experimenting this way by launching &lt;a href=&quot;http://ui.jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery UI&lt;/a&gt;. It will be at the end equivalent I guess, but you will be able to still use the jQuery library as an independant library.&lt;/p&gt;&lt;a name=&quot;eztoc630_0_1&quot; id=&quot;eztoc630_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Ressources&lt;/h3&gt;&lt;p&gt;Here&apos;s some ressource :&lt;/p&gt;&lt;p&gt;jQuery : &lt;a href=&quot;http://www.jquery.com/&quot; target=&quot;_blank&quot;&gt;http://www.jquery.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Visual jQuery : &lt;a href=&quot;http://www.visualjquery.com/1.1.2.html&quot; target=&quot;_blank&quot;&gt;http://www.visualjquery.com/1.1.2.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Dump Plugin for jQuery : &lt;a href=&quot;http://www.netgrow.com.au/files/javascript_dump.cfm&quot; target=&quot;_blank&quot;&gt;http://www.netgrow.com.au/files/javascript_dump.cfm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Javascript benchmark : &lt;a href=&quot;http://flesler.blogspot.com/2008/04/benchmarking-javascript-variables-and.html&quot; target=&quot;_blank&quot;&gt;http://flesler.blogspot.com/2008/04/benchmarking-javascript-variables-and.html&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 02 May 2008 08:54:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Location for PHP Vikinger</title>
      <link>http://derickrethans.nl/location_for_php_vikinger.php</link>
      <description>
&lt;p&gt;
We&apos;ve now found a definite location for &lt;a href=&quot;http://phpvikinger.org&quot;&gt;PHP Vikinger&lt;/a&gt;. It will be at one of
the old factory buildings here at &lt;a href=&quot;http://www.klosteroya.no/&quot;&gt;Klosterøya&lt;/a&gt;, close to &lt;a href=&quot;http://ez.no&quot;&gt;eZ Systems&apos;&lt;/a&gt; offices. The room has about space
for 80 people, and has a nice view over the river southwards. About 20
people from Norway, Iceland, the UK, Germany and Denmark have signed up
so far. This means there is still plenty of space for you! See &lt;a href=&quot;http://phpvikinger.org&quot;&gt;http://phpvikinger.org&lt;/a&gt; for more
information, and the &lt;a href=&quot;http://phpvikinger.org/news/news-2008-04-22&quot;&gt;invitation&lt;/a&gt;.
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 30 Apr 2008 12:13:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Firefox and 64 bit Java Plugin</title>
      <link>http://derickrethans.nl/firefox_and_64_bit_java_plugin.php</link>
      <description>
&lt;p&gt;
Because the lazy bastards at &lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4802695&quot;&gt;Sun&lt;/a&gt;
still didn&apos;t manage to make a 64 bit version of their Java plugin, you
have to go through all sorts of hoops to make it actually work. Normally
I wouldn&apos;t really care about this, but unfortunately my bank decided to
require Java working in the browser for authentication. Four hours of my
time later, I managed to get it working. To save others from some of the
pain, here is how I did that:
		&lt;/p&gt;

&lt;p&gt;
1. Download from &lt;a href=&quot;ftp://ftp.tux.org/pub/java/JDK-1.4.2/amd64/&quot;&gt;ftp://ftp.tux.org/pub/java/JDK-1.4.2/amd64/&lt;/a&gt;
the file &lt;a href=&quot;ftp://ftp.tux.org/pub/java/JDK-1.4.2/amd64/03/j2sdk-1.4.2-03-linux-amd64.bin&quot;&gt;j2sdk-1.4.2-03-linux-amd64.bin&lt;/a&gt;.
		&lt;/p&gt;

&lt;p&gt;
2. I downloaded it to ~/install, so go into that directory and run:
		&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
chmod +x j2sdk-1.4.2-03-linux-amd64.bin

&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
3. Run:
		&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
./j2sdk-1.4.2-03-linux-amd64.bin

&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
and wait until it&apos;s done installing (make sure it mentions
&quot;Uncompressing Blackdown Java 2 Standard Edition SDK
v1.4.2-03&quot; at some point).
		&lt;/p&gt;

&lt;p&gt;
4. Now, to make it work as a plugin, you have to link (not copy,
as that makes the browser crash) the plugin to your mozilla directory.
For me:
		&lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
cd /home/derick/.mozilla/plugins
ln -s /home/derick/install/j2sdk1.4.2⇢
  /jre/plugin/amd64/mozilla/libjavaplugin_oji.so .

&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
5. Restart the browser and check whether the blackdown java plugin shows
up if you go to &lt;a href=&quot;about:plugins&quot;&gt;about:plugins&lt;/a&gt;.
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 29 Apr 2008 14:27:14 GMT</pubDate>
      <author>Community news (ez.no)</author>
      <title>eZ Publish Community Developer Day, June 18th, 2008</title>
      <link>http://ez.no/developer/news/ez_publish_community_developer_day_june_18th_2008</link>
      <description>
&lt;p&gt;
On behalf of the eZ Labs team, you are cordially invited to eZ Publish Community Developer Day on the 18th of June, 2008 in Skien, Norway. 
&lt;/p&gt;

&lt;p&gt;
This is the fifth meeting in a little over a year. We decided to add a full morning of tutorials and break-out sessions on eZ Components, eZ Publish and extensions. Contrary to last year, the Developer Day will be organized separately from the &lt;a href=&quot;http://phpvikinger.org/&quot; target=&quot;_blank&quot;&gt;PHP Vikinger event&lt;/a&gt;, so people who want to attend both events and the conference will be able to do so.
&lt;/p&gt;

&lt;p&gt;
The afternoon on the 18th will consist of a few more talks by community members followed by a barcamp. In between, lunch will be offered for free
&lt;/p&gt;

&lt;p&gt;
Read below for the (draft) agenda and registration information (registration is required). The registration form allows for submitting proposals for a talk and/or subjects you would like to see treated during the barcamp.
&lt;/p&gt;

&lt;p&gt;
See you in Skien!
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Mon, 28 Apr 2008 00:11:07 GMT</pubDate>
      <author>Bruce Morrison</author>
      <title>What&apos;s happening with eZ Publish?</title>
      <link>http://feeds.feedburner.com/~r/SuffandNonsense/~3/279041034/whats-happening-with-ez-publish.html</link>
      <description>If you want to know what&apos;s happening with eZ publish then it seems that the Paris Developer day was the place to be.  You can read Damien Pobels excellent write up of the event (French).  If like me your French is limited to &quot;hello&quot;, &quot;goodbye&quot; and asking for a beer here&apos;s an English translation via google translate. Not perfect but you&apos;ll get the idea. Thanks Damien!&lt;img src=&quot;http://feeds.feedburner.com/~r/SuffandNonsense/~4/279041034&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 27 Apr 2008 12:49:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Unicode fun</title>
      <link>http://derickrethans.nl/unicode_fun.php</link>
      <description>
&lt;p&gt;
˙ǝʞoɾ slooɟ s,lıɹdɐ ʇxǝu ǝɥʇ ʇuǝɯǝldɯı oʇ ʇuɐʍ
noʎ ɟı unɟ - sıɥʇ ǝʞıl ƃuıɥʇǝɯos sı ʇlnsǝɹ ǝɥʇ
˙ǝsɹǝʌǝɹ puɐ &apos;uʍop ǝpısdn ʇxǝʇ sʇnd ʎllɐnʇɔɐ
ʇɐɥʇ ʇdıɹɔs ɐ ǝɯ ǝʌɐƃ lɐdoƃ oƃɐ ǝɯıʇ ǝɯos
˙ǝɯıʇ ǝɯos ǝʇınb ɹoɟ ǝpoɔıun puɐ sʇǝs
ɹǝʇɔɐɹɐɥɔ ɥʇıʍ ƃuıʎɐld uǝǝq ǝʌ,I
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 27 Apr 2008 08:38:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>PHP Vikinger unconference open for registration</title>
      <link>http://derickrethans.nl/php_vikinger_unconference_open_for_registration.php</link>
      <description>
&lt;p&gt;
&lt;img src=&apos;http://derickrethans.nl/images/content/phpv.gif&apos; align=&apos;&apos; alt=&apos;&apos;/&gt;
		&lt;/p&gt;

&lt;p&gt;
The &lt;a href=&quot;http://phpvikinger.org&quot;&gt;PHP Vikinger&lt;/a&gt; unconference,
to be held in Skien, Norway on June 21st is now open for &lt;a href=&quot;http://phpvikinger.org/register&quot;&gt;registration&lt;/a&gt;. You can find
the full invitation and announcement &lt;a href=&quot;http://phpvikinger.org/news/news-2008-04-22&quot;&gt;here&lt;/a&gt;, but I
will repeat the highlights.
		&lt;/p&gt;

&lt;p&gt;
First of all, this is a free event, but we do require you to register
for it to see whether we would have enough space. Places to sleep, and
getting to Skien should be arranged by yourself. We made a &lt;a href=&quot;http://phpvikinger.org/directions&quot;&gt;information page&lt;/a&gt; with
some suggestions though. The &lt;a href=&quot;http://php.no&quot;&gt;Norwegian PHP
User group&lt;/a&gt; has reports and videos from &lt;a href=&quot;http://php.no/phpvikinger&quot;&gt;last year&lt;/a&gt;. The unconference open
for all, from beginners to advanced PHP users. At the moment there are
about 12 registrations, from people from Norway, Germany, Iceland and
the UK. Hope to see you here!
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sat, 26 Apr 2008 18:38:59 GMT</pubDate>
      <author>Damien Pobel</author>
      <title>eZ developer day à Paris le 17/04/2008</title>
      <link>http://pwet.fr/blog/ez_developer_day_a_paris_le_17_04_2008</link>
      <description>
&lt;p&gt;
Voici un compte rendu du eZ developer day du 17/04/2008 qui s&apos;est déroulé dans les locaux de Sun Microsystems réunissant une cinquantaine de développeurs intéressé par le CMS &lt;a href=&quot;http://pwet.fr/blog/tags/ez_publish&quot;&gt;eZ Publish&lt;/a&gt;
. Nous avons tout d&apos;abord eu droit à une première présentation de la stratégie &quot;Open Source&quot; de Sun. Rien de très intéressant techniquement parlant, si ce n&apos;est quelques fonctionnalités avancées d&apos;&lt;a href=&quot;http://opensolaris.org/os/&quot;&gt;Open Solaris&lt;/a&gt;
 comme le système de fichiers &lt;a href=&quot;http://opensolaris.org/os/community/zfs/&quot;&gt;ZFS&lt;/a&gt;
 ou la solution de virtualisation et une volonté affichée avec l&apos;ouverture de Solaris de concurrencer les distributions Linux autant au niveau professionnel avec des niveaux de support avancés qu&apos;au niveau communautaire.
&lt;/p&gt;

&lt;p&gt;
La suite était heureusement nettement plus intéressante. Comme en &lt;a href=&quot;http://pwet.fr/blog/ez_publish_developer_day_a_paris_le_31_10_2007&quot;&gt;octobre dernier&lt;/a&gt;
 Paul Borgermans nous a présenté la roadmap des différents produits eZ (eZ Publish, &lt;a href=&quot;http://pwet.fr/blog/tags/ez_components&quot;&gt;eZ Components&lt;/a&gt;
, eZ Flow, &lt;a href=&quot;http://pwet.fr/blog/tags/ez_find&quot;&gt;eZ Find&lt;/a&gt;
, ...). Le moins qu&apos;on puisse dire est que de grosses évolutions voire des révolutions sont en marche au moins au niveau d&apos;eZ Publish.
&lt;/p&gt;
&lt;a name=&quot;eztoc210666_1&quot; id=&quot;eztoc210666_1&quot;&gt;&lt;/a&gt;&lt;h2&gt;La version 4.1 d&apos;eZ Publish&lt;/h2&gt;
&lt;p&gt;
Cette version devrait voir apparaître le très attendu &lt;a href=&quot;http://pwet.fr/blog/the_new_online_editor_for_ez_publish_beta&quot;&gt;Online Editor basé sur TinyMCE&lt;/a&gt;
 bien plus configurable et souple que l&apos;actuel. La compatibilité avec l&apos;existant sera assuré de manière transparente. Cette version verra aussi le retour de la compatibilité avec Oracle, le support de Solaris 10 ou encore une fonctionnalité d&apos;expiration des mots de passe développé par un partenaire.
&lt;/p&gt;

&lt;p&gt;
Une extension fournissant un flash permettant l&apos;upload massif sera également fournie. La démonstration était vraiment bluffante, ce sera une alternative très intéressante au &lt;a href=&quot;http://fr.wikipedia.org/wiki/Webdav&quot;&gt;WebDAV&lt;/a&gt;
, protocole qui manque cruellement de client fiable en particulier sous Windows. 
&lt;/p&gt;
&lt;a name=&quot;eztoc210666_2&quot; id=&quot;eztoc210666_2&quot;&gt;&lt;/a&gt;&lt;h2&gt;La version 4.5 d&apos;eZ Publish&lt;/h2&gt;
&lt;p&gt;
Cette version verra beaucoup de changements internes selon 2 axes principaux
&lt;/p&gt;

&lt;ol&gt;

&lt;li&gt;L&apos;intégration des eZ Components&lt;/li&gt;

&lt;li&gt;L&apos;amélioration de performances&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;
Le second étant en partie remplie par le premier. en vrac les nouveautés annoncées sont les suivantes :
&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;allègement du code kernel en déplaçant plusieurs fonctionnalités dans des extensions permettant leur activation/désactivation simplement&lt;/li&gt;

&lt;li&gt;nouveau système de template et donc de surcharge (override) bien plus performant. Paul citait un exemple d&apos;un &lt;i&gt;template complexe qui s&apos;éxécute 20 fois plus rapidement avec le nouveau système&lt;/i&gt; !&lt;/li&gt;

&lt;li&gt;amélioration du système de cache pour le rendre plus granulaire. Une possible implémentation de la norme &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_Side_Includes&quot;&gt;ESI (Edge Side Includes)&lt;/a&gt;
 a également été évoquée pour être compatible avec &lt;a href=&quot;http://www.akamai.com/html/support/esi.html&quot;&gt;Akamaï&lt;/a&gt;
 ou &lt;a href=&quot;http://varnish.projects.linpro.no/&quot;&gt;le reverse proxy Varnish&lt;/a&gt;
.&lt;/li&gt;

&lt;li&gt;support de IIS avec PHP en mode FastCGI ainsi que de MS SQL. D&apos;autres SGBD pourrait également être supporté l&apos;écriture de la couche d&apos;interface nécessaire&lt;/li&gt;

&lt;li&gt;introduction des &quot;object states&quot; personnalisables permettant de brancher facilement l&apos;exécution d&apos;un processus de workflow externe &lt;/li&gt;

&lt;li&gt;refonte du fichier &lt;a href=&quot;http://pubsvn.ez.no/websvn2/filedetails.php?repname=nextgen&amp;path=%2Ftrunk%2Findex.php&amp;sc=1&quot;&gt;index.php&lt;/a&gt;
 dans le but de l&apos;alléger et de le rendre plus performant mais aussi de pouvoir y brancher l&apos;exécution d&apos;un script sans passer par toute la pile d&apos;eZ Publish lorsque le besoin de performances est important&lt;/li&gt;

&lt;li&gt;réécriture du système multi-lingue et des URL alias car le code est actuel est complexe et &lt;a href=&quot;http://ez.no/doc/ez_publish/technical_manual/4_0/features/multi_language/the_bit_field_algorithm&quot;&gt;est basé sur des opérations bit à bit en base de données&lt;/a&gt;
 ce qui compromet la portabilité sur différent SGBD&lt;/li&gt;

&lt;li&gt;&quot;dé-normalisation&quot; de la base de données, en particulier dans un premier temps la gestion des utilisateurs permettant de supporter plus d&apos;utilisateurs. La &quot;dé-normalisation&quot; au niveau des contenus a également été abordée mais reste pour le moment un projet à plus long terme...&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;
ouf ! voila déjà une belle et ambitieuse liste rien que pour eZ Publish ! Cette version devrait paraître avant la fin de l&apos;année.
&lt;/p&gt;
&lt;a name=&quot;eztoc210666_3&quot; id=&quot;eztoc210666_3&quot;&gt;&lt;/a&gt;&lt;h2&gt;eZ Find, eZ Flow, eZ Components&lt;/h2&gt;
&lt;p&gt;
eZ Find 1.1 apportera &lt;a href=&quot;http://en.wikipedia.org/wiki/Faceted_classification&quot;&gt;la recherche par facets&lt;/a&gt;
 dans le courant du second trimestre 2008. La version 2.0 sera une réécriture complète via le composant &lt;a href=&quot;http://svn.ez.no/svn/ezcomponents/trunk/Search/&quot;&gt;Search&lt;/a&gt;
 des eZ Components de manière à profiter de l&apos;ensemble des fonctionnalités de &lt;a href=&quot;http://lucene.apache.org/solr/&quot;&gt;Solr&lt;/a&gt;
.
&lt;/p&gt;

&lt;p&gt;
De nouvelles version d&apos;eZ Flow et d&apos;eZ Components sont annoncées pour la &lt;a href=&quot;http://conference.ez.no/&quot;&gt;eZ conférence en Norvège au mois de juin&lt;/a&gt;
. Enfin, eZ Flow 2.0 est également annoncée pour la fin de l&apos;année.
&lt;/p&gt;
&lt;a name=&quot;eztoc210666_4&quot; id=&quot;eztoc210666_4&quot;&gt;&lt;/a&gt;&lt;h2&gt;BarCamp !&lt;/h2&gt;
&lt;p&gt;
L&apos;après midi s&apos;est terminé par un barcamp axé sur les questions apportées par les différents participants. Chacun a pu échanger sur ses &quot;recettes de cuisine&quot; eZ Publish, je retiens plusieurs points très en vrac :
&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;PHP 5.3 apporte des gains significatifs de consomation mémoire&lt;/li&gt;

&lt;li&gt;Le mode cluster d&apos;eZ Publish pose souvent problème (d&apos;où les améliorations annoncées). Des solutions de contournements ont été mises en place par plusieurs prestataires.&lt;/li&gt;

&lt;li&gt;La gestion des utilisateurs est parfois problématique (volume, synchronisation LDAP, ...), là aussi des améliorations sont en cours.&lt;/li&gt;

&lt;li&gt;Enfin au niveau du volume de contenus possibles dans eZ Publish, Paul explique qu&apos;avec du bon matériel eZ Publish est capable &lt;i&gt;de gèrer un million de contenus sans vrai problème&lt;/i&gt; même si c&apos;est dépendant de l&apos;organisation de l&apos;aborescence.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;
Bon au final, mon sentiment sur cette après midi fort instructive est que le développement d&apos;eZ Publish tente de combler les lacunes au niveau des (très) gros sites autant en terme de volume qu&apos;en terme de performances.
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 23 Apr 2008 09:15:29 GMT</pubDate>
      <author>Maxime Thomas</author>
      <title>Snack Culture, 99frs and co...</title>
      <link>http://www.wascou.org/Blogs/Maxime-THOMAS/Snack-Culture-99frs-and-co</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a name=&quot;eztoc603_0_1&quot; id=&quot;eztoc603_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Snack Culture&lt;/h3&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Last week, I went to the eZSystem&apos;s Partner Day which was organized at Apple France headquarters. Vincent Bellissen&apos;s first slide was about &lt;a href=&quot;http://www.wired.com/wired/archive/15.03/snack.html&quot; target=&quot;_self&quot;&gt;Snack Culture&lt;/a&gt;, a new consumption habit based on bite-sized products. Minimal invest and maximum entertainment. You want to change, you can and it is easy.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;A typical example is the success of the &lt;a href=&quot;http://www.apple.com/uk/itunes/download/&quot; target=&quot;_self&quot;&gt;iTunes&lt;/a&gt; music library : once registered in the iStore, you can buy music files in just few clicks. The &lt;a href=&quot;http://www.amazon.com/Learning-publish-Management-Solutions-Leaders-community/dp/1904811019/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1208943232&amp;sr=8-1&quot; target=&quot;_self&quot;&gt;Amazon&lt;/a&gt; website allows too to buy books or dvds in two clicks maximum (one to login and one to buy).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
                    &lt;img src=&quot;/var/plain_site/storage/images/media/images/snack-culture/598-1-eng-GB/Snack-Culture_reference.gif&quot; width=&quot;80&quot; height=&quot;104&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;So the consumption habit has evolved in the way that you can enjoy little part of a product instead of the full product. If we check the ratio part of product / price, we can see that the producer gets always great benefits. It&apos;s not new, you may buy a big pot of mayonnaise for 10€ or a tiny one for 3€ but you won&apos;t get the third of the big pot. What has changed is the way we can buy it, the product&apos;s availability and the way we can use it. You can check your mails while waiting a friend in a bar, watch a movie clip in the tube or even surf the net during a &lt;a href=&quot;http://news.bbc.co.uk/1/hi/magazine/3926029.stm&quot; target=&quot;_self&quot;&gt;fly&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;However, it&apos;s a bit threatening. I was thinking that in ten years, children won&apos;t read books anymore...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a name=&quot;eztoc603_0_1&quot; id=&quot;eztoc603_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;99 Francs&lt;/h3&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Still digesting this inner revolution, I watched the day after a French movie called “&lt;a href=&quot;http://www.imdb.com/title/tt0875113/&quot; target=&quot;_self&quot;&gt;99 Francs&lt;/a&gt;”. The story is about a creative publicist who is working in the larger advertisement company in France and who has some issues with girls, drugs, his boss and the whole meaning of his life... I guess it is a good movie and it makes me wonder some things.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Our consumption habits are also enclosed in our today life. We are more receptive to advertisement using some classical symbols and values than original scripts and out of sequence art design. So, if we change the way to consume products by adding mobility and specific parts of products, may be we can break free from this chasm of consumption, classical one.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;object-center&quot;&gt;&lt;div class=&quot;content-view-embeddedmedia&quot;&gt;
&lt;div class=&quot;class-image&quot;&gt;

&lt;div class=&quot;attribute-image&quot;&gt;
&lt;p&gt;      

    
        
    
                    &lt;img src=&quot;/var/plain_site/storage/images/media/images/99-francs/601-1-eng-GB/99-Francs_reference.jpg&quot; width=&quot;300&quot; height=&quot;400&quot;  style=&quot;border: 0px;&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;Moreover, I thought that it might be a catalyst for new shape of art and techniques. With &lt;a href=&quot;http://en.wikipedia.org/wiki/Smart_phones&quot; target=&quot;_self&quot;&gt;smart phones&lt;/a&gt;, we will be able to add high enhanced applications as interactive games, shared software and other funny stuff (video chat or whatever).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a name=&quot;eztoc603_0_1&quot; id=&quot;eztoc603_0_1&quot;&gt;&lt;/a&gt;&lt;h3&gt;Co ?&lt;/h3&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So, this is what we do. Causing people to buy our products or our services. We are creating desire around functionalities and freedom for a more or less convinced set of people.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The limit is what we can do to be pertinent : what functionality can I imagine that will be sold in the real life ? The business is restricting the scope of our ability and by this way only focusing on what is really important : users need.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;That&apos;s why changing our consumption habit may change the way we are doing things. We may experiment some new techniques as the impact on bite-sized consumption is very thin.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 22 Apr 2008 17:49:57 GMT</pubDate>
      <author>Piotr Karaś</author>
      <title>Variable cache layer... Var-block - wouldn&apos;t that be something?</title>
      <link>http://ez.ryba.eu/index.php/ez_publish/lab/variable_cache_layer_var_block_wouldn_t_that_be_something</link>
      <description>
&lt;p&gt;
It took me fairly long time to figure out what particular tool available from PHP in my custom software and website implementations was missing from eZ Publish... but I finally got it. It&apos;s the ability to dynamically, flexibly cache variables, understood as operation or logic results, stored in a reusable form. Naturally, there is no significant need of caching simple variables defined directly within the pagelayout, just like these:
&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;

&lt;p&gt;

{def $my_var=345}&lt;br /&gt;{def $my_other_var=hash( &apos;a&apos;, &apos;4023&apos; )}
&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;
However, it gets worse not being able to cheaply store an array of ten values, whose fetching/generating cost was over fifty or one hundred SQL queries, several files accessed in the file system, etc.
&lt;/p&gt;
&lt;h5&gt;Problem&lt;/h5&gt;
&lt;p&gt;
The problem seems quite straightforward - out of many caching techniques and layers in eZ Publish, only two are universally useful: the viewcache and the cache-blocks. Unfortunately, both of them store presentation layer results rather than data, and both are quite independent. As a result:
&lt;/p&gt;

&lt;ol&gt;

&lt;li&gt;Whenever you crave for variables that will be used by several cache-blocks in the pagelayout, they must be placed outside of cache-blocks themselves. &lt;b&gt;Don&apos;t get fooled&lt;/b&gt; by the top cache-block apparently holding the variables used further on - it&apos;s a coincidence. This may only work if all expiry times are equal for all the blocks &lt;b&gt;and&lt;/b&gt; no subtree expiry is ever used (or you&apos;ve used bugged eZ 4.0.0 for half-a-year, where subtree expiry is simply broken and it&apos;s easy to take it as the default behavior), provided that the blocks never got desynchronized. &lt;b&gt;The point is: variables must be kept outside cache-blocks and they will not be cached.&lt;/b&gt;&lt;/li&gt;

&lt;li&gt;The module result gets generated before the pagelayout, so there&apos;s little reusability between their vars.&lt;/li&gt;

&lt;/ol&gt;
&lt;h5&gt;So what&apos;s missing?&lt;/h5&gt;
&lt;p&gt;
My idea is &lt;b&gt;a cache layer halfway between logic/data and the presentation layer&lt;/b&gt;. It could be a variable-dedicated cache-block equivalent (maybe a var-block?). 
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Example:&lt;/b&gt; Imagine a website that for each of its node views should be able to access both current node data (data map) as well as root node data in order to make some decisions, calculations, etc. Further, the data could be required by at least three of its cache blocks (with different expiry times, expiry rules and &quot;uncomfortable&quot; locations within the pagelayout). Today that sort of combination requires a substantial...
&lt;/p&gt;

&lt;p&gt;
The var-block as I imagine it would have expiry settings similar to cache-blocks: subtree expiry, expiry ignore, expiry time and a flexible key management. In order to prevent frequent file system access, var-block could serialize variable collections rather than just singles. An additional &quot;collection name&quot; parameter could help organize the blocks within the pagelayout.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Please let me know what you think.&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;

Here&apos;s the prototype:&lt;br /&gt;&lt;a href=&quot;http://ez.no/developer/contribs/template_plugins/self_var_cache&quot; title=&quot;SELF Var Cache&quot; target=&quot;_blank&quot;&gt;http://ez.no/developer/contribs/template_plugins/self_var_cache&lt;/a&gt;
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 22 Apr 2008 13:13:58 GMT</pubDate>
      <author>Piotr Karaś</author>
      <title>Extendable cache definition list for easy extension cache management</title>
      <link>http://ez.ryba.eu/index.php/ez_publish/extensions/extendable_cache_definition_list_for_easy_extension_cache_management</link>
      <description>
&lt;p&gt;
Back after a longer while... wasn&apos;t on holiday, though ;)
&lt;/p&gt;

&lt;p&gt;
About a week ago, while developing my fifth or tenth extension with its own, custom caching layer, I caught myself trying to clear that cache with eZ standard &quot;Clear cache&quot; button. To none of my surprise, it never worked, but after few attempts I decided to see why ;)
&lt;/p&gt;

&lt;p&gt;

The Fine-grained cache control in the administration interface turned out to be a definition-type of array - easy enough to be made extensible with some effort. Why should a developer be in need of creating custom tools then? Let&apos;s hope the team picks up the idea soon:&lt;br /&gt;&lt;a href=&quot;http://issues.ez.no/IssueView.php?Id=12860&amp;activeItem=3&quot; title=&quot;Extendable cache definition list for easy extension cache management&quot; target=&quot;_blank&quot;&gt;http://issues.ez.no/IssueView.php?Id=12860&amp;activeItem=3&lt;/a&gt;
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Fri, 18 Apr 2008 18:13:00 GMT</pubDate>
      <author>Derick Rethans</author>
      <title>Announcing PHP Vikinger 2008</title>
      <link>http://derickrethans.nl/announcing_php_vikinger_2008.php</link>
      <description>
&lt;p&gt;
The &lt;a href=&quot;http://phpvikinger.org&quot;&gt;PHP Vikinger&lt;/a&gt; unconference
will be held for the third year in &lt;a href=&quot;http://tinyurl.com/6c2ybw=&quot;&gt;Skien, Norway&lt;/a&gt;. Just like
previous years it follows directly after &lt;a href=&quot;http://ez.no&quot;&gt;eZ
Systems&lt;/a&gt; &lt;a href=&quot;http://conference.ez.no&quot;&gt;conference&lt;/a&gt; which
puts this year&apos;s &lt;a href=&quot;http://phpvikinger.org&quot;&gt;PHP Vikinger&lt;/a&gt;
on June 21st, the longest day of the year.
		&lt;/p&gt;

&lt;p&gt;
Flickr features some pictures from &lt;a href=&quot;http://www.flickr.com/photos/tags/phpvikinger&quot;&gt;previous
years&lt;/a&gt;. And &lt;a href=&quot;http://php.no&quot;&gt;PHP Norge&lt;/a&gt; has a report
from &lt;a href=&quot;http://php.no/phpvikinger&quot;&gt;last year&lt;/a&gt;. Let me know
(through the e-mail on the &lt;a href=&quot;http://phpvikinger.org&quot;&gt;PHP
Vikinger&lt;/a&gt; website) if you&apos;re interested, and if you want to suggest
topics.
		&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 17 Apr 2008 05:17:30 GMT</pubDate>
      <author>Piotr Karaś</author>
      <title>eZ Developer Day - first one in Poland (Warsaw, 15th April 2008)</title>
      <link>http://ez.ryba.eu/index.php/events/ez_developer_day_first_one_in_poland_warsaw_15th_april_2008</link>
      <description>
&lt;p&gt;
Polish eZ community has met during the first official eZ Developer Day held in the country. Up to thirty people showed up, representing eZ partners, independent developers as well as users, both experienced and potential. Many of the participants were active &lt;a href=&quot;http://ez-publish.pl/&quot; title=&quot;Polish eZ Community&quot; target=&quot;_blank&quot;&gt;Polish eZ Community&lt;/a&gt; members. eZ Systems was represented by Bård Farstad, co-funder and CTO (Chief Technical Officer) and our native system developer Łukasz Serwatka.
&lt;/p&gt;

&lt;p&gt;
The meeting, which was held in the heart of capital city of Poland, included the introduction to eZ Systems and their flag products, including eZ Flow (both functional and technical demos), the discussion on eZ Publish roadmap and its future releases.
&lt;/p&gt;

&lt;p&gt;
The community had a chance to present their recent implementations as well as share and discuss their problems or requests (I hope we didn&apos;t kill Łukasz during this part, as we tried to clear up issues that had been awaiting &quot;closure&quot; for quite some time).
&lt;/p&gt;

&lt;p&gt;
Bård attempted to provoke some community commitment, so that it grows stronger and bigger, but I&apos;m not sure how much response that would get. It got little while there, but there might be some follow-up. Seems like the active will remain active in their ways anyways.
&lt;/p&gt;

&lt;p&gt;
Personally, I am very glad that we had this meeting. Maybe there was too little technical/developer detail, but everyone had an opportunity to bring things up... Maybe it lacked some social part, during which the community would get to know each other little better and discuss things in a more informal, open way. One suggestion though: make that a weekend event because socializing for most people in Poland hardly ever works during the weekdays! ;)
&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 13 Apr 2008 10:53:40 GMT</pubDate>
      <author>Maxime Thomas</author>
      <title>eZCrop</title>
      <link>http://www.wascou.org/Blogs/Maxime-THOMAS/eZCrop2</link>
      <description>&lt;p&gt;Still trying to find ways to improve eZPublish, I&apos;ve thought about a simple process to resize pictures without having to download the picture, to resize in whatever image software and then, upload it again in eZPublish.&lt;/p&gt;&lt;p&gt;My aim is resizing and not scaling. It means that we are losing some information by cropping the picture that we are not losing by resizing. I&apos;m just specifying this point because it&apos;s not a extension of the &lt;a href=&quot;http://ez.no/download/ez_publish/changelogs/ez_publish_3_3/new_image_system&quot; target=&quot;_self&quot;&gt;image.ini / image_class mechanism&lt;/a&gt;, but a new functionality which allow the user to cut himself a square in his picture. I guess a picture of the result is more obvious :&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;You can download it as usually on &lt;a href=&quot;http://ez.no/developer/contribs/applications&quot; target=&quot;_self&quot;&gt;ez.no&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;It uses a JavaScript library coded by &lt;a href=&quot;http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/&quot; target=&quot;_self&quot;&gt;David Spurr&lt;/a&gt; and the &lt;a href=&quot;http://script.aculo.us/&quot; target=&quot;_self&quot;&gt;Scriptaculous&lt;/a&gt; library.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>