|
| 1 | +--- |
| 2 | +slug: open-self-service-release-1.2.0 |
| 3 | +title: Release 1.2.0 |
| 4 | +date: 2025-09-02T12:00 |
| 5 | +tags: [releases] |
| 6 | +authors: [marcin.krasowski] |
| 7 | +toc_max_heading_level: 2 |
| 8 | +image: /img/o2s-1.2.0-header.png |
| 9 | +--- |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +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! |
| 14 | + |
| 15 | +<!--truncate--> |
| 16 | + |
| 17 | +## New features |
| 18 | + |
| 19 | +### Modular approach to blocks |
| 20 | + |
| 21 | +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: |
| 22 | + |
| 23 | +- **Independent versioning**: Each block can now be versioned separately, allowing for more granular updates |
| 24 | +- **Simplified maintenance**: Blocks can be developed, tested, and deployed independently |
| 25 | +- **Easier integration**: Adding blocks to your projects is now as simple as installing an NPM package |
| 26 | +- **Better developer experience**: Clear separation of concerns makes the codebase more maintainable |
| 27 | + |
| 28 | +Each block is now a standalone NPM package with three main components: |
| 29 | + |
| 30 | +1. **API Harmonization Module**: Handles data aggregation and normalization |
| 31 | +2. **Frontend Components**: React-based implementations for UI rendering |
| 32 | +3. **SDK Methods**: Simplified access to the block's API |
| 33 | + |
| 34 | +With our new approach to blocks, integrating blocks into your application is more straightforward than ever: |
| 35 | + |
| 36 | +```shell |
| 37 | +npm install @o2s/blocks.block-name --workspace=@o2s/api-harmonization --workspace=@o2s/frontend |
| 38 | +``` |
| 39 | + |
| 40 | +Once installed, blocks can be easily imported and used in both the API Harmonization server and Frontend app with minimal configuration. |
| 41 | + |
| 42 | +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: |
| 43 | + |
| 44 | +```shell |
| 45 | +npm run eject-block |
| 46 | +``` |
| 47 | + |
| 48 | +This gives you complete control over the block's implementation while still maintaining compatibility with the rest of your application. |
| 49 | + |
| 50 | +:::tip |
| 51 | +For more information and guides, see [the Blocks chapter](../../docs/main-components/blocks) in our documentation. |
| 52 | +::: |
| 53 | + |
| 54 | +## Other changes |
| 55 | + |
| 56 | +### Storybook integration |
| 57 | + |
| 58 | +We've added Storybook to Open Self Service, providing a powerful development environment for UI components. Storybook is now available: |
| 59 | + |
| 60 | +- **Locally**: Run `npm run storybook` in your project to launch it |
| 61 | +- **Publicly**: Access our always-up-to-date version at [https://storybook-o2s.openselfservice.com/](https://storybook-o2s.openselfservice.com/) |
| 62 | + |
| 63 | +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. |
| 64 | + |
| 65 | +:::info |
| 66 | +At the moment our Storybook includes only blocks - stay tuned for upcoming updated, where we will also include the components from our UI Library. |
| 67 | +::: |
| 68 | + |
| 69 | +### Updated documentation |
| 70 | + |
| 71 | +We've made significant improvements to our documentation that should improve its readability and make it easier to find what you need: |
| 72 | + |
| 73 | +#### New Customization chapter |
| 74 | + |
| 75 | +We've added a dedicated [Customization chapter](../../docs/guides/customization) 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: |
| 76 | + |
| 77 | +- Using generators for blocks and UI |
| 78 | +- Adding and customizing existing blocks |
| 79 | +- UI theme customization |
| 80 | +- Extending integrations |
| 81 | + |
| 82 | +#### App Starters documentation |
| 83 | + |
| 84 | +We've added new pages for app starters in our documentation, providing information about different starter templates to help you bootstrap your frontend applications: |
| 85 | + |
| 86 | +- **O2S Customer Portal starter**: Our default starter for customer self-service portals |
| 87 | +- **DXP Frontend Starter**: A new starter for knowledge and marketing portals evolving to Digital Experience Platforms (DXP) |
| 88 | + |
| 89 | +:::info |
| 90 | +Stay tuned for more updates on the DXP starter as we continue to enhance its capabilities and documentation! |
| 91 | +::: |
| 92 | + |
| 93 | +### Bugfixing and security updates |
| 94 | + |
| 95 | +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. |
0 commit comments