What's new in EzyPlatform 1.4.8?

This release expands the Page Token-based pagination system across multiple data types in EzyPlatform, significantly improves Admin/User Role management and search capabilities, and introduces additional filtering, sorting, and database optimizations for DataI18n, DataRecordCount, Projects, and Script execution history.
  1. Expanded Page Token-based pagination
    Page Token-based pagination has been extended to Admin Role names, roles assigned to Admins, User Role names, roles assigned to Users, DataI18n, DataRecordCount, the Project list in Admin, and Script execution history. This mechanism provides more efficient and consistent navigation through large datasets.
  2. Added shared Filter and Pagination APIs
    Added corresponding Filter, Pagination Parameter, Parameter Converter, Repository, and Service classes for the Admin, Web, and HTTP SDK environments, standardizing data filtering and pagination across EzyPlatform components.
  3. Expanded data sorting options
    The platform now supports additional sorting criteria for Roles, Data, Projects, and Script History. Role names can be sorted by ID or priority; Role relationships by roleId and adminId/userId; DataRecordCount by ID, record count, or latest count time; and DataI18n by data type, data ID, language, or field name. Projects can be sorted by project name, while Script History can be sorted by module, module type, or script name.
  4. Improved Admin Role and User Role management
    Role management pages now support keyword search, configurable limits from 30 to 500 results per page, and navigation to the first, previous, next, or last page. The interface also displays the current result count and total number of Roles, making large Role lists easier to manage.
  5. Added search support for Role names
    Added indexing and keyword extraction for Admin Role and User Role names. This mechanism provides the indexed data required for keyword search on the updated Role management pages.
  6. Standardized AdminRoleService
    Shared Admin Role query functionality has been moved into AdminRoleService and DefaultAdminRoleService. The shared APIs include checking whether a Role exists, retrieving Roles by ID or name, retrieving Roles assigned to an Admin, obtaining Role ID sets, validating Role ID lists, querying Roles by priority, and determining the lowest priority.
  7. Moved AdminRoleNameModel to the Common SDK
    AdminRoleNameModel has been moved from the Admin module to the Common SDK so it can be consistently reused across the Admin, Web, and Socket environments.
  8. Extended DataRecordCount
    The Common SDK now includes DataRecordCountModel along with conversion support from the DataRecordCount entity to the shared model. DataRecordCountRepository has also been extended with findByDataName, countByDataName, and deleteByDataName.
  9. Added filtering and pagination for DataRecordCount
    Record count statistics can now be filtered and paginated by data type, data name, record type, record count range, and count time. This provides more flexible querying and management of statistical data as the number of records grows.
  10. Optimized database indexes
    Added the (updated_at, id) index to ezy_admin_role_names and ezy_user_role_names. The ezy_data_record_counts table now includes (last_counted_at, id) and (record_count, id) indexes to improve the efficiency of the new pagination and sorting queries.
  11. Added a database upgrade script
    Added ezyplatform-alter-tables-1.sql to automatically upgrade the required indexes for existing Role tables when updating to the new version.
  12. Changed the Admin Role API response
    GET /api/v1/admin/roles no longer returns a list directly. The new response is a pagination object containing items, count, total, pageToken, and continuation.
  13. Changed the User Role API response
    GET /api/v1/user/roles now also returns a paginated response. Both Role APIs support the additional parameters keyword, sortOrder, nextPageToken, prevPageToken, lastPage, and limit, with a default limit of 30.
  14. Role API upgrade notice
    Applications that currently read array responses directly from GET /api/v1/admin/roles or GET /api/v1/user/roles must be updated to retrieve the list from the items field of the paginated response.
  15. Updated DefaultAdminRoleService
    The constructor of DefaultAdminRoleService now requires an additional DefaultEntityToModelConverter. Custom classes extending this Service must update their constructors accordingly when upgrading to EzyPlatform 1.4.8.
  16. Updated the AdminRoleNameModel import
    Since AdminRoleNameModel has been moved to the Common SDK, modules using the previous import must update it to: org.youngmonkeys.ezyplatform.model.AdminRoleNameModel.