What's new in EzyPlatform 1.4.1?

This release lays the foundation for Data Tagging in Admin, introduces a shared Entity Fetcher system, expands Admin UI customization, improves multi-selection capabilities, and optimizes metadata queries.
  1. Laid the foundation for Data Tagging
    The Admin UI now includes a Data Tagging button on the Right Toolbar, providing the foundation for tagging and managing data by entity. Admin, User, Media, Setting, Admin Role, and User Role pages can identify the current entity through ezyadmin.taggableEntity. List pages also support selecting entities using checkboxes in preparation for bulk tagging operations.
  2. Added a shared Entity Fetcher system
    The platform introduces CommonAdminRoleEntityFetcher, CommonUserRoleEntityFetcher, and CommonMediaEntityFetcher. In addition, CommonAdminEntityFetcher and CommonUserEntityFetcher have been extended to support icons for entity display.
  3. Added environment-specific Entity Fetcher management
    Added AdminEntityFetcherManager and WebEntityFetcherManager to centrally manage Entity Fetchers for the Admin and Web environments. CommonEntityModel now also includes an icon field, allowing different entity types to be displayed more visually and clearly in the UI.
  4. Expanded Admin UI customization
    The Admin UI now supports the gray, green, blue, red, orange, purple, and pink theme colors. Users can also adjust the font size from 80% to 120% and table cell spacing from 2px to 24px. These preferences are automatically persisted using localStorage.
  5. Improved Dark Mode and Control Sidebar
    When switching between Light Mode and Dark Mode, the selected theme color is now correctly reapplied to match the current interface state. A new extension point, controlSidebarFragments, has also been added, allowing plugins to insert custom content or tools into the Control Sidebar without modifying the original template.
  6. Improved multi-selection in Admin
    The Admin list page now includes checkboxes for selecting multiple records and stores Admin data by ID. The User list page further improves multi-selection and synchronization of selected IDs. The Setting list page also supports multi-selection and identifies selected Settings for Data Tagging. In the Media Modal, the taggable entity is updated based on the most recently selected media item.
  7. Integrated Data Tagging into Profile and Role pages
    Admin and User Profile pages now automatically set the current entity for use with Data Tagging. Similarly, Admin Role and User Role detail pages automatically identify the current Role as a taggable entity.
  8. Optimized database indexes for Data Meta
    Added the ezyplatform-alter-data-meta-key-indexes.sql script along with new indexes on ezy_data_meta for (meta_key, meta_value, id) and (meta_key, id). These indexes improve the performance of common metadata queries based on Meta Key and Meta Value.
  9. Improved metadata queries and filters
    The repository now provides findByMetaKeyAndIdGtOrderByIdAsc(...). DefaultDataMetaFilter supports keywordPrefix by joining with DataIndex. Admin, User, and Data Meta Filters now also perform likeKeyword searches using metaValue LIKE prefix, allowing database indexes to be utilized more effectively.
  10. Improved shared SDK and repositories
    AdminRoleNameRepository has been moved to the Common SDK so it can be reused across multiple modules. The Admin module now includes AdminAdminRoleNameRepository, while findAllOrderByPriorityId(...) has been moved into the shared UserRoleNameRepository.
  11. Improved login redirect handling
    AdminViews.redirectToLogin(...) no longer adds a callbackUri for static resource requests such as .css, .js, images, fonts, or source maps. This prevents unnecessary callback URLs from being generated when static resources are requested while rendering the login page.