What's new in EzyPlatform 1.1.3?

This release expands EventSchema support across admin, web, and HTTP SDK modules, improves media ownership validation, enhances template extensibility, and refines several SDK and meta-service APIs.
  1. Expanded EventSchemaFetcher support across platform modules
    Added extensive EventSchemaFetcher support for admin, web, media events, and HTTP SDK modules. These schema fetchers help describe event inputs, arguments, and response structures more clearly, improving integration visibility and extensibility.
  2. Media ownership validation and user-aware media handling
    Added ValidateMediaOwnerEvent and ValidateMediaOwnerEventHandler to validate ownership before downloading media or retrieving sensitive media details. Media services and controllers now propagate userId during media operations, enabling more secure user-specific access control.
  3. Lightweight ContentTemplateService APIs
    Added lightweight APIs for retrieving content template identifiers and names without loading full template details, including: getTemplateIdByTypeAndName, getTemplateIdAndNamesByType, and getTemplateIdAndNamesByTypes. New supporting models include ContentTemplateIdAndNameModel and ContentTemplateIdAndNameResult.
  4. Media public-status update APIs
    Added new APIs for updating media public visibility: MediaService#updateMediaPublicIfExists and MediaService#updateMediasPublicIfExists. These methods simplify bulk or conditional updates for media visibility management.
  5. Improved EventHandlerManager and EventSchema utilities
    EventHandlerManager now sorts EventSchemaFetcher instances by getPriority(). The EventSchemaFetcher interface also introduces a default priority value of 0. Additionally, EventSchema.DataSchema.Builder now supports incremental field registration via field(...) and grouped field additions via fields(...).
  6. More flexible event handling and JavaScript utilities
    AbstractEventHandler#handleEventData is no longer final, allowing subclasses to override custom event logic. Admin and web JavaScript utilities now include escapeHtml. CSV parsers in ezyadmin.js and ezywebwere rewritten to process quoted cells character-by-character, improving parsing accuracy for values containing delimiters.
  7. Enhanced admin and theme template extensibility
    Admin template ezyadmin.html now supports injecting additionalHead, additionalFoot, and replacing container content via pageFragments. Theme template page.html now supports replacing styles, scripts, header, footer, container sections, and injecting additional head/foot content through commonFragments and pageFragments.
  8. SDK template updates and HTTP SDK upgrade
    SDK project templates were updated with improved examples for th:inline="javascript" and injecting messages/models into scripts. The ezy.http.version dependency was also upgraded from 1.5.0 to 1.5.1.
  9. Meta-service API cleanup and breaking changes
    Several legacy meta-service APIs were removed or replaced with more explicit metaKey-based variants. New replacement APIs include: getAdminMetasMapByAdminIdsAndMetaKey, getAdminMetaValuesMapByAdminIdsAndMetaKey, getUserMetasMapByUserIdsAndMetaKey, getUserMetaValuesMapByUserIdsAndMetaKey, getDataMetasMapByDataTypeAndDataIdsAndMetaKey, and getDataMetaValuesMapByDataTypeAndDataIdsAndMetaKey.
  10. Additional SDK/Core updates
    Added the constant CommonConstants.VOID. Media events were updated so MediaAddedEventnow carries the full MediaModel instead of only mediaId, reducing the need for additional lookups inside event handlers.