Laravel Forum, a drop-in forum package for Laravel 4/5 originally created by Atrakeur, is a project we've been building on for the past year. Version 2 for Laravel 5 started gaining some traction while we began on a total rewrite.
The list of changes and new features in version 3 is quite extensive, but here are some highlights:
Let's take a look at some of these new features in detail.
Out of the box, you now have the ability to create, rename, move and change the properties of categories instead of having to delve into your database schema and define categories by hand.
Two new properties have also been added:
Categories can be nested to any level and may be set to disallow new threads or behave as a "private" category.
Thread actions include a few new additions such as moving to new categories and deleting, which behaves in much the same way as category deletion.
Replying directly to a post also links it to the new reply, automatically including a quote and link in the post body.
Actions in general have been redesigned to work in a more unified way, but we've also introduced the ability to apply actions to threads and posts in bulk. Moving, renaming, locking, pinning, deleting, restoring, and so on are all possible through the new interface additions - all of which are integrated neatly with authorisation.
The new API is written to be consumed internally for all data querying and persistence, allowing much tidier, consistent frontend controllers with minimal extra overhead.
It's also available RESTfully, so anything from creating a category to deleting a post is possible for custom integrations.
Thanks to contributors, Laravel Forum supports 8 languages:
All of the translations have been reorganised and updated to support newly added features.
Pre-releases of 3.0.0 are available on GitHub and we hope to release the first stable version by the end of November.
The included migrations are compatible with version 2, so when the time comes, upgrading the schema should be relatively painless. That said, everything else has been replaced or changed in some way, so removing any existing published files (views, config and translations) and publishing the new files to re-apply your customisations will be necessary. The documentation will outline key changes in detail to make this easier.
Once the new documentation is written, it will be made available on this site prior to the first stable release and will cover all aspects of the package, including usage on the frontend, code customisation/integration, and the REST API endpoints. We'll upgrade the demo at the same time.
In the meantime, we're continuing work to improve code quality and API optimisation, as well as correcting any outstanding issues.
Pull requests are also encouraged (especially for translation fixes, since most of the new translations have been done with Google Translate and may not be accurate).
If you have an idea for a new feature, feel free to create an issue detailing it and we'll consider it for a future release. Pull requests for new features and improvements are also welcome and are considered individually.
Thanks for looking, and remember to take a look at the readme for more info, including installation steps.