<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Maxime THOMAS</title><link>http://www.wascou.org</link><description></description><language>en-GB</language><item><pubDate>Thu, 04 Sep 2008 15:31:43 GMT</pubDate><title>Google Chrome</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Google-Chrome</link><description>&lt;p&gt;Never heard about it and now Google launches a new browser !&lt;/p&gt;&lt;p&gt;So, what's new in this browser ? Some good things, actually :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;the omnibox : it's the merge of the search box and the address box in one box where you can type what you want to search or where you want to go. All the things you will type will be parsed and sent to Google Suggestions and the possible answers are suggested under the box.&lt;/li&gt;

&lt;/ul&gt;

&lt;ul&gt;

&lt;li&gt;a task manager : it allows you to manage the different processes launched by your browser and easily kill it if you got some troubles with one of it.&lt;/li&gt;

&lt;/ul&gt;

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

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

    
        
    
            &lt;a href="/wascou/Media/Images/Google-Chrome/Google-Chrome-Task-Manager" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/google-chrome-task-manager/1647-1-eng-GB/Google-Chrome-Task-Manager_large.png" width="300" height="143"  style="border: 0px;" alt="" title="" /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

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

&lt;li&gt;a javascript tool : to debug javascript. This the first browser to implement the JavaScript V8 engine which is faster and ready to support Web 2.0 application as Flicker or Facebook.&lt;/li&gt;

&lt;/ul&gt;

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

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

    
        
    
            &lt;a href="/wascou/Media/Images/Google-Chrome/Google-Chrome-Javascript" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/google-chrome-javascript/1641-1-eng-GB/Google-Chrome-Javascript_large.png" width="300" height="249"  style="border: 0px;" alt="" title="" /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

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

&lt;li&gt;a source editor : with line numbers, coloration on search and position of the items found in the scroll bar.&lt;/li&gt;

&lt;/ul&gt;

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

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

    
        
    
            &lt;a href="/wascou/Media/Images/Google-Chrome/Google-Chrome-Source-Code" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/google-chrome-source-code/1644-1-eng-GB/Google-Chrome-Source-Code_large.png" width="300" height="221"  style="border: 0px;" alt="" title="" /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

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

&lt;li&gt;Some humour on errors ?!?&lt;/li&gt;

&lt;/ul&gt;

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

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

    
        
    
            &lt;a href="/wascou/Media/Images/Google-Chrome/Google-Chrome-Error-Message" target="_self"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/google-chrome-error-message/1638-1-eng-GB/Google-Chrome-Error-Message_large.png" width="300" height="295"  style="border: 0px;" alt="" title="" /&gt;
        &lt;/a&gt;    
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;Not a real revolution but a commercial product based on the &lt;a href="http://en.wikipedia.org/wiki/Mozilla_application_framework" target="_blank"&gt;Chrome Engine&lt;/a&gt; of the Mozilla platform and &lt;a href="http://webkit.org/" target="_self"&gt;WebKit&lt;/a&gt;, the engine of Safari which exploits all your data and sell it to &lt;a href="http://redherring.com/Home/24782" target="_blank"&gt;third partners.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Even if Google tries to impose is new product, the reaction of experts are very interesting concerning &lt;a href="http://www.clubic.com/actualite-159696-google-chrome-failles.html" target="_blank"&gt;the security and the data stored and sent&lt;/a&gt; (fr) or the &lt;a href="http://arstechnica.com/journals/linux.ars/2008/09/03/new-firefox-javascript-engine-is-faster-than-chromes-v8" target="_blank"&gt;real performance of this new browser&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In my opinion, I'm not sure that a new interface is required for Firefox and that you really need to increase the chances of being bothered by companies which would like to sell you something ? However, if you install this browser, make sure to understand that all the content may be exploited freely by Google without any &lt;a href="http://www.lexpress.fr/actualite/high-tech/google-chrome-le-nouveau-big-browser_559298.html" target="_blank"&gt;restrictions&lt;/a&gt;....&lt;/p&gt;</description></item><item><pubDate>Mon, 18 Aug 2008 12:44:46 GMT</pubDate><title>Firefox 3 - eZDebug extension</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Firefox-3-eZDebug-extension</link><description>&lt;p&gt;And I finally finished it, the new version is better, smaller, faster, stronger ?&lt;/p&gt;&lt;p&gt;&lt;a href="/wascou/Media/Images/eZDebug-1.0" target="_blank"&gt;Here&lt;/a&gt; are some screenshot of what it can do.&lt;/p&gt;&lt;p&gt;Some informations :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;Click on the link to install the extension&lt;/li&gt;

&lt;li&gt;To use it, you can click on the small icon on the bottom right corner, make CTRL+SHIFT+E combination or open the related sidebar in Firefox. Then just press Scan when you are on a page with debug inside.&lt;/li&gt;

&lt;li&gt;Due to the differences between Firefox 2 and 3, it won't be updated fore Firefox 2. (And also because I'm lazy).&lt;/li&gt;

&lt;li&gt;If there's no debug on the page, nothing happens.&lt;/li&gt;

