Flarum

Forums made simple. Modern, fast, and free!

Extensible

Elegant UI

Mobile First

Stylable

Fast & Light

Secure

Trusted

Localised into many languages with 32 translation packs

english
italian
简体中文
polish
indonesian
dutch
bahasa melayu
german
french
Русский
turkish
brazilian portuguese
czech
spanish
sinhala
română
swedish for flarum
japanese
正體中文語言包
bosnian language pack for flarum core and multiple extensions
vietnamese
hindi
hungarian
tamil
finnish
korean
thai
flarum lolcat
arabic
azerbaijani
latvian
slovak

Showcase

DevNL

A perfect example of Flarum's customizability. This highly customised Dutch developer community has a unique layout, with beautiful elements like a custom loader. Created by the author of the popular SEO and Support Platform extensions.

giffgaff

As a leading British telephone network, giffgaff serves millions of customers. Through innovative use of Flarum, they've built up a passionate peer support community, improving support and engaging customers.

Ten Digit Grid

An avid adventurer and hiker, Mike has found Flarum to be an excellent platform for blogging about his trips, discussing gear, and meeting fellow hiking enthusiasts while slowly increasing engagement.

Blog

Dev Diary: Build 18
Welcome to the next cycle, the first post-stable release.
Share in our excitement of releasing stable on the Announcement 🥳
We'll post information about our plans soon ™️ , but first we'll take a bit of time off to relax after our months of effort in releasing stable. We'll follow up with support and bug reports in a timely manner.
Community Updates 08/2021

📖 Introduction

Thank you for the continuing support for our new "Community Update" format. You can read our July edition here. As we are progressing we are trying to include different topics within each community update. Happy reading for the 08/2021 edition!

📩 Interview with community.upc.ch

For the August update, we are going to share a very interesting interview with this large Flarum powered Community. A special and big thank you to Daniele and Ahmet from UPC CH for taking their time answering questions for our Community Update!

👥 The interview

Please describe your community in 3-5 sentences.
A support community - customers helping customers on our wide range of products in the telecommunications industry.
Can you name one word that embodies the culture of your community?
Supportive
Can you introduce yourself and your position at UPC CH briefly?
My name is Daniele Ladu, 45 years old and I have been a community manager at Sunrise UPC for over 2 years, managing the platform and also handling the escalation cases in our community.
What made you decide to use Flarum as your community software?
We were looking for an open source solution that is expandable, out in the box, ready for future features and also has a large community for assistance.
Which top 3 features do you like most about Flarum?

I like the customization of the tags for moving a thread, which just takes more effort in other communities.
We like the simple and fast creation of a new category, as well as the configuration of access rights.
Our customers love products with fast speed (e.g. Internet). We love this too and that's why we like the Flarum open source solution. It is very fast and intuitive compared to other communities.

With Flarum being Stable - what's the next big thing you want to see added?

Since we are in the telecommunications industry, we still have to use external tools with Flarum, for example to generate escalation emails after a service level has expired. We also have to distribute the work to the employees via the external tool.
Here I would like to see a "telecom" module / extension / feature that includes simple distributions and escalation criteria. This way more staff can work in the community with a logical distribution of requests through Flarum.

Another idea would be to ask for user skill preferences during the registration phase. As an example, you can ask the new user if he is an expert in a specific field (example mobile, internet, landline, etc.). If he ticks one, he will be automatically registered in a "Notification Group". Now other users can explicitly mention the experts, for example with an @Expert_mobile. They will then receive an e-mail with the information that their expert knowledge is being requested. In between you can add an approval by the admin.
What’s your biggest lesson learned from running Flarum?

Migrating our customers from the old community to the new solution was a big challenge. More precisely, the onboarding for existing community customers. Maybe one day there will be a migration tool that works like Synology for example. The change should be made easy. Here you could import an Excel table with previously defined criteria.
Also the multi-languages we have in Switzerland (DE, FR, IT, EN) was a big challenge.

Which Flarum extensions do you rely most on?
I use very often the extension "FoF Moderator Notes". With this extension I have the possibility to add private notes to the user account. As a use case, this would be the customer number. After the identification, this is stored in the profile of the user. After that we don't have to identify him again.
What advice would you give any community manager who just started?
Be open for new things, be interested in the technical development and report suggestions and error patterns to the Flarum community for further optimization.
Who do you look up to in regards to community management?
We access our existing community manager network for this purpose. In our group we have community managers from all areas and we meet physically several times a year for an interesting exchange.
Any final remarks you want other Flarum users, reading your interview, to know?
Live the open source idea, share your experience and developments with others, so that you too can benefit from this open culture in the long term.

📰 Other News

Users of popular Administration interfaces have now got a new way to easily get Flarum installed. In the last month Sofaculous has added Flarum to their list of Forum scripts available for easy installation. Here is a quote from their website:
From the website:
Softaculous is the leading Auto Installer for cPanel, Plesk, DirectAdmin, InterWorx, H-Sphere. It has 404 great scripts and we are still adding more.
The announcement:

🕸️ Extension Highlights

New additions

Updated Extensions


🏁 Final words

We hope you have liked this edition of “Community Updates”. Looking forward to your comments and ideas for future updates. The next edition will focus on solutions to the spamming issue within communities. Read you in October!
Flarum Philosophy and Values
Since Flarum was founded in 2015, our "north star" has been the stable release: getting Flarum out of beta, and into production. Now that we've released 1.0.0, a whole new world of possibilities has been opened.
As we move into the post-stable era, one of our top priorities is the stability of the project: we want Flarum to keep growing and improving for a long time, across many generations of developers. A key step towards this is building a strong culture: a set of core values, beliefs, and goals shared across the development team, community, and broader ecosystem.
In this post, we've put to paper a first revision of what we, as a team, see as Flarum's core values.

Product Values

Framework First

We recognize that every community’s needs are different, so we don’t pretend that core is an all-in-one solution. Instead, we’ve decided to keep Flarum core a streamlined framework for our extension ecosystem. This offers several distinct advantages:
  • Communities can have the features they need, and only the features they need, simplifying UX and reducing resource cost.
  • Since extensions are prioritized, communities can easily tailor Flarum to their needs.
  • An extension ecosystem (including premium/private extensions) results in financial investment, which is crucial for long term stability.
  • To keep things extensible, we want to keep both the UI and the software architecture streamlined and minimal. We believe that this leads to a better experience for users, admins, and developers.
  • A smaller core is much more maintainable and easier to test.
  • Domain experts (often third parties) can drive development of features and functionality, so the core Flarum team can focus on stability, extensibility, and expandability.
Flarum core will likely never have the 50+ staff members that many competitors do. But it doesn't need to! If we do this right, a small team will grow and refine our core much faster than a for-profit army could with a monolith. But more importantly, the community surrounding Flarum will become much, much larger than a proprietary forum software's team ever could.
We believe that this is our single greatest differentiator and competetive advantage. It's not as flashy as the UI, (lack of) cost, or any particular feature, but the potential is truly unlimited.

Truly FOSS

First and foremost, Flarum is a forum platform. This comes with the obvious challenge of funding: we rely on volunteered time, individual donations, and support from companies to drive development.
That being said, we believe that this approach is actually an enormous competetive advantage, because we have no competitors in the Flarum ecosystem. When development agencies, premium extension developers, paid service providers, etc make money from Flarum, that is a win for us! Our interests are automatically aligned with the vast majority of commercial projects around Flarum.
In the modern generation of forum products, Flarum's edge remains its committment to being Free and Open Source Software. We are not a for-profit company with an open source product, nor do we charge a license fee. Instead, we emulate the giants of old in remaining free software, while using a modern architecture and fresh approach to the forum concept. This makes Flarum uniquely, truly FOSS.

Flarum is for Everyone

There are two sides to this value.
Firstly, Flarum must be accessible without barriers due to language, culture, or disability. This includes:
  • An internationalization-first mindset when developing: all text should be translatable!
  • Improving support for foreign language communities (for instance, search is a big area we should continue to focus on).
  • A first-class accessibility and screenreader experience.
Secondly, while we will continue to optimize performance and scalability, we never want to cut off the shared hosting market. If anything, we want to put effort into tools that will make shared hosting easier.

Organizational Values

Shared Ownership and Responsibility

Flarum is not owned by a business (see "Truly FOSS" above), it's owned by the community (under the stewardship of the Flarum Foundation). Active/engaged community members generally rise to respected / staff roles, and prominent commercial entities in the ecosystem have a voice through their needs and contributions (again, see "Truly FOSS").
As a team, we have shared responsibility over the development and growth of Flarum. We can organize and have formal or informal development leadership, but we don't think Flarum should ever have "bosses" in the traditional sense.
Every Flarum team member became part of this team because we put our time and energy into Flarum. And I believe that's how we should continue to operate. Everyone should be taking ownership over some projects/aspects of Flarum. A situation where someone is doling out orders and instructions to others is a failure: it centralizes what should be a decentralized, collaborative effort, and creates a bus factor problem.

General Values

Trust Matters

Trust is very hard to build, but easy to lose.
When someone chooses Flarum, they are putting their trust in us. They trust that:
  • Flarum will continue to develop and grow.
  • Flarum will support them if something goes wrong.
  • Flarum won't break significantly without a workaround.
  • Flarum will remain free and available.
And the unfortunate reality is, it takes just one incident to seriously shake that trust.
During our beta period, we had a lot of (necessary) growing pains: betas 8, 14, and 16 especially included major breaking changes and bugs.
Now that we are stable, we must change how we work to build long term trust, and honor the promise of stability:
  • This is an obvious one, but no breaking changes to the public API in minor/patch releases!
  • We should work to improve experience when users (inevitably) run into issues. Support is a key part of trust.
  • Big bugs should be patched ASAP and tagged as a new release equally ASAP. Having to wait for 2-3 months can be a dealbreaker.
  • We need to support and encourage more testing automation, and provide QA tooling if we can.
  • Changes that break things in our main GitHub branch should be reverted or fixed as a top priority. We should try to keep the main branch clean and working.
And then, there's the matter of extensions. This is one of the challenges of a decentralized ecosystem, because while we can improve and refine Flarum core, we cannot directly control the extension and service ecosystem. But trust in Flarum depends on it just as much (if not more) than it does on core. If our philosophy is that features should be implemented as extensions, crucial extensions cannot go out of commission for months on end. This means that:
  • The core team should (continue to) consider impact on major extensions when developing core.
  • Community developers should be encouraged to prioritize the most important/impactful extensions.
  • Community members should feel empowered to contribute to / support the extensions they know and love.
It takes a village, but if we work together, we can go incredibly far.
Finally, trust matters just as much on the individual level as on the team level. If promises aren't kept, commitments aren't kept, and communication isn't consistent and reliable, trust and morale can take a serious hit. This is why one of our strongest internal mantras is "Underpromise, overdeliver".

What Do These Values Mean For Me?

If you've found yourself nodding along while reading this post, Flarum might be a good fit for you! We'll post more information in the coming weeks/months, but for now, here's a quick overview of how you can get involved:
If you're a developer, consider contributing to Flarum. We have an extensive list of good first issues, and documentation on how to get started. This is the most efficient way to help Flarum, and your work can have a lot of impact: there are thousands of Flarum sites out there, with millions of total end users.
If you're experienced in technical writing, your contributions to our documentation could help future users, admins, and developers make the most of Flarum.
If you speak multiple languages, translation contributions could help make Flarum accessible to countless users around the world.
And if you just think Flarum is cool, please consider blogging/tweeting/talking about it! More people aware of Flarum leads to more people engaged with Flarum, and therefore more activity, better extensions, and faster development.
Community Updates | Special: Updating to 1.0

Upgrading to 1.0 - We got you covered!

Version 1.0 - the first stable release of Flarum - has been released on May, 27th. Many communities have already been updated to the stable version. With this "Community Update Special" we want to look at updating in detail. In case you haven't updated yet this is exactly the post for you!

📊 What benefits does upgrading to 1.0 bring?

First and most importantly Flarum 1.0 is the first and only stable version of Flarum. Older (beta) versions of Flarum are not supported by staff. If a problem is reported you will be asked to upgrade your community. Only issues on the latest stable release can be addressed and fixed in future updates.
Upgrading keeps you compatible with the latest php and mysql versions. With its high velocity in releasing new minor versions, PHP is deprecating older php versions at a very fast tempo. By upgrading Flarum you are able to keep up and not run on a vulnerable php version at some point.
Another great reason to update is the compatibility of extensions. There has never been a greater number of compatible extensions than now. Currently, 286 extensions are available to install. This does not even include the 37 language packs available! Additionally, it's expected that extensions remain compatible up to the next major release, which will be 2.0. While extensions got incompatible quite frequently on beta releases this is now a thing of the past!

🔁 What do I need to do before updating?

There is a special major version update guide. This is a step-by-step guide to update Flarum to the most recent version. It's a bit different then upgrading a minor version - so be sure to check it out. It's not hard though - promised. If you read carfully and follow the guide you will have a smooth update experience.
Also don't forget to make a backup of your community before your proceed.

🤖 Is there a tool to assist with upgrading?

In fact there is something very helpful for upgrading Flarum. You can use the Extiverse Helper to assist with the process. With the help of this tool you will automate the steps mentioned above / in the major version update guide.

🐛 What are common problems that have occurred on other communities?

We have seen very little issues on other communities when upgrading to the stable version. Here are some of the most common problems that we have seen discussions / support requests on.
  • Make sure you are in the right folder before running the composer update command. You need to execute the command where your composer.json is located.
  • Make sure you have set all extensions to requiring the latest version ("*") so that they don't block your update. If there is still an extension blocking check if there is a compatible version with 1.0. You might have to remove the extension if there is no compatible version.
  • Don't forget to run php flarum migrate and php flarum cache:clear after running the update command.

🏥 Who can help me when I get stuck on updating?

The Flarum community is happy to help you out. Just open a new discussion in the #Support/Upgrading Tag. To get an helpful response you best include the error you have encountered as well as your composer.json and the output of php flarum info.

🏁 Final words

We hope you feel encouraged to give upgrading your community a go as well. Be sure we will help you getting the upgrade done right so you can also enjoy the stable version for Flarum yourself! Also make sure to follow our other Community Updates!
Flarum CLI v1.0

Flarum CLI

oclif Version Downloads/week License
A CLI for developing Flarum extensions.


📣 The Announcement

Supporting our extension ecosystem in building even more awesome extensions, is something we firmly believe in. As such @askvortsov has been hammering away at this project (RFC: Flarum CLI Alpha, Flarum CLI Dev Diary), setting up a solid foundation for it to create a powerful tool for extension development that would help developers by automating some repetitive and menial tasks, and allow them to get into the actual work without much hassle.
Today, we're very excited to announce the 1.0 version of this tool, it comes with a range of commands to assist you along the way.

📥 Installation

Using npm simply run the following command to install the CLI globally.
If you have the alpha version installed, remove it first:
$ npm uninstall -g flarum-cli
Now install the new package:
$ npm install -g @flarum/cli
To run a command, use either flarum-cli or fl:
$ flarum-cli COMMAND
$ fl COMMAND
To see a list of available commands, run either of:
$ flarum-cli
$ flarum-cli --help

⬆️ Updating

$ npm update -g @flarum/cli

🌟 Highlights

The CLI has different types of commands for different tasks:
Initialisation
  • flarum-cli init [PATH]: Generates a blank extension skeleton, including all recommended infrastructure.
Infrastructure
  • flarum-cli infra backend-testing [PATH]: Adds (or updates) infrastructure for running automated backend tests.
Backend Boilerplate Generation: Generates different types of backend classes and/or extenders, ready to be used.
  • flarum-cli make backend api-controller [PATH]
  • flarum-cli make backend api-serializer [PATH]
  • flarum-cli make backend api-serializer-attributes [PATH]
  • flarum-cli make backend command [PATH]
  • flarum-cli make backend event-listener [PATH]
  • flarum-cli make backend handler [PATH]
  • flarum-cli make backend integration-test [PATH]
  • flarum-cli make backend job [PATH]
  • flarum-cli make backend migration [PATH]
  • flarum-cli make backend model [PATH]
  • flarum-cli make backend policy [PATH]
  • flarum-cli make backend repository [PATH]
  • flarum-cli make backend route [PATH]
  • flarum-cli make backend service-provider [PATH]
  • flarum-cli make backend validator [PATH]
Frontend Boilerplate Generation: Generate frontend components/classes, ready to be used.
  • flarum-cli make frontend component [PATH]
  • flarum-cli make frontend modal [PATH]
  • flarum-cli make frontend model [PATH]
Code Updates:
  • flarum-cli update js-imports [PATH]: Adds admin/forum/common namespaces to all JS imports from flarum core.
And of course, you can always use the help command to see a list of all available commands with their descriptions:
  • flarum-cli help [COMMAND]

🔥 The Most Powerful Commands

Of all the aforementioned commands, the two most powerful ones that will make a huge difference, are the extension initialisation command and the backend model generation command. The former obviously allows to kickstart the extension with the recommended skeleton from the Core Dev team, while the latter not only creates the backend model, it allows to create all the classes related to the model, from just its name:
  • Table migration
  • Policy
  • API Serializer
  • CRUD API Controllers
  • CRUD Handlers
  • Repository
  • Validator
  • Routes
  • Related Extenders

terminal_example
example_project_with_model_command

🧑‍🏭 Support & Feedback

If you encounter any problems while using the CLI, or would like to propose additional features/commands, please open an issue in the github repository.
Any and all feedback is appreciated.

Links

Developers

Extend

Learn how to harness the extensibility of Flarum to create your own extensions and customize your community.

EXTEND

Contribute

Help us make Flarum even more powerful and customizable! Every bug report, pull request, and documentation improvement is a huge help.

CONTRIBUTE

Built with the best tools

Have you ever changed tires with a spoon? Using the right tools for the job is key to success. We thank our technology partners for their generous product donations!