2022 Roadmap

Full disclaimer what follows is just my ideal goals. Nothing is guaranteed and things change, but I this will start the year off with my first goal which is to be even more transparent about what's going on behind the scenes. So I'd like to share with you what I HOPE to accomplish in 2022.

I'll start off by providing a list of goals then go into further detail about ones that have enough thought into them to actually discuss. Note the order is SOMEWHAT important, but I will likely shift things around as needed. Also keep in mind during this roadmap many plugins will still be receiving feature and bug fix releases and this list is primarily to note NEW or MAJOR MAJOR things.

  1. Finish and Release CB Activity 6.0.0
  2. Develop CB SEO Joomla system plugin
  3. Develop CB Onboard Joomla backend template
  4. Improve Joomlapolis.com substantially (improved SEO, improved product pages, better navigation flow, new documentation, etc..)
  5. Rewrite CB Gallery (will get similar treatment as CB Activity 6.0.0 with better APIs and UX)
  6. Develop CB Framework Joomla library plugin
  7. Rewrite CB Auto Actions to use new CB Framework and release as standalone extension
  8. Develop CB Events Joomla extension (will use CB Framework)
  9. Develop Tailwind CSS driven backend AND frontend Joomla templates (no frameworks! simple! fast!)
  10. Develop CB Page Builder Joomla extension (will use CB Framework)
  11. Rewrite all remaining plugins to use CB Framework and be standalone Joomla extensions
  12. Develop CB Projects Joomla extension
  13. Develop CB Discussions
  14. Develop CB Conversations

I think that about covers what is swimming around in my head right now, lol. Again, we still will be releasing feature/bug fix releases for any plugins not mentioned above. Ok lets go into some further details below.

1. Finish and Release CB Activity 6.0.0

CB Activity 6.0.0 is a massive rewrite to ALL of its core functionality. A LOT has changed for the better. A LOT of new features are also on the way. However instead of repeating myself if you want to know what's coming AND follow my progress please check out my blog post below and its forum topic.

https://www.joomlapolis.com/blog/kyle/18950-what-am-i-working-on-16

https://www.joomlapolis.com/forum/6-news-and-publicity/244334-what-am-i-working-on

2. Develop CB SEO Joomla system plugin

Joomla provides limited SEO functionality for menus and articles. Yes, you can supply meta description and keywords but SEO is so much more. Specifically we need twitter meta tags, open graph meta tags, JSON-LD, Google structured data information, and so much more. The goal of this plugin is to provide that functionality. In its initial release that's all it will do. In a future release CB Redirect Bot will be merged into CB SEO and become a full redirect component for creating custom routing rules as well.

I'm sure some of you are wondering why we don't use 3rd party extensions for this. Bottom line is the only code I trust is my own. I find our code quality surpasses that of a lot other extensions and I feel our support is second to none. This may seam a bit hotheaded or arrogant, but after using several 3rd party extensions over the years it's the conclusion I've come to. I've even tried fixing 3rd party extensions by contributing code to them which fell on deaf ears for 6+ months after we've dropped that extension. It's just not worth the hassle for me to deal with code other than my own.

3. Develop CB Onboard Joomla backend template

I think it's safe to say we all know what Wordpress is and we're not blind to its market share. The bottom line is WP is familiar to clients. They can navigate a WP backend with ease. Joomla backend is A LOT different from WP. This means teaching clients how to use Joomla. This can be a struggle. The goal of CB Onboard backend Joomla template is to redesign the backend to follow the same flow as WP as ease the pain for moving a client over to the, without a doubt, far superior platform that is Joomla. This template will have some limited customization, but will primarily be trying to replicate default admin WP flow including changing some language strings to again follow that flow.

4. Improve Joomlapolis.com substantially (improved SEO, improved product pages, better navigation flow, new documentation, etc..)

We need a lot of improvements here at Joomlapolis. Product pages are still too difficult to maintain, documentation is hard to maintain, and we're missing a lot of SEO metadata (which pushed us to want to create CB SEO). So the goal here is to find a better way to maintain product pages (ideally from GIT source) and documentation (again also ideally from GIT source) so we can rapidly push changes to them as products change. This may require CB Projects to be pushed up to do just that.

As for navigation we want to reduce the number of clicks to get around our site so we'd love to hear some suggestions!

5. Rewrite CB Gallery (will get similar treatment as CB Activity 6.0.0 with better APIs and UX)

Basically the idea is to rewrite galleries to be stored in the database like what's happening with streams in CB Activity. The galleries being stored allows easier reuse and rebuild of the gallery. It will gain several new features as well such as new media link sources, improved upload behavior, improved UX, and more. Most of what to come is already noted on our forge.

6. Develop CB Framework Joomla library plugin

This is where the magic really begins. The idea is to create a framework that we can use to be as platform agnostic as possible. To put code between us and Joomla. This, in theory, will allow us to expand to other platforms like Wordpress in the future (VERY unlikely to happen in 2022). It mainly though is to give us a modern coding framework we can use in all of our extensions and put common classes/functions in. Other extension developers are welcome to use CB Framework as well!