&lt;li&gt;If you got some trouble, you can mail me or just leave a message here.&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;You can download it on the official extension page on &lt;a href="https://addons.mozilla.org/fr/firefox/addon/8534" target="_blank"&gt;addons.mozilla.org&lt;/a&gt;. Please for this extension and leave a comment so it can be supported by the Mozilla Foundation.&lt;/p&gt;&lt;p&gt;Or you can download it &lt;a href="/wascou/Media/Files/eZDebug-1.0" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;To install it, just click on it, Firefox will install it.&lt;/p&gt;</description></item><item><pubDate>Mon, 11 Aug 2008 15:37:25 GMT</pubDate><title>Ciao 3.x</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Ciao-3.x</link><description>&lt;a name="eztoc1446_0_1" id="eztoc1446_0_1"&gt;&lt;/a&gt;&lt;h3&gt;It's done. We loved it, they stop it. Bye bye &lt;a href="http://ez.no/developer/news/ez_publish_4_0_1rc2_3_10_1rc2_released" target="_blank"&gt;eZPublish 3.x series&lt;/a&gt;...&lt;/h3&gt;&lt;p&gt;Yes, a bit sad but how good for developpers ! There were some features that eZSystems improved in the 3.x and which made this great software a more evolutive and scalable software for everyone. Here are the features I remember the most :&lt;/p&gt;&lt;a name="eztoc1446_0_1_1" id="eztoc1446_0_1_1"&gt;&lt;/a&gt;&lt;h4&gt;3.6&lt;/h4&gt;
&lt;ul&gt;

&lt;li&gt;LDAP handler : connect eZPublish on a LDAP directory and to automatically create users in the eZ subtree.&lt;/li&gt;

&lt;li&gt;Reverse features : get the objects which are relating the current object.&lt;/li&gt;

&lt;li&gt;Remove subtree : useful to delete entire subtree.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc1446_0_1_2" id="eztoc1446_0_1_2"&gt;&lt;/a&gt;&lt;h4&gt;3.7&lt;/h4&gt;
&lt;ul&gt;

&lt;li&gt;Siteaccess settings in the extensions : you can put siteaccess settings in the extension. It allows you to design reusable extensions, overriding standards.&lt;/li&gt;

&lt;li&gt;Developpement Mode : in dev mode it's not necessary to clear cache at each time...&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc1446_0_1_3" id="eztoc1446_0_1_3"&gt;&lt;/a&gt;&lt;h4&gt;3.8&lt;/h4&gt;
&lt;ul&gt;

&lt;li&gt;Internationalisation : it is possible to translate any content in any language without having a content reference translated in a given language.&lt;/li&gt;

&lt;li&gt;Clustering : you can put several instance of eZ on several hosts to share the load.&lt;/li&gt;

&lt;li&gt;Group approval for workflows.&lt;/li&gt;

&lt;li&gt;Serialization for all datatypes.&lt;/li&gt;

&lt;li&gt;eZInfo() function for extensions.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc1446_0_1_4" id="eztoc1446_0_1_4"&gt;&lt;/a&gt;&lt;h4&gt;3.9&lt;/h4&gt;
&lt;ul&gt;

&lt;li&gt;Auto upload for files in Online Editor.&lt;/li&gt;

&lt;li&gt;Diff.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc1446_0_1" id="eztoc1446_0_1"&gt;&lt;/a&gt;&lt;h3&gt;And now ?&lt;/h3&gt;&lt;p&gt;Some upcoming goodies for us ! Version 3.10.1 and 4.0.1 will be updated and 4.1 is announced for Q3. It seems that eZ gets behind...&lt;/p&gt;&lt;p&gt;No ?&lt;/p&gt;</description></item><item><pubDate>Thu, 03 Jul 2008 05:40:12 GMT</pubDate><title>eZDebug for Firefox3</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/eZDebug-for-Firefox3</link><description>&lt;p&gt;After a fruitful conversation with Nicolas Pastorino, he said me that he was waiting the new version of eZDebug. I was focusing on other extension so I completely forgot that. So, I've started the development of the version 1.0 fore Firefox3, in six monthes dev tools have evolved (happily for me) and it will be easier to test and develop. I will make the following arrangements :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;It won't be in a new window but in the sidebar or in a new tab (like the magic CTRL+MAJ+C).&lt;/li&gt;

&lt;li&gt;It won't be necessary to hack the kernel --&gt; So it can be used for any eZ instance.&lt;/li&gt;

&lt;li&gt;It will be possible to filter by category or by typing something.&lt;/li&gt;

&lt;li&gt;A clear "debug button" will allow to hide the debug in the internet page.&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;If you got some remarks or suggestions on this, just leave a comment.&lt;/p&gt;</description></item><item><pubDate>Sat, 28 Jun 2008 15:54:30 GMT</pubDate><title>The Norvegian Chronicles</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/The-Norvegian-Chronicles</link><description>
&lt;div class="object-right"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/badge/1274-1-eng-GB/Badge_medium.jpg" width="135" height="200"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 135px"&gt;    
&lt;p&gt;My badge at the eZConference&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;Few weeks ago, I participipated to the eZConference &amp; Open Nordic 2008 in Skien in Norway. There's some things you must now about Norway :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;It's difficult to get there, even by plane, or car or camel...&lt;/li&gt;

