Tutorials & articles written by Peter Keung

Selling Pay-Per-Download Products

Many products – PDF books, songs, and online games, among others – are well suited for a pay-per-download workflow. In such a case, customers buy products online and receive immediate access, without requiring any action from the seller. eZ Publish provides a framework to quickly set up pay-per-download products.

Node Visibility: Hiding and Revealing Content

By default, all nodes in the Content branch are visible and thus accessible on the front-end of a site. To "unpublish" content means to take content off the public site. This is usually achieved by deleting the content object (clicking the Remove button), or hiding the node (changing its visibility status). This article introduces the concepts relating to node visibility and walks you through how to hide and reveal content. It is based on concepts explained in eZ Publish Advanced Content Management.

Section Segmentation and User Permissions Part 2 of 2

The permission system controls access to your site's content and functionality. It includes a set of user accounts and access permissions. Here, we focus on the relevant concepts and how to manage the permission system in the Administration Interface. This article is the second in a mini-series based on concepts presented in the new book eZ Publish Advanced Content Management. It includes an example at the end that builds upon what was discussed in the first article in this series in order to create a protected area on a site.

Section Segmentation and User Permissions Part 1 of 2

Sections group virtual collections of nodes. On their own, sections are nothing more than identification numbers. However, they can be used by eZ Publish in several different, powerful ways. The purpose of this article is to explain the section concept, identify the related features and show how sections are used and managed. This article is based on concepts presented in the new book eZ Publish Advanced Content Management, and is the first of a two-part series about sections, users, roles, and policies.

How to Configure an eZ Publish Site

This article is the first in a tutorial series that explains how to build a feature-rich eZ Publish site from scratch. It is targeted at people who have little previous experience with configuring eZ Publish sites, but have some general knowledge about web technologies. See the articles about eZ Publish basic concepts and the layout of the eZ Publish Administration Interface for an introduction to eZ Publish. Readers who have worked with eZ Publish but never configured or used the advanced features will also find the series useful. The series demonstrates how eZ Publish can be used to build a dynamic community website, and focuses on practical examples that can be implemented for many different scenarios.

eZ debug

Timing: Jan 17 2025 23:50:33
Script start
Timing: Jan 17 2025 23:50:33
Module start 'community'
Timing: Jan 17 2025 23:50:33
Module end 'community'
Timing: Jan 17 2025 23:50:33
Script end

Main resources:

Total runtime0.2451 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.0061 588.6641172.9844
Module start 'community' 0.00610.1092 761.6484648.4531
Module end 'community' 0.11530.1297 1,410.1016411.7422
Script end 0.2450  1,821.8438 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00421.6931200.0002
Check MTime0.00170.6989200.0001
Mysql Total
Database connection0.00090.358610.0009
Mysqli_queries0.175671.64772060.0009
Looping result0.00220.88552010.0000
Template Total0.231494.420.1157
Template load0.00140.565420.0007
Template processing0.230093.844320.1150
Template load and register function0.00010.039610.0001
Override
Cache load0.00100.4274180.0001
states
state_id_array0.00210.858250.0004
state_identifier_array0.00190.758450.0004
Sytem overhead
Fetch class attribute name0.00060.234550.0001
Fetch class attribute can translate value0.00090.384310.0009
class_abstraction
Instantiating content class attribute0.00000.003750.0000
XML
Image XML parsing0.00020.093910.0002
General
dbfile0.00100.4198180.0001
String conversion0.00000.001710.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
1content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
4content/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: 17
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs