O2S Release 1.2.0
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:
- API Harmonization Module: Handles data aggregation and normalization
- Frontend Components: React-based implementations for UI rendering
- 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.
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:
- Locally: Run
npm run storybook
in your project to launch it - Publicly: Access our always-up-to-date version at https://storybook-o2s.openselfservice.com/
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.
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)
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.