Examples Templates Store Pricing Docs Turbo CSS Blog Introducing Turbo UI Named buckets Turbo CSS is Tailwind CSS on steroids Introducing Turbo CSS, the most advanced web-design language Calculate how much storage you use Better login system Collaboration settings Filesystem and Database are not cutting the problem space right What I'm working on 64bit File node IDs New how-to videos Creating buttons gets easier Introducing reusable components HTTPS by default Introducing the Boomla Theme CDN for faster pageloads Write your own website builder on top of Boomla On On composition Shared admin access A fresh config editor Building a multi-purpose theme A filesystem to replace your CMS New file link type: scope Mobile editing support Inline file wrapping changed Package sandboxing New PHP-like JavaScript engine [sjs-4e] Send emails to the website owner New JavaScript engine [sjs-4] A better editing experience New email service provider Glossary and other changes New panel changes Improved registration flow Boomla goes multiplayer Using local dev tools Why Boomla doesn't need Git File Panel Let's build a community Automatic updates Improved sjs-3 API New Frontend CSS modules Work offline with Boomla Faster page loads via caching Drag & drop supercharged Supporting CommonJS modules  Paranoid about loosing data IDE usability improvements Simple App install flow Meetups in Budapest Goodbye broken links Flow control from user space Customizing apps Contextmenu support for apps Deprecating the .Class file Hello Changelog Embedding 3rd party plugins Introducing Tools Installing apps just got amazing Public beta Host on our servers Simple deploy with push/pull Version Control for the Web 350M files on a 1TB disk 2 weeks in review
Control Panel

Boomla goes multiplayer


Until now, Boomla was a one-way platform for content publishing. Obviously, this was greatly limiting the use cases where it can be applied.

From now on, the platform supports collaboration. Each website is a community of its users. Other Boomla users can join these communities, which is similar to signing up, except it leverages your existing Boomla account with the central login system, so you don’t need to create a new password for each. If you log in to Boomla, you are automatically logged in to all Boomla websites that you have joined.

Control who can join your communities

On the Control Panel, within each website, you will find a Users section like this:




As you can see, it says that Registrations need your approval. This is the default setting. Alternatively, you can make the website open for registrations (no approval needed), or close it down completely.

Pending registrations will be added to a list which you can approve/decline. Note that you are not getting email notifications about registration requests just yet.

Private websites

Private websites can be accessed by registered users.

Use cases

Some use cases of what can be built using this approach:

Anything where your users contribute content to your website.

Developer notes

The remainder of this post is for developers.

User object

Boomla introduces the concept of Users. Each User has a name, profile image, default website and userId you can use and display as needed.

Find more info in our sjs-3 docs: Users.

Access control

By default, apps only have read access during requests of your users. You have to explicitely grant them write access via a .RunAs file. That way your code will run with full write access to the website. In case it’s needed, you can implement further access control rules in code.

Try it

Feel free to fork the comments app and play with the code!



you can follow me on Twitter