Skip to content

admin-ui-bundle v4.0.2: 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:46
· 34 commits to master since this release

admin-ui-bundle 4.0.2: 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.

Also added: the IcoMoon fonts that the ngadminui stylesheets load (every admin page answered 404 for
IcoMoon.woff and IcoMoon.ttf).

Verified

A fresh install of Exponential Platform Nexus 1.2.0.x (SQLite, PHP 8.2) with the current legacy kernel 6.0.15,
used in the browser: sign-in, dashboard, content tree, sub-items table with Select, Create new subitem, Table
options and sorting, tags dashboard, relation search and a file uploaded into a relation. No YUI request, no
YAHOO or YUI error, no new legacy error.log entry from the bundle. The date/time templates are those of 2.9.23,
verified there on legacy kernels 6.0.15 and 6.0.14.