Skip to content

admin-ui-bundle v3.0.1: the admin runs on Exponential UI where the legacy kernel has no YUI

Choose a tag to compare

@se7enxweb se7enxweb released this 24 Oct 21:45
· 0 commits to master since this release

admin-ui-bundle 3.0.1: the Netgen Admin UI runs on Exponential UI where the legacy kernel has no YUI

Exponential 6.0.15 removed YUI from the legacy kernel: ezjscore 1.5.0 ships no YUI files and no ezjsc::yui*
packer keys, and the admin designs run on jQuery 4 and Exponential UI (extension expui). With that kernel
/ngadminui/ requested YUI files that no longer exist (404), the sub-items table, the date pickers, the relation
upload and the collapsible edit menu stopped with "YAHOO is not defined" / "YUI is not defined", and every page
added ezjscServerFunctionsJs::yui2() and "Not a valid ezjscServer function" entries to the legacy error.log.

This release makes every widget use what the legacy kernel provides. On a kernel that still ships YUI
(6.0.14 and earlier) the YUI code runs exactly as before.

Updated

  • The sub-items table runs on Exponential UI's exp::datatable (new ngadminui_subitems_expdatatable.js): the
    same requests, column cookie, priority editing, Select, Create new subitem, More actions and Table options.
  • The date and date/time fields use exp::datepicker; the relation upload uses exp::dialog and exp::upload
    with the legacy kernel's expajaxuploader.js; the object information menu of the edit form collapses with
    exp::collapse.
  • The tags dashboard includes eZ Tags' eztags_children_table.tpl where eztags_children_yui.tpl was renamed.
  • page_head_script.html.twig loads YUI and the scripts written for it only on a kernel with YUI, keeps the
    page's jQuery 4 (with jQuery.ez and the exp:: plugins), adds Exponential UI's page configuration when a
    project's legacy page head leaves it out, and loads its jQuery UI 1.11 resizable only where jQuery UI 1.14
    has not brought one ("this._addClass is not a function").
  • The relation search and the node tabs no longer call .size(), .bind() and .click(fn); the relation
    search failed with "node.size is not a function" on 6.0.14 as well.
  • The style="" attributes of the changed templates moved to the design's content.css.

Added

  • The legacy template operators ngadminui_js_library() ('expui', 'yui' or 'none') and
    ngadminui_has_template(), and the Twig function ngadmin_legacy_js_library().

Upgrading

Nothing to configure. Clear the legacy caches (php bin/php/ezcache.php --clear-all) and the Symfony cache
after the update. The template operator is found without regenerating the legacy autoloads. A project whose
ngadminui design.ini lists BackendJavaScriptList[]=ezjsc::yui2 can remove that line.

  • page_head_script.html.twig is the same as in 2.x: on a kernel with YUI the bundle's jQuery and the YUI 3 seed
    no longer replace the page's own ("$(...).EzTags is not a function", "Y.one is not a function" in 3.0.0).

Verified

A fresh install of Exponential Platform Nexus 1.1.0.x (SQLite, PHP 8.1), first with its locked legacy kernel
6.0.14 and then with the current 6.0.15, used in the browser: sign-in, dashboard, content tree, sub-items table
(Select, Create new subitem, Table options, sorting), tags dashboard, the date/time calendar and the edit menu,
the "Upload a file" dialog. On 6.0.15 no YUI request and no YAHOO or YUI error; on 6.0.14 fewer page errors than
3.0.0. The relation search and the upload stop with a server error in that install's own legacy_admin too
(datatype ezrichtext missing); both were verified on the 2.x line, whose legacy templates these are.