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-16T06:43:02Z
2026-09-16T06:43:02Z
Updated: Updated the pins on explayouts-ui and sevenx-themes-media to the releases carrying the paging of the layout lists and the redirect for the media library's own containers. explayouts-ui 1.2.0 pages the layout, shared layout, component and rule lists, none of which had a ceiling on how many rows they drew. sevenx-themes-media 1.5.4 stops the media library being served as a set of public pages: the three containers the base installation provides are folders rather than ng_container, so they never matched the rule that redirects every other container, and answered with a browsable listing instead.
2026-09-16T04:48:18Z
Fixed: Fixed the package list drawing every package in the repository on every page of itself, which it did because the offset and limit it asked for had never been applied to anything. eZPackage::fetchPackages() takes a parameter array and hands it to packageRepositories(), which reads repository_id out of it and nothing else. offset and limit have therefore always been accepted and ignored, so a caller asking for twenty five packages was given every package there was. The list fetch asked for a window on every view and was handed the lot, which is why adding a pager to that page produced pages that all looked the same. The window is applied in the fetch that asks for it rather than inside fetchPackages(), so every other caller of that method is exactly as it was. The page size was also written in the template as a subscript of the ezini operator's result, which the template language does not evaluate, so the limit arrived empty - and an empty limit means no limit. It is read in the module now and handed to the template. Checked against thirty sample packages copied from an existing definition: the first page holds twenty five, the second holds the rest, the two share none, and between them they hold all thirty. ai/bin/one/make_test_packages.php builds and removes them.
2026-09-16T04:32:14Z
Added: Added sorting by the extension's own name and by its license to the extension list, moved its sort onto the address so that paging keeps it, moved the search statistics page onto the settings block, and put the items per page control on the rss list back where it belongs. The extension list could be sorted by its directory name, its version and its date, but not by the name the extension gives itself - the one with spaces and capitals that the Extension column shows - nor by its license, which is the column anybody auditing what is installed reads first. Both sort now, compared the way a reader reads them rather than byte by byte, and an extension that declares no license sorts to the end rather than to the front where an empty string would put it. The sort travelled in a query string, which the pager cannot carry: it appends the offset to the page address and a query string on the end of that address is left behind, so turning the page silently reset the order. It is a view parameter now and the pager keeps it. The old query string is still read, so a bookmarked link still works. The items per page control on the rss list sat inside the header box rather than the content box, where everything is set a size larger, so its numbers came out half again as big as the same control on every other list - nineteen pixels against twelve. It is in the content box now, with the same markup and the same place in the box as the section list, and the four pages measure identically.
2026-09-16T04:24:37Z
Fixed: Fixed the cronjob page paging the wrong list, which it did without complaint because the list it was paging is empty on an installation whose scripts all belong to a part. The long list on that page is the parts and their scripts, seventeen of them here and one more for every extension that adds one. The list of scripts attached to no part is usually empty, and that is the one the page had been given a pager for. The parts table draws a page now. The select above it still offers all of them, because it is how a part is chosen to be run and one missing from it could not be chosen at all, so the whole list and the page are handed to the template separately. Checked by setting the page to five and watching the table become five parts with a pager, then setting it back.
2026-09-16T04:22:04Z
Updated: Updated the pagination settings index with every list that now takes its page size from a setting, the helper the modules read them through, and the one list that is deliberately not paged.
2026-09-16T04:18:53Z
Added: Added a pager to the package list, which had been paging all along with no way to reach the second page, and took its page size out of the template. The list was fetched with an offset and a limit of fifteen written into the template, and the address carried the offset, but nothing on the page ever offered a link to another page: the only way to see the sixteenth package was to type an offset into the address bar. It needed a total to draw a pager and there was no way to ask for one, so there is now a count alongside the list. The count reads every package definition the repository holds, which is the honest price of a pager over a list that lives on disk rather than in a table. Packages are counted in tens on an installation; it is written down beside the method that a repository which ever grew past that should be given a count that does not read them all. shop/preferredcurrency is deliberately not paged. It is a drop-down for choosing one currency, not a list of rows, and paging it would make it unusable; that is recorded in the settings file so the omission does not read as an oversight.
2026-09-16T04:17:05Z
Added: Added paging to the vat type, translation, extension, cronjob script and REST application lists, and moved the state group list onto the settings block. The extension list is the one that shows on any installation: this one has seventy two of them and drew every row, with the heading counting the list it had been handed rather than the list that exists. It counts them all and draws a page now. The REST application list is paged in the query rather than after it, because an installation that hands out an application per integration has no ceiling on how many there are and the query can take a limit. The others are cut to the page after reading, which bounds what is drawn and not what is read. The state group list already paged; only the sizes it offered were fixed in code. While checking the extension list I found it emits a warning for every row, reading a property of something that is not there. It does that without this change too - twenty three times on the unmodified page against six once a page is drawn instead of all of it - so it is left alone here rather than fixed in a commit about paging. |
Recent discussionsRead what others are discussing |
|
Recently updated articlesRead recently modified articles
|
||
