TL;DR: We suggest to document the theme support policy and to explicitly set low expectation about layout compatibility in the Jenkins core and plugins
Context. There is an ongoing effort focused on improving Jenkins look-and-feel which is currently coordinated by the Jenkins UX SIG. This is an important area, because nowadays Jenkins user interface is widely considered dated. It impacts the project adoption, and causes negative optics which does not help to onboard new contributors. We have a number of related initiatives in our roadmap, and there is a consensus in the community about the UI changes. One of the major concerns on the UI fronts is retaining compatibility with supported platforms and use-cases. We have recently documented the browser support policy, but it is not the only case we need to keep in mind. Theme compatibility is one of the widely raised concerns, and it was brought up again in the context of a Jenkins dark theme project idea for the Jenkins UI/UX Hackfest.
Proposal. We suggest to explicitly document the theme support policy in the Simple Theme Plugin plugin documentation and in Jenkins user documentation. We suggest to explicitly document the current state of affairs even if it may be perceived negatively by potential theme users. In our opinion it is better to set expectations early than to break their layouts with major changes in Jenkins.
Suggested points in the theme support policy:
At the moment Jenkins project does not provide specification for layouts/CSS, and we do not guarantee backward or forward compatibility. We try to reflect major changes in the changelog (e.g. see the ‘developer’ changes in the Jenkins changelog), but minor changes may not be included there.
Themes are provided “as is”, without warranty of any kind, implicit or explicit. Jenkins core and other component updates may break theme compatibility without notice
Users are welcome to report discovered compatibility issues to theme maintainers, to submit fixes or to fork and fix their themes. We will generally reject bug reports to the Jenkins core/plugins involving broken UI when a custom theme, but we will consider pull requests which restore compatibility and do not create obstacles for further Web UI evolvement
required theme plugins and versions,
target Jenkins core version,
plugin versions if plugin (UI/CSS are overridden),
Theme maintainers are advised to version themes with tags on Git and to maintain changelogs with explicit references to changes in the supported versions (e.g. see our release drafter documentation as one of the ways to automate changelogs).
For theme listing in the Jenkins project documentation and other resources: Themes listed by the Jenkins project are expected to have an OSI-approved license so that users can freely modify and redistribute them as long as license conditions and attribution requirements are followed
“Other resources” is a groundwork for a theme marketplace or other similar promotion engines
Later, once the Jenkins UI rework reaches its destination and the UI becomes more stable, we could consider creating specifications for theme extensibility so that we could make themes more stable and maintain compatibility. But, in my opinion, we are not there yet.
If everyone (especially Tobias @TobiX Gruetzmacher and UX SIG folks) agree with these guidelines, I will proceed and submit pull requests to https://www.jenkins.io/doc/book/managing/ and to the SimpleTheme Plugin. Any feedback and suggestions will be appreciated!
Oleg Nenashev and Félix Queiruga
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/f63f4f482b5748e784744739c3dfacb8%40hou-exmbprd-03.adprod.bmc.com.
You received this message because you are subscribed to the Google Groups "Jenkins User Experience" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-ux...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-ux/CAH-3BidJgjCYEEnZj4s_HcZd66Q1Eo%2BvyOD2VetMpVkE_UZvBA%40mail.gmail.com.