What's new in EzyPlatform 1.2.2?

This release introduces a view-schema system, expands view-schema fetcher management capabilities, and standardizes the location of template-parameter schema managers.
  1. Introduced the ViewSchema system
    Added ViewSchema to describe the structure and metadata of a view, including properties such as template, pageFragmentPageName, pageFragmentNames, variables, description, and properties. Also introduced ViewSchema.DataSchema, which extends CommonDataSchemaand provides a consistent way to describe data variables used within a view.
  2. Added view-schema fetching infrastructure
    Introduced ViewSchemaFetcherfor cases where a fetcher provides the schema of a single view, and ViewMultipleSchemaFetcherfor cases where a fetcher provides multiple view schemas at once. This gives modules and plugins more flexibility when exposing view-schema definitions.
  3. Added ViewSchemaFetcherManager
    Introduced ViewSchemaFetcherManagerto collect and manage all view-schema fetchers registered in EzySingletonFactory. The manager supports retrieving fetchers by viewUri, listing all registered fetchers, and uses lazy initialization so singleton scanning only occurs once. When multiple schemas share the same viewUri, schemas provided by ViewMultipleSchemaFetchertake precedence and override schemas from single-view fetchers.
  4. Dedicated managers for Admin and Web environments
    Added AdminViewSchemaFetcherManagerand WebViewSchemaFetcherManager. Both managers extend ViewSchemaFetcherManagerand are registered as @EzySingleton components, making view-schema management readily available to admin and web modules.
  5. Standardized TemplateParametersSchemaFetcherManager package location
    TemplateParametersSchemaFetcherManagerhas been moved to the org.youngmonkeys.ezyplatform.manager package. The corresponding admin and web managers are also located there: AdminTemplateParametersSchemaFetcherManagerand WebTemplateParametersSchemaFetcherManager. When upgrading, projects and plugins that currently import these classes from the fetcher package should update their imports to the new manager package.