Skip to main content
· Tags:

O2S Release 1.2.0

Marcin Krasowski
Chief Architect @ O2S

o2s-1.2.0-header.png

We're excited to announce Release 1.2.0 of Open Self Service, featuring a major architectural improvement in how we handle blocks. This release focuses on making the platform more modular, maintainable, and developer-friendly. Let's explore what's new!

New features

Modular approach to blocks

We've completely reworked our approach to blocks by separating all block-related code from the api-harmonization and frontend apps into independent packages. This architectural change brings several significant benefits:

  • Independent versioning: Each block can now be versioned separately, allowing for more granular updates
  • Simplified maintenance: Blocks can be developed, tested, and deployed independently
  • Easier integration: Adding blocks to your projects is now as simple as installing an NPM package
  • Better developer experience: Clear separation of concerns makes the codebase more maintainable

Each block is now a standalone NPM package with three main components:

  1. API Harmonization Module: Handles data aggregation and normalization
  2. Frontend Components: React-based implementations for UI rendering
  3. SDK Methods: Simplified access to the block's API

With our new approach to blocks, integrating blocks into your application is more straightforward than ever:

npm install @o2s/blocks.block-name --workspace=@o2s/api-harmonization --workspace=@o2s/frontend

Once installed, blocks can be easily imported and used in both the API Harmonization server and Frontend app with minimal configuration.

Need to customize a block beyond its basic configuration? Our new architecture makes it easy to "eject" a block and take full ownership of its source code:

npm run eject-block

This gives you complete control over the block's implementation while still maintaining compatibility with the rest of your application.

tip

For more information and guides, see the Blocks chapter in our documentation.

Other changes

Storybook integration

We've added Storybook to Open Self Service, providing a powerful development environment for UI components. Storybook is now available:

Storybook serves as both a development tool and living documentation, making it easier for teams to collaborate on UI components and maintain design consistency throughout the application.

info

At the moment our Storybook includes only blocks - stay tuned for upcoming updated, where we will also include the components from our UI Library.

Updated documentation

We've made significant improvements to our documentation that should improve its readability and make it easier to find what you need:

New Customization chapter

We've added a dedicated Customization chapter that provides quick links to important sections for extending both starters and the framework itself. This centralized resource makes it easier to find guides for:

  • Using generators for blocks and UI
  • Adding and customizing existing blocks
  • UI theme customization
  • Extending integrations

App Starters documentation

We've added new pages for app starters in our documentation, providing information about different starter templates to help you bootstrap your frontend applications:

  • O2S Customer Portal starter: Our default starter for customer self-service portals
  • DXP Frontend Starter: A new starter for knowledge and marketing portals evolving to Digital Experience Platforms (DXP)
info

Stay tuned for more updates on the DXP starter as we continue to enhance its capabilities and documentation!

Bugfixing and security updates

As always, we're committed to maintaining a stable and secure platform. This release includes various bug fixes and security updates to ensure your Open Self Service implementation remains reliable and up-to-date.