With CB Framework we will be switching from Bootstrap to TailwindCSS. jQuery will be gone entirely and replaced with vanilla JS and we will be using AplineJS. Template files will officially be Joomla layouts, BUT we'll be implementing a Twig renderer and will be using Twig for all our layout files. This will make it significantly easier to customize our layouts.

Note CB Framework minimum Joomla version will likely be 4.1 or whatever the current stable 4.x release is. This will then change as Joomla releases new stable releases. Joomla 3.x will continue to be supported in CB 2.x builds and plugins for CB 2.x until Joomla 3 EOL in 2023.

7. Rewrite CB Auto Actions to use new CB Framework and release as standalone extension

This is a big one. This will be the first plugin to go standalone (no longer require CB itself) and use CB Framework. You'll be able to use CB Auto Actions on your sites whether you need core CB or not. The plan is to also replace the confusing auto action configuration UI with a drag and drop interface. The idea is to turn it into visual scripting. I can't share much more details than that until the time comes since there's a lot of things that could change how this progresses.

8. Develop CB Events Joomla extension (will use CB Framework)

The plan for CB Events is to provide reusable database stored event calendars. It will support several modes like calendar, lists, and more. It will officially replace CB GroupJive Events for example and will support event attendance. I'd also like to implement an event ticketing system that integrates with CBSubs to support paid events.

9. Develop Tailwind CSS driven backend AND frontend Joomla templates (no frameworks! simple! fast!)

This is where we really break out into the Joomla templating world. The plan is for ONE backend and ONE frontend template. Both powered by TailwindCSS. They won't be using bulky frameworks, will be blazing fast, and support customized layouts using entirely CSS (thank you CSS Grid!). I don't plan to make more templates, but to simply improve these with enough options to cover most/all layout needs. Colors will be easily customized using CSS variables (via parameters in the templates settings) and will be dark mode ready out of the box.

10. Develop CB Page Builder Joomla extension (will use CB Framework)

I don't know if this project will actually happen or not, but it sounded very neat in my head. The idea is a drag and drop page builder like you're already familiar with. Except instead of it having a frontend component it will compile your pages to HTML and store them to Joomla content. The idea here is there is no frontend compiling taking place, no bulky framework needed to compile it, and supports existing Joomla content routing and SEO functionality out of the box. A lot of page builders are just bulky and compile on frontend (which they then need to cache) which slows the site down. I want to avoid those performance hits and just output the actual HTML from the start.

11. Rewrite all remaining plugins to use CB Framework and be standalone Joomla extensions

By this point CB Framework SHOULD be feature complete and all our remaining plugins can then become standalone extensions. I'm not sure if ALL of our plugins will become standalone in 2022, but I'll certainly try.

12. Develop CB Projects Joomla extension

This ideally would replace our Forge with an on-site solution that integrates with GIT so it's easier to view various feature/bug tickets and more. Ideally would like it to also handle releases as well and probably replace CB Package Builder at some point, but details are a bit vague at the moment.

13. Develop CB Discussions

We want to replace Kunena with our own solution and that's exactly what this would be. The plan is to develop our own forums solution with categories, topics, private topics, and much much more.

14. Develop CB Conversations

Plan is for this to replace Private Message System with a standalone Joomla extension that supports chat. It'll have group chat, video calls (using WebRTC), voice calls (using WebRTC), and many features you're already familiar with in messaging apps.

What about Community Builder 3.0?

You'll notice it's not listed above because CB 3.0 is the final stage where all of our plugins have become standalone extensions. That's an absolute requirement before CB 3.0. The reason for this is CB 3.0 won't have plugins anymore. The idea is for CB 3.0 to just be an advanced registration, profile edit, and profile view for Joomlas core users component. Ideally we want this to be a nice drag and drop interface. You'll be able to use Joomla fields and CB Framework fields on it.

As for the core fields they will become Joomla fields and be provided by CB Framework. Yes, this means you'll be able to use our many awesome fields wherever Joomla fields are supported. For core CB plugins they will be turned into standalone extensions where it makes sense (e.g. as noted above PMS becoming CB Conversations). CB Connections for example would be a standalone extension for creating complex relationships between users (likely with a rename like CB Friends or something similar).

However this does not mean CB 2.x isn't going to progress. There will be a CB 2.7 in the coming weeks to bump our system requirements up to prepare for CB Framework to slowly be introduced into CB. So there will probably be a 2.8, maybe a 2.9, or even a 2.10; whatever it takes. So as for when CB 3.x itself releases depends on all of the above and probably more. There's no real rush though as we'll be slowly transitioning CB 2.x to the newer APIs with time. It's possible CB 3.x will be changed to CB 4.x and 3.x will just be when we first introduce CB Framework into CB core code. We'll see as we get started on all that.

There's a lot more that'll be happening in 2022 I hope. Some of this probably won't be completed for 2022, but like I said it's just a roadmap of my mind that I thought would be nice to share with you. I hope this gives you some comfort in that we plan to be here for a very long long time with many great products on the way. If you have any feedback about the above or some awesome ideas please PLEASE let us know. This is the PERFECT time to start those discussions!

Facebook Twitter LinkedIn