Skip to content

Conversation

@EricWittmann
Copy link
Member

Studio Integration for Apicurio Registry 3.1

This PR introduces comprehensive Studio-like functionality to Apicurio Registry, adding schema and openapi design capabilities to Registry (and deprecating the Apicurio Studio project in the process).

Key Features Added

🎨 Schema Design & Editing

  • New Editor Page with support for multiple schema formats:
    • OpenAPI 2.0/3.0 with visual editing capabilities
    • AsyncAPI 2.0 with channel and operation management
    • Protocol Buffers with syntax highlighting
    • Generic text editor for other formats
  • Built-in template system with starter schemas for each format
  • Real-time content validation and error highlighting
  • Compare functionality to diff schema versions

📝 Draft Management System

  • Complete Drafts workflow allowing users to:
    • Create new drafts from templates or existing artifacts
    • Edit drafts without affecting published schemas
    • Finalize drafts to create new artifact versions
    • Manage draft metadata and lifecycle
  • Draft search, filtering, and organization tools

🔍 Enhanced Search & Discovery

  • New dedicated Search Page with advanced filtering
  • Search across artifacts, groups, and versions with faceted results
  • Improved navigation between different entity types
  • Enhanced empty states and user guidance

🏗️ UI Architecture Improvements

  • Refactored page layouts with consistent tab-based navigation
  • Updated Explore, Group, Artifact, Branch, and Version pages
  • Modernized header with better action organization
  • Improved responsive design and accessibility

Technical Changes

Backend Enhancements

  • Updated REST APIs for search functionality (v2/SearchResourceImpl, v3/SearchResourceImpl)
  • Enhanced system configuration for UI features
  • Improved OpenAPI specifications

Frontend Modernization

  • New Angular-based UI Editors module (ui/ui-editors/)
  • Enhanced TypeScript services for drafts, templates, and content management
  • Updated models and type definitions
  • Comprehensive test coverage for new functionality

Developer Experience

  • Updated Docker configurations for development
  • Enhanced build and packaging scripts
  • Improved development workflow documentation

This integration brings Apicurio Registry closer to a complete API design platform, enabling users to not just
store and manage schemas, but actively design and iterate on them within the registry interface.

EricWittmann and others added 16 commits September 22, 2025 11:31
* Added a ContentAccepter to the artifact type util provider

* Added beans to support loading a config file that defines supported artifact types

* Implemented loading and processing of an artifact types config file

* Removed a static instance of DefaultArtifactTypeUtilProviderImpl

* Started work on artifact type webhooks, impl and testing

* Defined all endpoints in the artifact-types-webhooks openapi

* Split up testing of custom artifact types so the same test is used for both webhooks and java

* Implemented content canonicalizer for configured artifact types

* New abstract base class for configured artifact type utils

* Added support for configured ContentValidator

* Added support for configured ContentCanonicalizers

* Added support for configured ContentDereferencer

* Added support for configured ReferenceFinder

* Reuse the Quarkus vertx instance/context

* Introduce an http client service that includes retries and timeouts

* Added some basic validation of the artifact type config file

* Fixed a bug in the validation of custom artifact type config file

* Added some no-op support for script based artifact type functionality
…s) (#6168)

* Initial flink util script and Catalog impl

* Clean up the flink module

* Added support for artifact types that have no content.

* Updates to the custom artifact types tests

* Remove catalog test

* Fixed a bug when updating draft content
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants