In 2014, Ross Riley committed the first version of our extension store. It was put together with Aurora MVC, and Doctrine ORM, and received various new features from different contributors over the years.

In fact, it did the job quite well for a long time, but with time, and growth, change was needed. A change to a new framework, with more features that is easier to maintain and extend.

So we ported it to Bolt. ¯\(ツ)

What solution would be better than to just use our own system? Nothing, right!

Bolt isn't just a CMS. Bolt 3 can be used perfectly as a framework, and build on top of. So that's what we have done. We were able to reuse a lot of code from the old store, which made the porting much faster than we thought initially.

The result is a much faster extension store which can be extended like any Bolt 3 application. That also means, new features can be added by everyone who knows how to build a Bolt extension. It is also a great example of how powerful Bolt can be, if you want.

There are already five new features, which were added during the port to a Bolt powered application:

  • Pretty URLs for packages (e.g. https://extensions.bolt.cm/view/vendor/name)
  • GitHub login
  • Sticky user sessions
  • Proper webhooks for automatic package updates (meaning faster availability in Bolt's backend)
  • Moderated package collections

At this point, a big thanks to Ross Riley for his hard work on the initial extension store, and a big thanks to Gawain Lynch who did most of the hard work porting the store to Bolt 3.

comments powered by Disqus