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 QuestionDo 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!EcosystemRead about what is going on within the various eZ Publish related websites on internet. Recent development activityTrack the development progress through the roadmap by reviewing recent Exponential Git activity from the github repository. Last updated: 2026-09-19T07:37:56Z
2026-09-19T07:37:56Z
Updated: Updated share/filelist.md5 for the SQLite driver change so the file consistency check matches the installation again.
2026-09-19T07:37:19Z
Fixed: Fixed a SQLite install stopping part way through, caused by a database reset that did nothing and two MySQL-only statements the driver passed straight to SQLite, so a kickstarter run now finishes on SQLite as it does on the other engines. removeDatabase() was never implemented, so the inherited stub did nothing and a request to remove and recreate the database left the previous install in place. Every CREATE TABLE that followed failed with "table already exists" and the run continued against a half written database. It now drops every object that is not SQLite's own, in the order trigger, view, index, table, skipping the autoindexes that cannot be dropped alone, and vacuums afterwards. The objects go rather than the file, because the connection is open and other handles may hold the same path. createDatabase() makes sure the directory is there, which is all a file based database needs. The session settings an installer writes around a bulk load - foreign key checks, names, sql mode - have no meaning for SQLite, but failing them aborted the surrounding transaction and took the install with it. They are accepted and ignored. The language mask rebuild is written as an UPDATE joined against a grouped BIT_OR subquery, which SQLite understands in neither half. BIT_OR and BIT_AND are registered as aggregates on connect, and the statement is rewritten to the UPDATE ... FROM form SQLite has accepted since 3.33, with the subquery's own brackets counted so the ones inside BIT_OR do not end it early. A statement that is not of that shape is left exactly as it was.
2026-09-19T06:40:56Z
Fixed: Fixed every link rendering as content/view/full/<id> and 59 image files going missing on install, caused by a path builder that discarded whole paths and a reference check that could not run, and regenerated share/filelist.md5 to match. The url alias path builder gave up on two shapes this installation creates. An ancestor above the aliased tree owns no alias row, because the multisite installer hands the empty root element to the siteaccess home node and leaves the content root without one; such an ancestor contributes nothing and is now skipped, while a gap in the middle of a path still fails. A node can also own more than one alias row - a home node owns both the empty root element and its own named one - and the language preference alone picked whichever came back first, leaving the chain check to reject the path; the candidates are now narrowed to the rows the next element hangs off. The two image reference checks ask whether anything else still points at a file, using a join. MongoDB has none, the driver refuses what it cannot translate, and the count then read as zero, so the caller deleted files that were still in use. Both have a path that reads the image rows first and filters the attributes they name, which needs no join. It is built on aggregate() because count() and find() route conditions through translateConditions(), which rewrites a top-level $or. Moving an image kept the last four: translations share one image, the owning attribute holds the file and the others reference the same path, and only the owner's row followed the file when it moved. The siblings now move with it.
2026-09-18T10:51:02Z
Updated: Updated the pin on explayouts to the release that makes tag-driven pages list their content on MongoDB, and regenerated share/filelist.md5 so the file consistency check matches the installation again.
2026-09-18T10:49:12Z
Fixed: Fixed the MongoDB driver and the kernel paths that use it, caused by SQL the driver silently dropped or could not translate, so an install now reaches the same pages as the reference. The driver refused or mishandled statements the kernel issues constantly: row-locking suffixes, bitwise masks in WHERE, aggregate SELECTs, ORDER BY and LIMIT, IN subqueries, TRUNCATE, DROP TABLE, session SET, joined UPDATEs and INSERTs without a column list. Counting was answered by returning documents, so every SELECT COUNT(*) read zero and the installer created 533 duplicate nodes; a quoted comma inside a SET value split the assignment in half, which left every layout collection holding a truncated query; and sort directions written as booleans were read as ascending, so every date-ordered list came back oldest first. The schema writer skipped the unique index whenever a primary key was a single auto_increment column, so nothing enforced what the primary key enforced and the seed loader stored a second copy of every row two extensions shipped. Auto_increment values are now filled from the collection's own primary index and reported by lastSerialID, latin-1 bytes are converted before they reach BSON, and writes that would invent a row keyed on null are refused and name their caller. Alongside those, the unattended installer declared iso-8859-1 where the interactive one declares utf-8, the search engine plugin was reported as failing when it had been switched off on purpose, and the url alias fetch ignored the language filter its SQL applies.
2026-09-18T05:51:09Z
Updated: Updated the pins on explayouts and sevenx-themes-media to the releases that give the title and button link field a usable form instead of a text box holding JSON.
2026-09-17T09:42:04Z
Updated: Updated the pin on explayouts-ui-api to the release that gives every block type its own icon in the editor's block menu. |
Recent discussionsRead what others are discussing |
|
Recently updated articlesRead recently modified articles
|
||
