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-10-11T21:53:31Z
2026-10-11T21:53:31Z
Updated: The file manifest carries the checksum of the JSON package format page
2026-10-11T21:53:29Z
Updated: The JSON package format page shows rich text without the editor's namespace URIs
2026-10-11T21:41:14Z
Updated: The file manifest carries the checksums of the JSON package format
2026-10-11T21:40:57Z
Added: A JSON format for packages, an alternative serialization of the classic package model

A package can be written as package.json and JSON documents instead of
package.xml and XML documents. Every XML document of the package (the
definition, the files of its items, the object files) is mirrored element
for element in JsonML, rich text kept as its XML string, so the package
handlers and datatypes read the same DOM from either format and a package
converts from XML to JSON and back without loss. The classic format stays
the default; a classic package, its archive and its installation are
unchanged. Verified on every installer package of the 7x repository and a
test subtree: every document canonically equal after XML -> JSON -> XML,
every other file byte for byte, the JSON a fixed point.

- expPackageJson: the mapping, conversion of package directories and
  archives, validation, checksums (SHA-256 of every file in package.json)
- share/package/schema/package-v1.json, the JSON Schema of the format, and
  expJsonSchemaValidator to check documents against it
- eZPackage: export in either format (format json|xml), import and fetch
  detect the format by content, documents are read from XML or JSON,
  package metadata (<metadata><entry key>) for tools, archiveDirectory()
- Install as drafts, a generic install option: content objects become
  drafts, nothing is published, no published object changes; existing
  objects get a new draft or are left alone, an object of another class is
  a conflict; other items are listed instead of installed
- expPackageConflictReport: what an install meets here, by remote id
- ezpm: export --format=json, convert, validate, check, install --as-drafts
- Setup > Packages: Download as JSON, the package's format and metadata,
  the install page's report by remote id and the option to install as drafts
- The upload check and the package catalog accept package.json
- package.ini [PackageFormatSettings]; documentation in
  doc/bc/6.0/package-json-format.md; tests in expPackageJsonTest
2026-10-11T21:30:00Z
Updated: The file manifest carries the checksums of the service declarations that opt in to the assistant
2026-10-11T21:29:48Z
Updated: Read services can opt in to be tools of the assistant with 'ai' => true

A service declaration may carry 'ai' => true, or 'ai' => array( 'summary' => '...' ),
to say that the assistant of expai may call it: one declaration then serves HTTP
(ezjscore/call), MCP (the tools expmcp generates) and the assistant, each with the
caller's own permissions. Services stay private to the assistant by default, and a
service that writes is never offered. The catalogue reports the flag as ai.

Opted in, as reads checked by the content's own read access: expnode childrenNames,
childrenCount, breadcrumb, tree, latest and find; expsection list and ofNode; expstate
groups and ofObject; exptags roots, children, tree, search and ofnode. The services
documentation describes the flag and the three channels.
2026-10-11T20:59:06Z
Updated: The file manifest carries the checksums of the Velocity streaming settings

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