View post edit histories.
This package is auto-updated.
Last update: 2021-01-12 07:53:32 UTC
This extension adds a "post revision history" feature to your Flarum forum. I did this one for my personal Flarum project and decided to share it.
- Based on jfcherng/php-diff repository (this one is forked from chrisboulton/php-diff since it's no longer maintained).
- Option for line (default), word and char level diffs.
- Three render modes including "Inline", "Side By Side" & "Combined".
- Archive old revisions using cron jobs or manually.
- Delete revisions or rollback to certain revision.
- Supports all browsers which are supporting css-grid.
Also, it won't load (and cache) anything until you click the "Edited" button so no need to worry about loading times.
You can check your php version by running
php -v and check if
iconv is installed by running
php --ri iconv (which should display
iconv support => enabled).
You also need to update
s9e/text-formatter to v2.3.7 for syntax highlighting in "Preview" mode (skip this step if you didn't update
flarum/core to beta 12 yet):
composer update s9e/text-formatter:2.3.7
This extension conflicts with:
If you're using the-turk/flarum-edit-notifications, you should update it to v0.1.4
composer update the-turk/flarum-edit-notifications:0.1.4
Use Bazaar or install manually:
composer require the-turk/flarum-diff
composer update the-turk/flarum-diff php flarum migrate php flarum cache:clear
Enable the extension and set the permissions. You're ready to go!
If x ≥ A (where the x is post's revision count), first y=mx+b revisions for the post can be stored as merged & compressed
BLOB in a new table (which is called
post_edit_histories_archive). Specify the A, m and b from the settings modal. Float values of y will be rounded to the next lowest integer value. It's recommended to archive old revisions if you want to save storage volume but not recommended if you don't want to.
If you want to archive old revisions, please consider enabling cron job option from the settings modal. I set a weekly cron job which is working on sundays at 02:00 AM (nothing special) using
diff:archive command**. Otherwise, it'll try to find & archive old revisions for the post as soon as
Post\Revised event fires or wait for your
php flarum diff:archive command.
**: Here is the only Cron entry you need to add to your (Linux) server:
* * * * * php /<path/to/flarum>/flarum schedule:run >> /dev/null 2>&1
This Cron will call the Laravel command scheduler every minute. Then, Laravel evaluates your scheduled tasks and runs the tasks that are due.