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)
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
- is met by any of our existing parts
- can be met by optimizing an existing part
- can be met by creating a new part
- applies across teams, countries and divisions
- 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.