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 CommonDataSchema and provides a consistent way to describe data variables used within a view.
  2. Added view-schema fetching infrastructure
    Introduced ViewSchemaFetcher for cases where a fetcher provides the schema of a single view, and ViewMultipleSchemaFetcher for 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 ViewSchemaFetcherManager to 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 ViewMultipleSchemaFetcher take precedence and override schemas from single-view fetchers.
  4. Dedicated managers for Admin and Web environments
    Added AdminViewSchemaFetcherManager and WebViewSchemaFetcherManager. Both managers extend ViewSchemaFetcherManager and are registered as @EzySingleton components, making view-schema management readily available to admin and web modules.
  5. Standardized TemplateParametersSchemaFetcherManager package location
    TemplateParametersSchemaFetcherManager has been moved to the org.youngmonkeys.ezyplatform.manager package. The corresponding admin and web managers are also located there: AdminTemplateParametersSchemaFetcherManager and WebTemplateParametersSchemaFetcherManager. When upgrading, projects and plugins that currently import these classes from the fetcher package should update their imports to the new manager package.