&lt;li&gt;It's absurdly expensive (150€ to do 40km in cab)&lt;/li&gt;

&lt;li&gt;There's no night&lt;/li&gt;

&lt;li&gt;Most of Norvegian is speaking english, hopefully !&lt;/li&gt;

&lt;li&gt;They eat caviar for breakfast&lt;/li&gt;

&lt;li&gt;Salmon is absurdly cheap&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;By the way, as you can imagine, Norway is a big country with few persons in it. So there's a lot of space and they are very concerned by the quality of their life : cities are clean and services are perfect.&lt;/p&gt;&lt;a name="eztoc1362_0_1" id="eztoc1362_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Open Nordic 2008&lt;/h3&gt;&lt;p&gt;The conference stood in the Skien Ibsenhuset, a very large conference hall, where both conferences, eZConference and Open Nordic, happened. &lt;/p&gt;&lt;p&gt;The main subject on eZ were :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;Multiple file upload in 4.1 : it has been made in complement of the webdav feature which does not work on all platforms (Did I say Windows ???).&lt;/li&gt;

&lt;li&gt;OE 5 : integrating Tiny MCE, this WYSIWG editor rocks ! After having worked with HTMLArea, FCKEditor and the former OE, it seems to be the more powerfull and intuitive work ever done. At least, it is a very visible work.&lt;/li&gt;

&lt;li&gt;Support for OpenOffice.org and Microsoft Office document import and export in eZ via a nested toolbar in the editor : you can open content directly on an eZ instance via a Java connector and modify it as you want. When you save it, it will send the data to the eZ instance and update your website. Very powerfull and I guess very similar to the &lt;a href="http://office.microsoft.com/en-us/sharepointserver/HA102486841033.aspx" target="_blank"&gt;Sharepoint feature.&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Site factory and CSS Editor : two features which are made to ease the deployment and configuration of eZ websites. The first is a console tool allowing to deploy in one command an entire site with a specified configuration (it uses &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank"&gt;REST&lt;/a&gt;). The second one is a kind of webmaster gadget in full java which will allow people to modify their design in few clicks : you activate a design mode on your frontend and then you can select each element of the page and then change some defined css values, like background-color or what you want.&lt;/li&gt;

&lt;li&gt;&lt;a href="http://ezcomponents.org/" target="_blank"&gt;ezComponents &lt;/a&gt;integration : eZGuys are close to completely lighten the kernel libs by integrating the eZComponents. The most important change will happen when the integration of the &lt;a href="http://ezcomponents.org/docs/tutorials/Template" target="_blank"&gt;ezcTemplate&lt;/a&gt; will be effective. It's a big step for the eZCommunity because we will have to deal with a strict template engine (at last !).&lt;/li&gt;

&lt;li&gt;And some new components like &lt;a href="http://ezcomponents.org/docs/tutorials/Document" target="_blank"&gt;Document&lt;/a&gt; and &lt;a href="http://ezcomponents.org/docs/tutorials/Search" target="_blank"&gt;Search&lt;/a&gt;.&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;By the way, it was a great time, sharing our knowledge and drinking beers at the at the pub...&lt;/p&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/nicolas-pastorino-from-ezsystems/1280-1-eng-GB/Nicolas-Pastorino-from-eZSystems_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;Nicolas Pastorino from eZSystems&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

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

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/baard-farstad-and-damien-pobel/1277-2-eng-GB/Baard-Farstad-and-Damien-Pobel_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;Bård Farstad and Damien Pobel&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;a name="eztoc1362_0_1" id="eztoc1362_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Oslo&lt;/h3&gt;&lt;p&gt;And then I travelled a bit to reach &lt;a href="http://en.wikipedia.org/wiki/Oslo" target="_blank"&gt;Oslo&lt;/a&gt;... Country, sea and half-light :&lt;/p&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/countryside/1283-1-eng-GB/Countryside_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;Countryside&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

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

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/seaside/1286-1-eng-GB/Seaside_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;Seaside&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

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

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/opera/1289-1-eng-GB/Opera_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;Opera&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

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

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/norvegian-chronicles/at-night/1292-1-eng-GB/At-night_large.jpg" width="300" height="225"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;div class="attribute-caption" style="width: 300px"&gt;    
&lt;p&gt;At night&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;a name="eztoc1362_0_1" id="eztoc1362_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;p&gt;It was a great trip, lot of emotions, lot of exchanges between people from different countries, and one pledge : next year I will be there, Monseigneur.&lt;/p&gt;&lt;p&gt;:-D&lt;/p&gt;</description></item><item><pubDate>Tue, 17 Jun 2008 06:45:48 GMT</pubDate><title>D-2</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/D-2</link><description>&lt;p&gt;Exciting ! Only two days before &lt;a href="http://conference.ez.no/" target="_blank"&gt;eZConf&lt;/a&gt; and the &lt;a href="http://ez.no/company/ez_conference_awards" target="_blank"&gt;eZAwards&lt;/a&gt; !&lt;/p&gt;&lt;p&gt;So a year is gone since last time I trampled the Norvegian floor and I'm ready to go there again. Why ? Simply for the best :&lt;/p&gt;
&lt;ol&gt;

&lt;li&gt;The bigger CMS conference in the world&lt;/li&gt;

&lt;li&gt;The eZAward after party&lt;/li&gt;

&lt;li&gt;Salmon&lt;/li&gt;

&lt;li&gt;Grenland&lt;/li&gt;

&lt;/ol&gt;
&lt;p&gt;As a &lt;a href="http://ez.no/company/news/the_nominees_for_the_ez_awards_2008" target="_blank"&gt;nominee&lt;/a&gt;, I would like to wish a good luck to everybody.&lt;/p&gt;&lt;p&gt;However, I've got bad news for everyone, it won't be a pleasure like last year. It seems that we will have &lt;a href="http://fr.weather.yahoo.com/NOXX/NOXX0034/index_c.html" target="_blank"&gt;bad weather&lt;/a&gt; suring the conf but it will be better just after.&lt;/p&gt;&lt;p&gt;And now, a little trick in order to make accept &lt;a href="http://sites.yellow.co.nz/site/ezflownailsystems/" target="_blank"&gt;eZFlow&lt;/a&gt; by women.&lt;/p&gt;&lt;p&gt;See you in Skien !&lt;/p&gt;</description></item><item><pubDate>Tue, 20 May 2008 06:23:17 GMT</pubDate><title>Little survey : Who's coming ?</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Little-survey-Who-s-coming</link><description>&lt;p&gt;Hey buddy,&lt;/p&gt;&lt;p&gt;Are you coming to the &lt;a href="http://conference.ez.no/eng" target="_blank"&gt;eZ Conference&lt;/a&gt; this year ?&lt;/p&gt;&lt;p&gt;If yes please leave me a comment !&lt;/p&gt;</description></item><item><pubDate>Tue, 13 May 2008 08:23:58 GMT</pubDate><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's Who&lt;/i&gt;&lt;/b&gt; library is finished. I present here what I've done and some feedbacks on the use of jQuery.&lt;/p&gt;
&lt;div class="object-center"&gt;
&lt;div class="content-view-embed"&gt;
    &lt;div class="class-folder"&gt;
    &lt;h2&gt;jQuery Who's Who 0.1&lt;/h2&gt;

    &lt;div class="content-body"&gt;&lt;a href="/wascou/content/download/168/864/file/jquery_whoswho.zip"&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="eztoc848_0_1" id="eztoc848_0_1"&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:{"first_name" : "Kylie","last_name" : "Minogue"},
 20:{"first_name" : "Robbie","last_name" : "Williams"},
 30:{"first_name" : "Mickael","last_name" : "Jackson"},
 40:{"first_name" : "Madonna","last_name" : ""},
 50:{"first_name" : "Christina","last_name" : "Aguilera"},
...
}&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="eztoc848_0_1" id="eztoc848_0_1"&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'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="http://open.yahoo.com/yui/compressor/" target="_blank"&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's Who library.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc848_0_1" id="eztoc848_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Best practices&lt;/h3&gt;&lt;p&gt;And a little feedback of my jQuery's use.&lt;/p&gt;&lt;p&gt;It's very easy to use it and to bind functions to events, however, this &lt;a href="http://docs.jquery.com/Tutorials:AJAX_and_Events" target="_blank"&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'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(){


$("#button").click(function(){


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

});


});
&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'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's a bit difficult to access it from outside and to know what is the value of the variable. I'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="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/jquery-dump-plugin/861-1-eng-GB/jQuery-Dump-Plugin_medium.png" width="200" height="183"  style="border: 0px;" alt="" title="" /&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="renderedtable"  border="0" cellpadding="2" cellspacing="0"  width="100%"&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;  Command line
  &lt;/td&gt;

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

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

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

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

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

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

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

&lt;/div&gt;&lt;p&gt;&nbsp;&lt;/p&gt;
  &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;a name="eztoc848_0_1" id="eztoc848_0_1"&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>Fri, 02 May 2008 21:27:24 GMT</pubDate><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="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; : a javascript library providing facilities and strong functionnalities to static web pages.&lt;/p&gt;&lt;a name="eztoc630_0_1" id="eztoc630_0_1"&gt;&lt;/a&gt;&lt;h3&gt;jQuery&lt;/h3&gt;
&lt;div class="object-right"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
            &lt;a href="http://www.jquery.com" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/jquery/680-1-eng-GB/jQuery_reference.png" width="117" height="32"  style="border: 0px;" alt="" title="" /&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'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="eztoc630_0_1" id="eztoc630_0_1"&gt;&lt;/a&gt;&lt;h3&gt;The Challenge&lt;/h3&gt;&lt;p&gt;To test this library, I've decided to develop an eZPublish extension integrating the jQuery library.&lt;/p&gt;&lt;p&gt;As a user case, I'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's a snapshot of what I have done : &lt;a href="/wascou/Media/Images/jQuery-Challenge" target="_self"&gt;image gallery&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Conclusion : it's very easy to come to grips with jQuery and a bit hard to debug. So I've searched and found a plugin to debug my script. See below.&lt;/p&gt;&lt;a name="eztoc630_0_1" id="eztoc630_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Other interresting libraries...&lt;/h3&gt;&lt;a name="eztoc630_0_1" id="eztoc630_0_1"&gt;&lt;/a&gt;&lt;h3&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
            &lt;a href="http://www.extjs.com/" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/extjs/683-1-eng-GB/ExtJS_reference.png" width="227" height="18"  style="border: 0px;" alt="" title="" /&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="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
            &lt;a href="http://ui.jquery.com/" target="_blank"&gt;        &lt;img src="/var/plain_site/storage/images/media/images/jquery-ui/686-1-eng-GB/jQuery-UI_small.gif" width="100" height="23"  style="border: 0px;" alt="" title="" /&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="http://extjs.com/" target="_blank"&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="http://ui.jquery.com/" target="_blank"&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="eztoc630_0_1" id="eztoc630_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Ressources&lt;/h3&gt;&lt;p&gt;Here's some ressource :&lt;/p&gt;&lt;p&gt;jQuery : &lt;a href="http://www.jquery.com/" target="_blank"&gt;http://www.jquery.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Visual jQuery : &lt;a href="http://www.visualjquery.com/1.1.2.html" target="_blank"&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="http://www.netgrow.com.au/files/javascript_dump.cfm" target="_blank"&gt;http://www.netgrow.com.au/files/javascript_dump.cfm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Javascript benchmark : &lt;a href="http://flesler.blogspot.com/2008/04/benchmarking-javascript-variables-and.html" target="_blank"&gt;http://flesler.blogspot.com/2008/04/benchmarking-javascript-variables-and.html&lt;/a&gt;&lt;/p&gt;</description></item><item><pubDate>Wed, 23 Apr 2008 09:15:29 GMT</pubDate><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;&nbsp;&lt;/p&gt;&lt;a name="eztoc603_0_1" id="eztoc603_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Snack Culture&lt;/h3&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;p&gt;Last week, I went to the eZSystem's Partner Day which was organized at Apple France headquarters. Vincent Bellissen's first slide was about &lt;a href="http://www.wired.com/wired/archive/15.03/snack.html" target="_self"&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;&nbsp;&lt;/p&gt;&lt;p&gt;A typical example is the success of the &lt;a href="http://www.apple.com/uk/itunes/download/" target="_self"&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="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" target="_self"&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;&nbsp;&lt;/p&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/snack-culture/598-1-eng-GB/Snack-Culture_reference.gif" width="80" height="104"  style="border: 0px;" alt="" title="" /&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's not new, you may buy a big pot of mayonnaise for 10€ or a tiny one for 3€ but you won't get the third of the big pot. What has changed is the way we can buy it, the product'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="http://news.bbc.co.uk/1/hi/magazine/3926029.stm" target="_self"&gt;fly&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;p&gt;However, it's a bit threatening. I was thinking that in ten years, children won't read books anymore...&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;a name="eztoc603_0_1" id="eztoc603_0_1"&gt;&lt;/a&gt;&lt;h3&gt;99 Francs&lt;/h3&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;p&gt;Still digesting this inner revolution, I watched the day after a French movie called “&lt;a href="http://www.imdb.com/title/tt0875113/" target="_self"&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;&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;&nbsp;&lt;/p&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/99-francs/601-1-eng-GB/99-Francs_reference.jpg" width="300" height="400"  style="border: 0px;" alt="" title="" /&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="http://en.wikipedia.org/wiki/Smart_phones" target="_self"&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;&nbsp;&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;&lt;a name="eztoc603_0_1" id="eztoc603_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Co ?&lt;/h3&gt;&lt;p&gt;&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;&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;&nbsp;&lt;/p&gt;&lt;p&gt;That'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;&nbsp;&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;</description></item><item><pubDate>Sun, 13 Apr 2008 10:53:40 GMT</pubDate><title>eZCrop</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/eZCrop</link><description>&lt;p&gt;Still trying to find ways to improve eZPublish, I'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'm just specifying this point because it's not a extension of the &lt;a href="http://ez.no/download/ez_publish/changelogs/ez_publish_3_3/new_image_system" target="_self"&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;&nbsp;&lt;/p&gt;&lt;p&gt;You can download it as usually on &lt;a href="http://ez.no/developer/contribs/applications" target="_self"&gt;ez.no&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;It uses a JavaScript library coded by &lt;a href="http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/" target="_self"&gt;David Spurr&lt;/a&gt; and the &lt;a href="http://script.aculo.us/" target="_self"&gt;Scriptaculous&lt;/a&gt; library.&lt;/p&gt;</description></item><item><pubDate>Sun, 13 Apr 2008 10:52:24 GMT</pubDate><title>Red5 documentation addon</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Red5-documentation-addon2</link><description>&lt;p&gt;eZ Systems has included in their last release of eZ Publish a client for the &lt;a href="http://osflash.org/red5" target="_blank"&gt;Red5 video streaming server&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The &lt;a href="http://ez.no/doc/extensions/ez_flow" target="_blank"&gt;documentation&lt;/a&gt; is a bit short and you don't necessary have all the elements to complete a full installation. After two hours of hanging about, I succeeded. :-D&lt;/p&gt;&lt;a name="eztoc566_0_1" id="eztoc566_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Apache configuration&lt;/h3&gt;&lt;p&gt;About the Apache configuration, you must add the following lines :&lt;/p&gt;&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;Listen 100&lt;/p&gt;&lt;p&gt;NameVirtualHost *:100&lt;/p&gt;&lt;p&gt;&lt;VirtualHost localhost:100&gt;&lt;/p&gt;&lt;p&gt;&lt;Directory path\to\Red5\webapps&gt;&lt;/p&gt;&lt;p&gt;Options FollowSymLinks&lt;/p&gt;&lt;p&gt;AllowOverride None&lt;/p&gt;&lt;p&gt;Allow From All&lt;/p&gt;&lt;p&gt;&lt;/Directory&gt;&lt;/p&gt;&lt;p&gt;DocumentRoot path\to\Red5\webapps&lt;/p&gt;&lt;p&gt;ServerName localhost&lt;/p&gt;&lt;p&gt;&lt;/VirtualHost&gt;&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;The first two lines are declaring to Apache the use of port 100 and that some virtual host will listen to it.&lt;/p&gt;&lt;p&gt;The second part is the virtual host as well, what I've added is the "Allow From All" directive that forbidd everyone to access the video. We can tune &lt;a href="http://httpd.apache.org/docs/1.3/mod/mod_access.html#allow" target="_self"&gt;that&lt;/a&gt;.&lt;/p&gt;&lt;a name="eztoc566_0_1" id="eztoc566_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Content configuration&lt;/h3&gt;&lt;p&gt;The Red5 flash client is set up with the content published. In the eZ Flow site package, you have a content named "Live Recorder" which will support the recoder and which can be configured by editing its content. We have three attributes:&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;Name : the name of the content : whatever.&lt;/li&gt;

