Hello my fine feathered Flarumites!
Another year has gone by, and it was a good year - don't let anyone tell you otherwise. It is now 2017 and it seems reasonable to review this last year. Where is Fla rum since January 2016? What progress have we made? What problems did we run across? What does 2017 look like for Flarum? This will address all of these questions and more.
Feel free to use the headers of the table of contents below to skip to other parts of this update. It's a bit long because there's so much to cover. You can usually do this with CTRL+F in your browser and then copy/paste the header.
TABLE OF CONTENTS
- DEVELOPMENT
- STAFF OVERVIEW
- COMMUNITY CONTRIBUTIONS
- REFLECTION ON 2016
- PLANS FOR 2017
- WRAP-UP
DEVELOPMENT
Let's put this front and center. Flarum isn't out of beta yet, and there's still a bit of work before a stable version can be released. Don't dismay, we made a lot of progress this year, and our core developers Toby, Franz (and now Sijad!) in addition to several of our regular contributors, have done fantastic work edging towards the final goal. Let's talk about where we are.
We started 2016 on Beta 4. In March of last year, Beta 5 was released. Beta 6 came out three months ago, in October. These came with many fixed bugs and several new features that both aid admins and users alike. The new features added since 2015 include:
On the Admin Side
- Custom Header
- Custom Logo
- SMTP settings
- IP address viewable by admins and mods
- Approval permission for discussions
- Changing tags permissions for discussion authors
On the User side
- Contextual quote
- Mentions list on the user profile
- Extended BBCode (DEL, COLOR, CENTER, SIZE)
- Setting to automatically follow discussions you reply to
- User Online indicators
- Improvements for the posting composer in mobile view
- Resending confirmation emails
- Password confirmation for email changes
Miscellaneous features
- SSH command:
php flarum info
to display helpful debugging information
- SSH command
php flarum cache:clear
to dump cached asset files
- Search Gambit:
created:YYYY-MM-DD
- API endpoint for tags:
GET api/tags
- Extraction of all language strings
- Many more tweaks and fixes
Near the end of 2016, and moving into this year, our core developers set their sights on the core API. This is the part that provides all kinds of entry points for extension authors to hook into Flarum's code - so it may very well be considered the software's backbone, and very important. Therefore, it makes sense to stabilize this part before adding more features. Once the API has been finalized for version 1.0, Flarum will be a much more stable platform for development by both our core and community devs alike.
Here are some of the more important parts of the stable API (some implemented, some in progress, some planned):
- Add shortcuts for common tasks in Extension API (flarum/core851)
- Upgrade to Laravel 5.3, jQuery 3.0 and Mithril.js 1.0 (flarum/core979, flarum/core872)
- PHP: Ditch the command bus (flarum/core870)
- Switch to a custom subclass of
ServerRequest
(flarum/core869)
- Extract JavaScript data layer (Store and Model) into external package (flarum/core871)
- Extract Translator into an external package
- Import
app
instead of using it as a global. Make the global named flarum
- Share components/models between front-end and admin - using a flarum/lib namespace
- Standardise some method names, work on consistency etc.
- ...and much, much more
Toby has spent much of the last weeks laying out the plans of attack for many of these changes, and started to work around them on separate branches throughout our various repositories. Franz is trying to reduce his backlog of tickets-to-reply-to and pull-requests-to-review (thanks for all the contributions!). And Sajjad is very diligently working on closing tickets.
STAFF OVERVIEW
Last year was a year of growth and change for our staff team, and we're very appreciative of every one of them. Every one of them are volunteers, devoting their time to Flarum freely. They're community members like you, except for Toby who started the whole thing, and their devotion comes only for their passion for Flarum. Let's talk about our staff this year.
Our community moderation team grew from 3 to 4 this year. We added @Digital in June and @luceos transitioned to being a mod after stepping down as the Community Manager in May. Leaving the mod team this year was @jordanjay29, who is now the Community Manager, and @Dominion who needed to part ways with Flarum for family health reasons. Of course, @Kulga remained on the team throughout all of 2016. An early addition from 2017 was @webeindustry, but we would be remiss not to mention him here as the title was really just a formality.
Our core developers also grew, with @sijad joining @Toby and @Franz in November. @sijad has been very active in the community as an extension developer, and he was the right fit to join the ranks of core developers.
Our documentation team has struggled to retain membership, and with Flarum's features in a state of flux it's understandable why. We began last year with @BlackSheep and @wackyMole, who both had to step away from the roles by February. A later attempt last year with new candidates fizzled out without finding any successful member for the team.
Finally, several of our contributors to Github have taken on a larger role. @Davis, @datitisev and @JoshyPHP have helped our core developers by adding pull requests for several major features and fixing many issues in Flarum this year. In addition, they continue to assist with strategic planning for future revisions to the code.
We also experimented with a project manager last year, and luceos held the role for a brief time. It was a role that suited him well, but it ended due to time constraints and other projects.
COMMUNITY CONTRIBUTIONS
Our community is an amazing place, filled with creators, innovators and problem solvers. It's hard to call out some of the great contributions that are less tangible, like technical support and problem solving support and code issues. These have just as much use and impact as making things, even if it's harder to spot. For everyone who took time in 2016 to add advice or resolve a problem, you guys are rock stars and you deserve more than a little paragraph patting you on the back.
There are, however, tangible creations in our community aside from the core developers. Our repository of extensions has exploded in the last year, and there are some spectacular ones and there are some rather useful ones and then there are those that you never would have thought of doing otherwise. In 2016 we had 14 new language packs released, including Brazilian Portuguese, Chinese (Traditional), Danish, German, German (II), Indonesian, Japanese, Maylasian, Norwegian (Bokmål and Nynorsk), Persian (Farsi), Polish, Romanian, Swedish, and Ukrainian.
We also had 40 new extensions published. There are far too many names and varieties to list them out here, but you can check out the Extensions tag to find them all. Many of the often requested features, such as a user list, image uploads, header links, extra pages, footers, signatures, OpenGraph and other embedding features, WYSIWYG editor and many more have been supplied by members of our community.
Due to our community of developers, Flarum is very close to major feature parity with other free forums out there.
REFLECTION ON 2016
It's hard to put a whole year into just a words. We've seen some ups and downs this last year. Our core developers have been busy with their real lives, and staff members have come and gone. That makes us even prouder that the community has remained very active, and many people have stepped in to help with core development, resulting in the aforementioned list of pull requests. Thanks again!
PLANS FOR 2017
In the last developer call, our core devs have renewed our focus on getting the first stable version out, with a reminder to make some hard decisions in order to finally get to that point. As always: we are very shy about estimates (that is the nature of open-source software projects), but we have intentionally reduced the amount of planned features so that our goal is easier to reach.
This year is intended to be one of community enrichment. As Flarum grows closer to a stable version, it allows our community to become more engaged. There are some ways of achieving this goal during 2017. Such as utilizing Twitter more often to deliver more updates in a faster manner, in the form of mini-updates that shouldn't interfere with our monthly updates. Also, to engage the community with a contest of later devising, with a meaningful goal and fun prizes. And to establish a proper donation scheme for Flarum, as many of our community members have expressed interest in Flarum's financial future.
We hope to rebuild the documentation team and move forward with a strong base of docs for developers and users alike. If you're someone who enjoys writing guides, uses (or wants to learn) Git and has the time to dedicate to a project like Flarum, contact @jordanjay29 on Gitter.
As always, we are committed to future growth and continued support of the Flarum software. Knowing what there is to focus on, as well as maintaining the community we have, helps focus our efforts for 2017. Besides that, we are hoping to further encourage community contributions and foster the growth that we have already seen in this area.
WRAP-UP
We are very glad about the continuing support from so many of you, and are proud of what has been achieved so far: we have a modern forum project that is - despite its beta status - in good use on many servers around the world. And, more importantly, we have a healthy, active community around it.
As we move into 2017, exciting things are bound to happen for Flarum, and we can't wait to experience them all.
Thanks for reviewing 2016 with us. You can always stay in the know by watching this Blog tag, following us on Twitter @Flarum, joining our Gitter chat or by opening Hailing Frequencies (coming in 2266!).