Welcome to eZpedia!

The free eZ Publish encyclopedia that anyone can edit. eZpedia has accumulated 722  english articles since 2006. We encourage you to create an account and create or edit a page yourself. Some folks create an article in the people namespace with their full name as the article name with a brief description of who they are, their interests, goals and objectives.

Ask A Question

Do you have an eZ Publish question, do you need an eZ Publish answer? Simply login and ask your question in our discussion forum. We publicly write free documentation based on your submissions. Posting on eZpedia is a great way to get answers you need and contribute to our freely available community documentation for eZ Publish.

Chat with other eZ Publish Developers LIVE from around the World!

Ecosystem

Read about what is going on within the various eZ Publish related websites on internet.

Recent development activity

Track the development progress through the roadmap by reviewing recent Exponential Git activity from the github repository.

github.com/ezsystems/ezpublish-legacy commit log rss feed
Last updated: 2026-04-29T20:14:40Z
2026-04-29T20:14:40Z
Updated: Copyright Year Bump from 2025 - 2026.
2026-04-28T15:06:02Z
Updated: Rebranding the standard design logo usage to Exponential logo png. Rebranding.
2026-04-28T14:45:54Z
Updated: Version bump + filelist.md5 update. Release prep.
2026-04-28T13:37:22Z
generatefilelist.sh: fix --include= bug; filelist.md5: regenerate from edit docroot with vendor/

generatefilelist.sh: unset 'EXCLUDE_PATHS[$KEY]' used single quotes so
$KEY was never expanded — the unset was a no-op and --include=<key> had
no effect. Fixed to unset "EXCLUDE_PATHS[$KEY]".

filelist.md5: regenerated by running generatefilelist.sh --include=vendor
from edit.alpha.se7enx.com/ (the PHP/Apache document root) rather than
alpha.se7enx.com/ (the git working copy). The edit docroot is a symlink
forest; running from there ensures hashes match exactly what PHP md5_file()
sees at runtime. vendor/ is now included (17213 files total).
2026-04-28T12:55:39Z
ezsqliteschema: fix fetchTableFields and fetchTableIndexes for SQLite3 PRAGMA API

The two methods used MySQL SHOW COLUMNS/SHOW INDEXES key names
(Type, Null, Default, Extra, Field, Key_name, Non_unique, Column_name,
Sub_part, Seq_in_index) on SQLite PRAGMA table_info / PRAGMA index_info
results, which return completely different column names.

fetchTableFields fixes:
- Row key 'Field' -> 'name'
- Row key 'Type' -> 'type' (strtolower; map 'integer' -> 'int')
- Row key 'Null' != 'YES' -> 'notnull' == '1'
- Row key 'Default' -> 'dflt_value' (strip surrounding quotes; convert
  SQL keyword string 'NULL' to PHP null)
- Auto_increment detection: str_contains(Extra, 'auto_increment') ->
  pk==1 AND type==='integer' AND notnull===0 (covers composite PKs too)
- bigint added to numeric types list

fetchTableIndexes rewrite:
- Was: PRAGMA index_info(table_name) with MySQL SHOW INDEXES keys ->
  all values null, no indexes detected, no PRIMARY emitted
- Now: PRAGMA table_info -> extract pk columns -> emit PRIMARY (always,
  matching .dba schema); PRAGMA index_list -> per index PRAGMA
  index_info(index_name) -> correct column names via 'name'/'seqno'
- sqlite_autoindex_* internal entries are skipped

Verified: zero diff against share/db_schema.dba for all 119 core
tables under the same loose != comparison used by eZDbSchemaChecker.
2026-04-28T11:24:01Z
generatefilelist.sh: add --include=<key> option for custom path inclusion

Adds a --include=<key> flag that removes a path from the default exclusion
list at runtime, allowing vendor/ and other large dirs to be optionally
hashed into share/filelist.md5.

Usage examples:
  # Include top-level vendor/ in the hash:
  bash bin/shell/generatefilelist.sh --include=vendor

  # Include both vendor/ and extension vendor dirs:
  bash bin/shell/generatefilelist.sh --include=vendor --include=extension_vendor

Available keys: git, var, tmp, vendor, extension_vendor
share/filelist.md5 remains always excluded (cannot self-reference).

Also regenerates share/filelist.md5 with the updated script hash.
2026-04-28T11:05:45Z
Add generatefilelist.sh and generate share/filelist.md5

Adds bin/shell/generatefilelist.sh — a release-time utility for generating
share/filelist.md5, which is required by the eZ admin Setup > System Upgrade
> File consistency check.  Without this file the check always shows an orange
warning; with it the check shows green when files are unmodified.

USAGE (run once per release, after all files are in their final state):

  # From the document root that Apache/PHP-FPM serves (symlink-based vhost):
  cd /var/www/vhosts/<vhost>/doc/edit.<domain>
  bash bin/shell/generatefilelist.sh

  # Or from a plain checkout:
  cd /path/to/site-root
  bash bin/shell/generatefilelist.sh

  # Dry-run (preview file count, no writes):
  bash bin/shell/generatefilelist.sh --dry-run

  # Verify the generated file passes the check:
  bash bin/shell/verifyfiles.sh

NOTES:
- Uses find -L to follow symbolic links so hashes match exactly what
  PHP md5_file() sees when the document root uses symlinks for most files.
- Excluded from hashing: .git/ var/ tmp/ vendor/ extension/*/vendor/
  and share/filelist.md5 itself (cannot self-reference).
- Writes atomically via a tmp file; safe to run on a live install.
- Re-run generatefilelist.sh after any file change (incl. this script).

Also includes the freshly generated share/filelist.md5 for this release.

Recent discussions

Read what others are discussing

Recently updated articles

Read recently modified articles

ezpedia.org updated content rss feed
  1. eZ : Main page
  2. Solution : Read-only site
    • @5 | 2025/01/25 @ 17:17:56 : Graham Brookins : History - based on version 4, republishing in attempt to regain example settings display
  3. Solution : Reseting the admin password in eZ publish
    • @15 | 2024/10/25 @ 21:09:06 : Graham Brookins : History - based on version 14 added missing comma to example copy and paste code.
  4. Learning : Extensions
  5. Learning : Standard Events
  6. Learning : Standard Triggers
  7. Learning : A workflow
  8. Learning : Events
  9. Learning : Workflow
  10. Learning : Roles
  11. Learning : Policies
  12. Learning : User Groups
  13. Learning : Site Access
  14. Learning : Design Structure
  15. Learning : Default Design
  16. Learning : Access Control
  17. Learning : Designs
  18. Learning : Template Override System
  19. Learning : Pagelayout.tpl
  20. Learning : Custom System Templates