&lt;li&gt;Stream Server : it is the URL to the Red5 server. The protocole used is RTMP (watch out the spelling) and you must finish it by a slash :&lt;/li&gt;

&lt;/ul&gt;
&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;rtmp://localhost:1935/test/&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;

&lt;ul&gt;

&lt;li&gt;File Server : it is the URL of the Apache file server which deserves the saved files. It's not streams/streams like in the screenshot.&lt;/li&gt;

&lt;/ul&gt;
&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;http://localhost:100/test/streams/&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;And then you plug your webcam and you can start to make some funny films... live !&lt;/p&gt;&lt;a name="eztoc566_0_1" id="eztoc566_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;p&gt;This feature is very powerful and stunning, however, I didn't find how we can put a live stream online and how we can list all the video we have taken.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.red5tutorials.net/index.php/Main_Page" target="_blank"&gt;Red5 Wiki&lt;/a&gt;&lt;/p&gt;</description></item><item><pubDate>Sun, 13 Apr 2008 10:50:29 GMT</pubDate><title>About a class heritage system</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/About-a-class-heritage-system2</link><description>&lt;a name="eztoc560_0_1" id="eztoc560_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Main concept&lt;/h3&gt;&lt;p&gt;A year ago, I was working on a project where we were confronted to a certain problematic. We had a lot of classes which really looked like each other and had the same schema of class. So, when we had to modify a class because an attribute was missing or not in the right datatype, we have been obliged to modify all classes and it's very very long when you've got a lot of content types. We were thinking at a solution : creating a class wich willl be a parent class for all the other classes. For exemple, your customer is selling furniture products via the webshop and here is a detail of how this solution could be applied :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;You create a class Furniture Product with those very generic attributes : Name, Description and so on.&lt;/li&gt;

&lt;li&gt;Actually, you have three types of furniture products, Table, Cupboard, Settee. In the normal way, you will have to create three different classes with common generic attributes and specific attributes. There, you will just create a class with the specific attributes, and choose via a list of classes from wich one you would like to inherit.&lt;/li&gt;

&lt;li&gt;After that, when you are editing and publishing content, the content schema is based on the merge of the parent class attributes and the specific class attributes.&lt;/li&gt;

&lt;/ul&gt;
&lt;a name="eztoc560_0_1" id="eztoc560_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Implementation&lt;/h3&gt;&lt;p&gt;To realize that, here's what I was thinking about :&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;Modify the SQL schema of the ezcontentclass table to add a integer attribute called parentclass_id.&lt;/li&gt;

&lt;li&gt;Modify the kernel/classes/ezcontentclass.php file to add parentclass_id to the definition of the object.&lt;/li&gt;

&lt;li&gt;Modify the kernel/classes/ezcontentclass_attribute.php file to process all the attributes, main class and parent class attributes, when we use a function.&lt;/li&gt;

&lt;li&gt;Modify the design/admin/templates/class/edit.tpl file to add the list of classes who can be parent.&lt;/li&gt;

&lt;li&gt;Modify the kernel/class/edit.php file to save the information.&lt;/li&gt;

&lt;/ul&gt;
</description></item><item><pubDate>Sun, 13 Apr 2008 10:49:10 GMT</pubDate><title>Firefox Extension to ease debugging</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Firefox-Extension-to-ease-debugging</link><description>&lt;p&gt;Here's the first release of eZDebug.&lt;/p&gt;&lt;p&gt;
The functionnalities of this extension are to browse dynamically the debug of eZ publish. When you are developping you can have a lot of issues in one template and loose time seeking where is the problem. Of course, you will look at the debug but if there's a lot information, you won't be able to find it quickly.&lt;br /&gt;So you can do it clicking on the right corner of Firefox or doing a CTRL + SHIFT + Q.&lt;/p&gt;
&lt;div class="object-center"&gt;&lt;div class="content-view-embeddedmedia"&gt;
&lt;div class="class-image"&gt;

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

    
        
    
                    &lt;img src="/var/plain_site/storage/images/media/images/firefox-extension/589-1-eng-GB/Firefox-Extension_medium.jpg" width="200" height="124"  style="border: 0px;" alt="" title="" /&gt;
            
    
    
      &lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;p&gt;Another interesting functionnality is that you can flush the page, cleaning the debug. You just have to click on the clean checkbox and then the Go button.&lt;/p&gt;&lt;p&gt;
You can also filter on the type of debug message you are seeking.&lt;br /&gt;The next step it to do the same for the attribute(show) operator. It already works for a attribute(show,1), but I except some problems to create several levels in the tree. &lt;/p&gt;&lt;p&gt;Download available here :&lt;/p&gt;&lt;p&gt;&lt;a href="http://ez.no/developer/contribs/3rd_party/firefox_ez_debug_extension" target="_self"&gt;http://ez.no/developer/contribs/3rd_party/firefox_ez_debug_extension&lt;/a&gt;&lt;/p&gt;</description></item><item><pubDate>Sun, 13 Apr 2008 10:47:26 GMT</pubDate><title>Differences between Java's framework and eZ publish tools library and specific kernel functions</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Differences-between-Java-s-framework-and-eZ-publish-tools-library-and-specific-kernel-functions2</link><description>&lt;p&gt;Here's a little comparison between a specific project designed in Java with some common framework and the same project realized with eZ publish.&lt;/p&gt;&lt;a name="eztoc548_0_1" id="eztoc548_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Persistent layer&lt;/h3&gt;&lt;p&gt;The &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;persistent layer&lt;/a&gt; allows developper to use an abstract logical layer in their software to avoid manipulating specific instructions to get data from the data source. For example, you would like to access some data in a DB2 database. The first idea is to use APIs of your favorite language to access data through a SQL query, which means that if you decide to change your data source (another database or any storage system), you will have to change the access functions to your data. So, you can put a logical layer between your data source and your work oriented objects. By the way, you will avoid manipulating directly instructions to get your data (like SQL queries, file parsing, or whatever) and then only use objects instead of raw arrays of data.&lt;/p&gt;&lt;p&gt;
The most common persistent layer for J2EE is &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;Hibernate&lt;/a&gt;. The use of this one is really simple, you only have to set up a configuration file hibernate.cfg.xml and to indicate the mapping you would like to have between your data source and your objects. Then you have to create the classes you will use to access your data. All your relations will be managed by Hibernate. It's a bit restrictive because for complex applications because you will have a lot of classes to write. Fortunately, there's some &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;software&lt;/a&gt; you can use to generate all directly.&lt;br /&gt;In eZ publish, there's also a persistent layer which is divided in two parts. The first part is concerning the data connector eZ publish uses to get and store data from the data source : it's very similar to a JDBC connector. You have to specify some configuration in the site.ini.append.php for your site access like the DatabasImplementation (the connector) you would like to use. It allows you to access an object in your php file.&lt;/p&gt;&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;
include_once("lib/ezdb/classes/ezdb.php");&lt;br /&gt;$db =&amp; eZDB::instance();&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Then, you can run some queries like : &lt;/p&gt;&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;$db-&gt;query("SELECT * FROM ezcontentobject");&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;To access the data you would like to get back.&lt;/p&gt;&lt;p&gt;But it's only relying on connectors and not on persistent layer. So, we can extend that using the eZPersistentObject class wich allows you to use several methods to access the objects stored in the database not only as array of data but as a complete object. You can find some examples on the way to design this &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;a name="eztoc548_0_1" id="eztoc548_0_1"&gt;&lt;/a&gt;&lt;h3&gt;The MVC concept&lt;/h3&gt;&lt;p&gt;The &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;MVC&lt;/a&gt; (Model, View, Controler) concept is a design concept used to design any kind of software. The main goal of this concept is to separate the data and all the process you have done to get it and to display it. For HTML pages, it's easy to understand. For example, have a look this HTML page :&lt;/p&gt;&lt;div class="object-right"&gt;
   &lt;blockquote&gt;
      &lt;div class="quote-design"&gt;
      &lt;div class="quote-begin"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;p&gt;
&lt;html&gt;&lt;br /&gt;
&lt;body&gt;&lt;br /&gt;
&lt;p&gt;This is as message stored in the database&lt;/p&gt;&lt;br /&gt;
&lt;img src="/images/toto.jpg"/&gt;&lt;br /&gt;
&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;/p&gt;
      &lt;div class="quote-end"&gt;&lt;span class="hide"&gt;"&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
   &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;The information content wich is important is the text nested in the paragraph and the path to the image. In an old school way to design website, we would have put the HTML page directly on the web server, but as we use dynamic technology such as J2EE or PHP or .NET, this page will be generated at the end of a very simple process for the most of the time. So, if you try to reach a page throught you browser typing an URL, if there is a dynamic server on the other side, your call will be transformed in a call to a certain method in a certain class somewhere on the server in order to generate HTML. And there is two points about that.&lt;/p&gt;&lt;p&gt;The first is, because to the use of a persistent layer, you won't put hard-coded data in your classes. And this matters in the two ways of sending data : from the server to the browser (Controler) and from the browser to the server (Model). In the Model, you will do the whole tests before saving, updating or removing your data.&lt;/p&gt;&lt;p&gt;The second is an extension of the first point, you will put all the data you would like to put in your classes in another object, and then in a data storage. For example, if you have some constants or messages not linked to the content but to the process you are running, you will keep them in some place and not necessary in the same than your content. You can also customize your code like adding some settings administrators can modify to change the behaviour of your application.&lt;/p&gt;&lt;p&gt;There is a direct impact in using this concept : your code is cleaner so you can modify it more quickly. The second point is very usefull too, because by this way you are adding some scalibility to the application and you improve it easily and quickly.&lt;/p&gt;&lt;p&gt;The other point on using an MVC framework is to separate the way you are displaying your information and the way you are controling it. Controling means running some tests on your data to decide wich view to display to the user.&lt;/p&gt;&lt;p&gt;For J2EE application, we use the &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;Struts&lt;/a&gt; framework wich is the most advanced MVC framework developped in Java.&lt;/p&gt;&lt;p&gt;For eZ publish, a kind of MVC is defined through the use of modules and functions concepts but you can't use it for another application, its' nested in the eZ publish kernel. However, you can use it to design your own processes by creating some &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;extensions&lt;/a&gt; for eZ publish.&lt;/p&gt;&lt;a name="eztoc548_0_1" id="eztoc548_0_1"&gt;&lt;/a&gt;&lt;h3&gt;And over all ?&lt;/h3&gt;&lt;p&gt;And finally, I was wondering if another design concept / framework can be used in these kind of application.&lt;/p&gt;&lt;p&gt;In the Model layer of your MVC, you can divide this step in several steps. &lt;/p&gt;&lt;p&gt;It's common to use a DAO layer, static class, which will use the persistent layer to save / update your data or just store the queries. Then you can use a Services layer to separate the operations done on the data regardless to the way we are storing it.&lt;/p&gt;&lt;p&gt;For example, if I would like to save a User in my application, I will create a class for the User Object (with the attributes of the user and getter / setter methods), a static class for the Data Access Object (to store a user, modify it and search a specific one), and then a User Services static class to put my model processes and rules (if the user does not exist, I will create it).&lt;/p&gt;&lt;p&gt;We can go further and create a class to link your forms to an object and so reach directly all the data submited by the user in an object.&lt;/p&gt;&lt;p&gt;In eZ publish, the DAO Layer and the model class are merged due to the eZPersistentObject class. We don't have Services classes but for some kind of datatype, for example ezimage, we can have some classes to handle the data (ezimagealiashandler).&lt;/p&gt;&lt;p&gt;In J2EE application, the data entered by the user are stored in "Beans" object to ease the verification and process of the form.&lt;/p&gt;&lt;a name="eztoc548_0_1" id="eztoc548_0_1"&gt;&lt;/a&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;&lt;p&gt;Technologies are close due to the use of the same design concepts but the way it has been developped is a bit different and not with the same complexity or strictness.&lt;/p&gt;&lt;p&gt;By the way, designing a project in J2EE or in PHP would be conceptually the same but is easier with eZ publish due to the bundle functionnalities. Never the less, it's not fully exportable to another project which is demanding fewer functionnalities. This why eZ Systems is supporting the &lt;a href="/wascou/../81/2/eng-US" target="_self"&gt;eZ Components&lt;/a&gt; project.&lt;/p&gt;&lt;p&gt;The other point which is very important is the integration with the application server which serves all this. Is there an asset to use a webapp server like TomCat to nest an application through servlets ? Or is it better to give full freedom with appliction "I'm running everywhere" with servers using PHP ? May we think to a PHP application server ?&lt;/p&gt;</description></item><item><pubDate>Sun, 30 Mar 2008 13:37:40 GMT</pubDate><title>Wascou.org 2.0</title><link>http://www.wascou.org/Blogs/Maxime-THOMAS/Wascou.org-2.0</link><description>&lt;p&gt;It has taken a long time but I finally updated this website in eZ 4.0.&lt;/p&gt;&lt;p&gt;I also has made some changes :&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;
The design has changed&lt;br /&gt; &lt;/li&gt;

&lt;li&gt;Now, I'm not alone, I share this palce with Xavier Gouley.&lt;/li&gt;

&lt;li&gt;Less functionnalities, for the moment.&lt;/li&gt;

&lt;li&gt;
I improved the RSS feed (which was not working well on the former version (3.8.6))&lt;br /&gt; &lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;&nbsp;&lt;/p&gt;&lt;p&gt;In the future, I plan to add :&lt;/p&gt;&lt;p&gt;&nbsp;&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;blogs of other persons&lt;/li&gt;

&lt;li&gt;comment functionnality&lt;/li&gt;

&lt;li&gt;vote functionnality&lt;/li&gt;

&lt;li&gt;chat functionnality&lt;/li&gt;

&lt;/ul&gt;
</description></item></channel></rss>
