Add custom fields to discussions
Add custom fields to your discussions. Features:
- Create custom fields with name, icon and description
- Fields can be required or optional
- Fields accept a dropdown selector or user-provided answers
- User answers can be validated with custom Laravel Validator rules
- You can choose the number of columns of the layout
- (experimental) show the tags field as a Mason field
Note: due to the way the Flarum discussion composer works, it currently cannot be automatically resized to fit all fields. If you have many fields you will have to manually increase the composer height with the mouse handle.
composer require fof/mason
composer require fof/mason php flarum migrate php flarum cache:clear
Once enabled, a new Mason tab will show up in the admin.
Fields can be created, edited and reordered on the page. New fields are immediately visible in the frontend.
If you delete a field, it will be removed from all discussion that used it. Fields use a "soft delete" feature so the data is preserved in the database even if you delete it. You can bring the field and its answers back by editing the database if you need.
Answers are pre-made answers for a field. If you want to keep an answer visible but prevent new discussions from using it, you can change its suggestion state. If the field accepts user values, these will show up as non-suggested answers.
You can rename an answer (either admin or user made) and it will be updated everywhere it's used.
Deleting an answer will permanently remove it from all discussion using it. Unlike fields it doesn't use "soft deletes" and as such cannot be recovered.
The extension comes with several permissions to choose who can interact with custom fields. Check the Permissions tab to configure them.
The custom fields form will display on the discussion composer, on the first post of the discussion and as an option in the discussion edit menu. The layout can be customized via the settings available in the Mason page of the admin panel.
This extension replaces Flagrow Mason.
Please backup your data before attempting the update!
You can upgrade from any of the older versions of the Flagrow extension.
Then upgrade from the old extension to the new one:
composer remove flagrow/mason composer require fof/mason
When you enable the new extension, the permissions, settings and the data from Flagrow Mason will be moved to FoF Mason.
An extension by FriendsOfFlarum