mirror of
https://hk.gh-proxy.com/https://github.com/NodeBB/nodebb.org.git
synced 2025-10-03 08:43:39 +08:00
4 lines
7.5 KiB
HTML
4 lines
7.5 KiB
HTML
|
<p>As we hurtle our way through 2022, it's always good to look introspectively and see how far we've gone, and how our goals have changed<sup>1</sup>. Earlier in the year, I published our <a href="https://nodebb.org/blog/roadmap-for-2022/">Roadmap for 2022</a>, with plenty of caveats that things may change as the year progressed.</p><p><strong>So how are we doing so far, what succeeded, and what failed?</strong></p><h2><img width="24" role="img" draggable="false" src="https://s.w.org/images/core/emoji/14.0.0/svg/2705.svg" alt="✅" /> v2 (Webpack 5)</h2><p>We released v2.0.0 on May 4th, 2022, to much internal fanfare<sup>2</sup>. It was a big release for us not only symbolically (as we ticked over from 1 to 2), but also technologically, as we took another step towards modernizing our platform to make good on our tagline — <em>a better community platform for the <strong>modern web</strong></em>.</p><h2><img width="24" role="img" draggable="false" src="https://s.w.org/images/core/emoji/14.0.0/svg/2705.svg" alt="✅" /> Accelerated Release Schedule</h2><p>A couple versions after v2 was released, we felt the need to adjust how we conducted our releases. Specifically, we wanted to systematically guarantee that patch versions <strong>would never break an existing install</strong>, and to decrease the waiting time between a bug report and a patched version of NodeBB.</p><p>I <a href="https://nodebb.org/blog/changes-to-our-release-branches/">laid out our rationale for this change here</a>, as well as how things would change for site admins.</p><h2><img width="24" role="img" draggable="false" src="https://s.w.org/images/core/emoji/14.0.0/svg/274c.svg" alt="❌" /> v3 (Front-end framework decoupling)</h2><p>Admittedly, here we bit off more than we could chew. Our initial vision was to allow for theme developers to pick and choose which front-end framework they wished to use. We wanted to incentivise the creation of new themes while reducing our lock-in to a particular framework.</p><p>Unfortunately, during the initial brainstorm phase, we ran into an issue that had no clear resolution — the freedom to choose your own framework quite ironically conflicts with the extensible nature of NodeBB.</p><p>To clarify what I mean, I will provide an example problem we encountered:</p><ul><li>If we built out a new theme based off of Foundation CSS, it would mean that any bundled plugins would also need to be re-written in that opinionated format. Bootstrap 3 classes (i.e. col-xs-6, hidden-sm, etc.) don't exist in other frameworks, or are named differently.</li><li>Rewriting the bundled plugin would mean an incompatibility toward Persona v12, which would stay on Bootstrap 3 (for backwards compatibility and design reasons)</li><li>While this could be resolved with separate version branches, there was no way to easily ensure that the proper version was installed for any given theme.</li><li>Additionally, this problem also occurs for any third-party plugins, and we did not wish to place this burden on our third-party developers.</li><li>If we continued down this path, any additional themes utilising additional frameworks would linearly complicate matters. <strong>With two frameworks, we'd have twice the work, with three frameworks, we'd have three times the work, etc.</strong> — there was no logical way for us to support multiple frameworks without second-order effects that would almost certainly never be fully resolved.</li></ul><p>What this ultimately means is that we needed to fall back to our somewhat less exciting solution<sup>3</sup>: upgrade to Bootstrap 5.</p><ul><li>Persona would be upgraded to Bootstrap 5, and a new major version would be released (hereafter referred to as Persona v13).</li><li>The previous major version (still on Bootstrap 3) would be maintained going forward, with bug fixes backported as-needed. This is necessary as any theme currently based off of Persona is utilising Bootstrap 3. Forcing a dependency upgrade to the base theme (to Bootstrap 5) would be an incompatible change for every existing theme</li><li>Per
|
||
|
<h4>Persona on Bootstrap 3 will continue to be supported</h4>
|
||
|
<p><p>One thing I want to make clear right now is that the Persona theme will continue to be supported. Many site admins create their own themes (or derivations of Persona) for their own customizations, and an upgrade to Bootstrap 5 would throw a huge wrench in the works.</p><p>Persona running Bootstrap 5 would be shipped with v3 of NodeBB, while v2 would continue to be maintained via backported bug fixes. We want to allow theme developers to upgrade to Persona(BS5) at their own pace.</p></p>
|
||
|
<p>We're very happy with how the Persona theme has grown through the years, and while it serves the community well, there are portions of it that have evolved <em>with</em> the platform, incurring amounts of technical debt that cannot be easily resolved without a fresh start.</p><p>The first step in our design is gathering feedback. We certainly have our own opinions on what we want to see, but we want to hear from you — what do you like about the theme, what <em>don't</em> you like about the theme? Do you think you have a grand idea that will set NodeBB apart<sup>4</sup>?</p><p>Let us know in the comments, <em>or better yet</em>, <strong><a href="https://forms.gle/ePAXAr8X8kvowZXm8">let us know in our survey</a></strong>, where you can also enter to win a t-shirt and some swanky NodeBB stickers<sup>5</sup>!</p><h2>Notes</h2><ol><li>This also happens to be a variation on the central thesis of <a href="https://gapandgainbook.com/">The Gap and The Gain</a>, which I am currently reading through.</li><li>May the fourth be with you! <em>(lightsaber noises)</em></li><li>By the way, <a href="https://nodebb.org/blog/why-we-moved-from-exciting_technology-to-boring_standard/">there's nothing wrong with a boring solution. Sometimes they are the best solutions.</a></li><li>Unofficially, we have a second motto: "to make things no other forum has"</li><li>We'll be collecting feedback for the next few weeks (so, we'll close the survey sometime mid-September, likely.)</li></ol><p>Cover Photo by DALL·E, subjectively terrible prompt by Julian.</p>
|