django-cms / djangocms-bootstrap4

django CMS Bootstrap 4 is a plugin bundle for django CMS providing several components from the popular Bootstrap 4 framework.
https://www.django-cms.org/
Other
82 stars 58 forks source link

Incorporate multiple (future) Bootstrap Versions #111

Closed oesah closed 3 years ago

oesah commented 4 years ago

This is more of a feature request for the future, but it is an important one due to recent experience.

We have a Django CMS Site running in multiple languages. We recently upgraded our Frontend to Bootstrap 4, from 3. Unfortunately, we made a lot of use of the old plugin djangocms-bootstrap3. We have been busy for a couple days now, to recreate each page with the new djangocms-bootstrap4. It's of course a huge workload, since we also did not find any documentation on upgrading let alone a migration script.

Since we now switched to this library, I am afraid that we will have to do all of this again, once Bootstrap 5 comes out. If that is the case, I think it would be the point where we have to drop the plugin, since the workload every 1-2 years is just too much, especially with multi language websites with a lot CMS pages.

So here is the question: Wouldn't it be possible to convert this plugin into something, that we don't have to replace with every new bootstrap version? It could be a more generic approach, something like djangocms-bootstrap that allow developers to choose which version to use. That way, we need to install this plugin only once and just switch the settings, if we upgrade, and everything else is adjusted automatically.

The feature does not need to be backwards compatible with bootstrap 3, but it should have this feature built in for future bootstrap versions, so with bootstrap 5, we can already just switch the settings and "it works".

I would also offer contributing to this feature, if it means we can save hundreds of hours of work in the future.

I would appreciate some feedback and thanks for the effort on this plugin!

FinalAngel commented 3 years ago

Bootstrap 5 Alpha has been released in June: https://v5.getbootstrap.com/

In general, this package will be deprecated about 1 year after Bootstrap 5 has been released. The package can be picked up by the community for further development if there is interest but our main policy is to deprecate "Level-B" addons (that depend on external libraries such as Bootstrap4).

From what I can see from the v5 docs, the changes seem to be minor so providing a migration path should be far easier than from v3 to v4 (they were huge).

At this point, we may also not continue to develop library-dependent addons in the future and leave it to the community. But seeing that v5 is in alpha, this topic will not become relevant for at least 1-2 years.