Bootstrap 4 and Fontawesome 5


Now that Bootstrap 4 and Fontawesome 5 are both officially stable lets talk about what the plan is going forward for Community Builder for both of these frameworks. Check out the details below.

CB Currently is using Bootstrap 3 and Fontawesome 4. Some of you may know that Bootstrap 4 will become the default in Joomla 4. So to prepare for that CB will of course be upgrading to Bootstrap 4. The main questions being when and how does this affect you.

As for the impact this will have on your site it more or less should be nearly unnoticeable. There are some styling changes between B4 and B3, but they're primarily changes to a few of the colors making them more vibrant. We will be dropping the theme though (which is no longer default packaged with B4) so a lot of gradient button usages will become flat. Beyond that unless you've supplied custom HTML specifically utilizing B3 or F4 classes you'll have nothing to worry about. I'll directly answer some expected questions below as well.

As for the when. We've the following timeline planned, but please understand it's entirely subject to change depending on issues we may or may not run into.

  1. Release CB Activity 4.2.1 (should be this week)
  2. Release CB 2.1.4 w/ PHP 7.2 compatibility fixes (should be next week)
  3. Release CB Auto Actions 7.2.0
  4. Release CB Gallery 2.1.1
  5. Release CB GroupJive 3.1.2
  6. Release CB 2.1.5 IF necessary
  7. Release CB 2.2 w/ Bootstrap 4 and Fontawesome 5

The release of CB 2.2 will include new minor releases for all products using those CSS classes. Expect to have to update everything. I expect upgrading all the plugins layouts and CBs own core HTML will take me at least a month as it's a significant amount of work.

This release roadmap will likely take 2 months; possibly more. Joomla 4 is, I believe, scheduled for a stable release sometime in June. This puts us ahead and allows us to focus on Joomla 4 compatibility API wise instead of dealing with style conflicts.

As a side note some maybe wondering about jQuery 3.x. We are currently not going to be upgrading jQuery and it's due to jQuery Mobile and jQuery UI not being jQuery 3.x ready yet. Once both are jQuery 3.x ready we'll be looking into upgrading jQuery as well. For now we'll continue with jQuery 2.x.

There will be no CSS migration files for Bootstrap 3 to Bootstrap 4 or Fontawesome 4 to Fontawesome 5. So please study up on the changes between these releases for both frameworks if you're using their CSS classes in any of your custom HTML. Onto the Q&A.


Q. What if I only update CB and none of the plugins?

A. Most likely the styling of plugins will break. You will need to update all your plugins in addition to CB.

Q. What if my subscription is expired and I update CB anyway, but have CB plugins installed?

A. Then you need to renew or don't update CB as you'll be stuck in a situation where the plugins installed are no longer compatible with CBs CSS frameworks.

Q. What about my Custom HTML fields where I've Bootstrap 3 CSS classes in use?

A. You will need to manually update those usages. Check out the migration guide for details.

Q. What if I've CBs Bootstrap or Fontawesome disabled so CB uses my template usages instead?

A. Both parameters will be reset (using new version specific parameter names) on install of CB 2.2 forcing CBs CSS frameworks to load again. If your Joomla template is Bootstrap 4 driven you can then disable CBs as needed again.

Q. Why won't there be a CSS migration file to migrate B3 usages to B4?

A. Because it would triple the size of CBs CSS headers and generally isn't needed as long as the install is maintained. It would also be significant work migrating all those CSS classes manually. You maybe able to utilize 3rd party CSS or JS files loaded by your Joomla template to help with this though.


I hope I've answered some of your questions above and made it clear our current plans. I personally look forward to a lot of the great new features in B4 (hello flexbox!) that'll bring a lot of new life to our plugins as well as more powerful responsiveness.

krileon's Avatar
krileon replied the topic: #301919 1 week 1 day ago
Minor slow down in progress. CB Gallery 2.2.0 should be out next week. Had some delay as was working on our build script responsible for building releases for us automatically; we're making some improvements to it so we can push releases with less delay from our end.
krileon's Avatar
krileon replied the topic: #301613 2 weeks 3 days ago
Another progress update. CB Gallery is progressing well. Changed version from 2.1.1 to 2.2. Also some very good news regarding client side resizing. Previously if an image had EXIF orientation (e.g. usually photos taken with mobile device) it was ignored when using client side resizing so you had to disable such a huge performance improvement for images to properly rotate. This is no longer an issue as have implement EXIF orientation parsing in the client side resizing. This is available now in the latest build.

In addition to EXIF orientation there is now jQuery validation for muti-uploads. This prevents POST to your server when the upload would for sure fail validation. This saves resources and gives instant feedback to the user. Additionally the maximum upload size could also be set to be higher than your PHP limits would even allow. It will not properly adjust the maximum upload limit to take into account PHP limits (and use those for multi-upload validation).
krileon's Avatar
krileon replied the topic: #301506 2 weeks 5 days ago
Looks like there was only 3-4 PHP 7.2 compatibility fixes needed. We should have a build out hopefully sometime this week with those fixes. If anyone finds any issues once released please be sure to let us know.

This is also a heads up. With CB 2.2 (Bootstrap 4 and Fontawesome 5 upgrade) release we will be pushing the minimum PHP version required for CB to 5.6. This is to allow us to better support PHP 7 while still maintaining support for Joomla 3 (which will go EOL by 2020) giving us time to eventually move our minimum supported PHP version to 7.2 or higher (depends, we've got roughly 2 years to do all that) for CB 3.0 (major major rework of all our API!).

In short I HIGHLY recommend upgrading to PHP 7.1 if available and once this build is out do upgrade to PHP 7.2. The performance different is absolutely noticeable. If your host does not offer PHP 7 yet I suggest contacting them on a timeframe as to when it'll be available or consider switching hosts.
krileon's Avatar
krileon replied the topic: #301403 3 weeks 2 days ago
Just an update on this. Looks like we're still on schedule. CB Activity 4.2.1 released and CB Auto Actions 7.2.0 should be ready for next week followed by PHP 7.2 testing and fixes.

A build release for CB Auto Actions 7.2.0 has already been released as of today and contains some new improvements for activity grouping. Activity grouping allows the assets of 1 activity to be attached to another activity. What this prevents is storing tons of activity for same/similar activity. Currently if you upload 100 photos in CB Gallery that's 100 activity entries. With this new grouping feature it now generates 1 activity entry and attaches the other 99 would-be activity assets to it. CB Gallery can then parse those out fine. This requires latest builds for CB Activity, CB Auto Actions, and CB Gallery to utilize, but you should see performance gains going forward where gallery activity is involved.