Tutorials & articles written by Tobias Schlitt

ODF support in eZ Components

With the new stable version 2009.2 of the eZ Components, the Document component get support for the OpenDocument format. You can convert OpenDocumentText (ODT) to the internally used Docbook XML and from there to any of the other formats supported by the component (like RST, Wiki markup or ezxml). The other way around works in addition, read any format supported by Document and convert it to ODT. You can nicely style the generated document using a CSS sub-set and even generate a PDF with the very same style settings.

I wrote up a tutorial this new feature of the Document component on my blog, where you can also download example source code and examine the results of conversions.

WebDAV locking and unconventional test cases

Version 2008.2 of the eZ Components package brings a new release of the Webdav component 1.1. This version introduces a lot of new features, making it easier for you to integrate the component into your environment and offering advanced built-in WebDAV capabilities. This article introduces the new features and gives you some insight on the advanced testing techniques we used in developing this new release.

Read the full article on the dedicated eZ Components site

The PersistentObject eZ Component: Putting Relations Where Relations Belong

One of the cool new features in the eZ Components 2006.2 release is support for relation mappings in the PersistentObject component. This article will give you an introduction to the PersistentObject component and explain the new relations handling feature.

The eZ Template Component

This article describes the template engine included in version 1.1 of eZ components. I analyze a simple application that, using the template engine, queries Google for specified keywords and then checks the rank of a website in the results. While I am not going to describe the entire application (which also uses the eZ PersistentObject component and some more classes), describing the template aspect of the application should give you a good idea of how the eZ Template can be used.

A Joyride to eZ Components beta2

Come with me on a joyride to eZ systems' hottest product, the eZ Components. While taking this tour with me, you will also learn some of the nice PHP 5 features. You will get an insider's view on beta2 and I will summarize the most significant changes since the beta1 release.

eZ debug

Timing: Jan 18 2025 02:45:09
Script start
Timing: Jan 18 2025 02:45:09
Module start 'community'
Timing: Jan 18 2025 02:45:09
Module end 'community'
Timing: Jan 18 2025 02:45:09
Script end

Main resources:

Total runtime0.3249 sec
Peak memory usage4,096.0000 KB
Database Queries206

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0090 587.5234172.9766
Module start 'community' 0.00900.1630 760.5000576.6641
Module end 'community' 0.17210.1527 1,337.1641409.6563
Script end 0.3247  1,746.8203 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00481.4636200.0002
Check MTime0.00200.6075200.0001
Mysql Total
Database connection0.00120.362810.0012
Mysqli_queries0.241774.37882060.0012
Looping result0.00230.71492010.0000
Template Total0.303893.520.1519
Template load0.00170.528120.0009
Template processing0.302192.962320.1510
Template load and register function0.00010.030210.0001
Override
Cache load0.00130.4099240.0001
states
state_id_array0.00471.453650.0009
state_identifier_array0.00240.750650.0005
Sytem overhead
Fetch class attribute name0.00090.291150.0002
Fetch class attribute can translate value0.00120.372710.0012
class_abstraction
Instantiating content class attribute0.00000.002450.0000
XML
Image XML parsing0.00030.085910.0003
General
dbfile0.00300.9207180.0002
String conversion0.00000.001810.0000
Note: percentages do not add up to 100% because some accumulators overlap

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

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

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1community/articles.tpl<No override>extension/community_design/design/suncana/templates/community/articles.tplEdit templateOverride template
5content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
5content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 19
 Number of unique templates used: 5

Time used to render debug report: 0.0002 secs