This is the early access documentation preview for Custom Views. This documentation might not be in sync with our official documentation.
Maintenance guidelines
This page describes the different aspects of the support and maintenance recommendations for consumers of the Custom Views features.
Release process
Tooling and packages related to Custom Views are released and published to Node Package Manager (NPM) following Semantic Versioning (SemVer).
Releases are documented in each package's CHANGELOG.md
file and in the GitHub release pages in the following repositories:
All published packages to NPM are listed in the following scoped packages:
Release cadence
commercetools strives to improve tooling and packages around Custom Views continuously. We do not follow a strict release cycle. Instead, we publish releases in meaningful intervals, potentially multiple times a week. Minor and patch versions are likely released more frequently than major versions.
According to Semantic Versioning, minor, and patch version releases can be safely updated and do not require any additional maintenance work. However, a major release indicates a breaking change (see Breaking changes) and might require maintenance work. Breaking changes are kept to an absolute minimum and are planned ahead of time.
Breaking changes
Breaking changes are introduced whenever there is a major version release, for example from v1
to v2
.
How a breaking change can impact a Custom View:
- It affects a component or module not used within the Custom View
- It affects a component or module used within the Custom View
- It affects a component or module directly interacting with some of commercetools's internal APIs
A new major release does not always mean that breaking changes directly affect consumers of the packages. Some examples are:
- A dependency package drops support for an "old" Node.js version, thus releasing a major version. As a consequence, commercetools could release a new major version as well for dropping support of a given Node.js version. However, this unlikely affects consumers of Custom View packages.
- React releases a new feature that requires a specific minimal version of React. Therefore, commercetools could release a new major version that requires Custom Views to run to a minimal React version.
All breaking changes are thoroughly documented in the release notes together with migration steps to facilitate the version update. This also helps to identify if changes are needed within the Custom View's code.
Minimum required maintenance policy
All built-in Merchant Center applications are constantly kept up-to-date with the released tools and packages. This ensures that all the latest bug fixes and features are consistently adopted by all applications.
In regards to Custom Views, commercetools does not expect the same amount of maintenance as it requires internally. However, commercetools recommends that Custom Views are updated at regular periods and maintained in planned intervals, to avoid falling too many versions behind. Not doing so might result in an increased maintenance effort in case the codebase needs to be updated to multiple versions, even more so for major versions and/or deprecated API functionalities.
It is important to keep the dependencies up-to-date, especially to get the latest bug fixes and security patches. See also Automate maintenance of dependencies.
Automate maintenance of dependencies
To help with the maintenance of dependencies, there are tools and services that can be used to automatically get dependency version updates to your own repository, for example, Renovate, or Dependabot.
Those tools and services can be configured to meet everyone's needs, for example, to get updates only once a week.
Hosting
Customers using Custom Views are responsible for the maintenance of their Custom Views. This includes hosting and deployments. commercetools does not take any responsibility towards incidents and service disruptions related to Custom Views caused by their underlying infrastructure.
Issues and support requests
If you encounter issues developing Custom Views, we recommend opening a GitHub Issue in one of the following repositories (according to what the issue is about):
If you have questions or need help with something, we recommend opening a GitHub Discussion in one of the following repositories (according to what the issue is about):
Never ever include passwords, credentials, or any private information in any issue (public or private)!
Any sensitive information should be left out, as GitHub Issues are publicly visible.
In case the issue must contain sensitive information, for example, the name of a customer Project, open a commercetools support ticket.
Contributing
All packages and tools provided by commercetools are open sourced and licensed under MIT. At commercetools we love open source and we do what we can to contribute to other open source software that we also use internally. As such, we are happy to receive any contributions about our own packages, that being an Issue or a Pull Request.
You can read more about the contribution guidelines in the following repositories: