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-09-14T04:12:33Z
2026-09-14T04:12:33Z
Updated: Version bump on ezupdate package to 1.0.2
2026-09-14T03:29:21Z
Updated: Updated the explayouts constraint to 1.2.1, so installs are guaranteed the nexus node map fix that keeps block links pointing at the right content.
2026-09-14T02:10:18Z
Fixed: Fixed every content class the base data seeds installing with a blank name, by not copying an eng-GB name that does not exist.

The CreateSites step converts a base installation seeded in eng-GB to the
chosen primary language. It did that by copying the eng-GB entry of each name
list onto the primary language:

  $classAttribute->NameList->setName(
      $classAttribute->NameList->name( 'eng-GB' ), $primaryLanguageLocaleCode );

Our base data is seeded in eng-US, so there is no eng-GB entry, name() returns
an empty string, and that empty string was written over the real name.
eZContentClass::store() then serialised it as

  a:2:{s:6:"eng-US";s:0:"";s:16:"always-available";s:6:"eng-US";}

which is byte for byte what eZContentClassNameList::initDefault() produces, so
the result looked like a name list that had never been initialised.

The loop covers classes and their attributes, which is why both levels were
affected, and it only sees classes that exist at that point in the wizard -
the ten the base data seeds: folder, article, user, user_group, image, file,
link, comment, common_ini_settings and template_look. On this installation that
was 10 class names and 50 attribute names, blank in the class list, the create
here menus and anywhere else a class or attribute label is printed.

The ezcontentclass_name rows escaped for two reasons, both in the same block:
the UPDATE above it only rewrites rows whose locale is eng-GB, which is a no-op
when the data is already seeded in the primary language, and
setHasDirtyData( false ) then deliberately skips rewriting them. That is why
the names survived in that table while the serialized column was emptied, and
why the two disagreed.

The name is now only carried across when there is one to carry.
setAlwaysAvailableLanguage() and removeName( 'eng-GB' ) still run unconditionally,
so a genuine eng-GB installation converts exactly as before; this only declines
to write when there is nothing to write.

Verified by replaying the conversion against real classes, old logic against
new, in memory: the old path reproduces the empty serialisation exactly and the
new path preserves Folder, Article, User group and the folder name attribute.
See ai/bin/one/test_class_name_language_conversion.php.
2026-09-14T01:12:11Z
Updated: Updated three explayouts constraints that could never reach their latest release.

A tilde constraint on a three part version does not cross a minor, so
~1.0.0 means >=1.0.0 <1.1.0. explayouts has since released 1.1.0, 1.1.1 and
1.2.0, and explayouts-ui and explayouts-ui-api have released 1.1.0, none of
which the constraints allowed. The pins were raised to the current minor:

  se7enxweb/explayouts          ~1.0.0 -> ~1.2.0
  se7enxweb/explayouts-ui       ~1.0.0 -> ~1.1.0
  se7enxweb/explayouts-ui-api   ~1.0.0 -> ~1.1.0

This class of staleness is invisible to composer outdated, which reports only
what is installable within the current constraints - so a constraint that has
fallen behind its package satisfies itself and is never mentioned. The three
were found by querying Packagist for the newest stable release of each of the
57 se7enxweb packages and testing it against the declared constraint;
ai/bin/one/check_composer_constraints.py does this and now reports none
excluded. The other 54 were already correct.

Constraints only. composer.lock is untouched: thirteen packages are locked
behind a release their constraint already permits, and refreshing that lock is
a separate decision, not least because most of these extensions are live git
checkouts rather than composer installs.
2026-09-13T11:45:00Z
Added: Added the finish time and elapsed duration to the kickstarter setup summary, so two runs of the same kickstart.ini can be told apart in the console output.
2026-09-13T11:35:06Z
Updated: Updated the sevenx-themes-media constraint to 1.5.1, so installs are guaranteed the meta description and image alt text fixes rather than merely allowed them.
2026-09-13T10:53:34Z
Updated: Updated the sevenx-themes-media constraint to the 1.5.0 series, so installs pick up the working favicons and the removal of node ids and eng-GB the theme used to ship.

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