Tutorials & articles written by Nicolas Pastorino

How to contribute to eZ Publish using Git

 At the end of this tutorial, you should be able to contribute to eZ Publish Community Project, eZ Publish’s kernel developed by both eZ and the eZ Community. You will learn how to use git and github in the scope of this participation, and be given the bunch of best-practices to follow for smooth collaboration.

 

Translating & Localizing eZ Publish using GIT

At the end of this tutorial, you should be able to contribute to the eZ Publish Localization project using GIT. Localizing means adding new translations to eZ Publish, enhancing existing ones, and adding or enhancing locales (currencies, week days names, date formats, etc. ).

 

eZ Publish Knowledge Series: WebDAV support in eZ Publish 4.1 now using eZ Components

eZ Publish 4.1 brings improved WebDAV support by replacing its original building blocks by the eZ Components WebDAV component. The new version conserves all existing features, plus it now capitalises on the solid base of eZ Components with its unit tests, documentation and extensibility. This allows for easier maintenance and addition of new features, such as locking, in subsequent eZ publish releases as well.

eZ Publish Knowledge Series: «Stale Cache» or «How caches in eZ Publish 4.1 are handled in a smarter way»

This article describes in detail the principles and functions of the new cache system present in eZ Publish 4.1. Overall the idea can be summarised as follows: instead of deleting cache elements and then regenerate them across concurrent requests, the logic is reversed to a refresh algorithm. Basically a cache element will be marked as invalid but not deleted until a new version is ready. During the generation of the new cache element, the old version will still be served until it is ready.

eZ Publish Knowledge Series: Editorial workflow with Object States

Typical workflow-like processes basically boil down to transitions in states for objects driven by human or other external interaction. The introduction of freely definable object states, possibly grouped in object state collections and coupled to the role/policy system of eZ Publish, enables a wide range of applications.

eZ debug

Timing: Jan 17 2025 21:00:05
Script start
Timing: Jan 17 2025 21:00:05
Module start 'community'
Timing: Jan 17 2025 21:00:05
Module end 'community'
Timing: Jan 17 2025 21:00:05
Script end

Main resources:

Total runtime0.1814 sec
Peak memory usage4,096.0000 KB
Database Queries204

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0045 596.9922172.4453
Module start 'community' 0.00450.0860 769.4375680.9531
Module end 'community' 0.09050.0909 1,450.3906411.6641
Script end 0.1814  1,862.0547 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00331.8060200.0002
Check MTime0.00130.7134200.0001
Mysql Total
Database connection0.00060.345110.0006
Mysqli_queries0.127570.25772040.0006
Looping result0.00130.73731990.0000
Template Total0.168492.820.0842
Template load0.00110.584320.0005
Template processing0.167392.226220.0837
Template load and register function0.00010.039010.0001
Override
Cache load0.00070.3864170.0000
states
state_id_array0.00211.181250.0004
state_identifier_array0.00130.739850.0003
Sytem overhead
Fetch class attribute name0.00050.280550.0001
Fetch class attribute can translate value0.00060.340110.0006
class_abstraction
Instantiating content class attribute0.00000.004950.0000
XML
Image XML parsing0.00030.143910.0003
General
dbfile0.00201.1292180.0001
String conversion0.00000.001110.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/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezxmltags/separator.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltags/separator.tplEdit templateOverride template
2content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 16
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs