Skip to content

Creating and optimising parts

Our new website builder and parts system is an iterative effort. Here is a step-by-step guide on how to report needs and help us improve.

Team Builders' responsibility

Team Builders is responsible for the design system and Enonic XP/CMS for public sites. In our day to day operations, this means that we

  • design and develop new parts
  • optimise existing parts
  • create, maintain and improve the content model used in CS
  • document each part in Builders Core (Storybook)
The parts system is an iterative effort, where we continuously test, learn and improve.

Backlog

Team Builders have a backlog of parts-related issues in GitHub.

These issues include

  • new parts
  • improvements on editorial functionality in existing parts
  • iterations and improvements on design (UX and UI) in existing parts
  • iterations and improvements on the content model

We post updates on our parts page and Slack channel, so that you know what we're working on.

Bugs

Have you found something that is not working as intended in our parts system? Please get in touch so we can fix it!

Report a need

As a user of Content Studio and the parts system, you will no doubt come across instances where it is necessary to improve upon existing parts – or create a new one.

When any such needs arises, please follow the guidelines below.

These guidelines are set to ensure that

  • we have a consistent design across the parts system
  • our parts work well in combination with each other
  • the editorial experience in CS is consistent
  • the code and development experience is consistent
  • the content model and data structure is subject to iterations and continuous improvements

1) Describe the need

First, define and describe the need. The need could be a customer need, a business need or an employer need (e.g. functionality in CS).

2) Assess available options with Team Builders

When the need is defined and described, we look at possible solutions together.

Our aim is to find out whether the need

  1. is met by any of our existing parts
  2. can be met by optimizing an existing part
  3. can be met by creating a new part
  4. applies across teams, countries and divisions
  5. should be prioritized above other issues

Optimisation or new part?

Some issues can be solved by improving an existing parts, while others require a new part. The best option depends on the complexity of the problem and how the final user experience will be affected.

When making these decisions we look at

  • the customer experience (UX)
  • the editorial experience in CS (UX and content model)
  • the design (UI)
  • the resulting code quality (content model and data structure)

Shared vs custom parts

Our parts library works much like our component library: Parts are used across teams, countries and divisions, and everyone benefits from continuous improvements in design and functionality.

There are instances, however, where it may be beneficial to isolate a part in a local team library instead – as a "custom part".

  • Custom parts are typically applications (or contain end-points or other functionality that doesn't apply across teams) and do not contain editorial functionality in CS (which is developed and maintained by Team Builders).
  • They are not added to our shared parts library and must be developed and maintained by your team.

If you're unsure whether any particular issue is best solved by a custom part or a shared part, please get in touch.