I maintain the website of an organization with about 300 members. The website is running Kirby 3.9.x, we plan to upgrade it to Kirby 4.0 as soon as possible.
The main part of the website is password protected and only accessible to members. There is a section where new articles are published regularly. Recently, the client asked for a system for the members to comment on the articles.
The requirements for this commenting system are quite simple:
- “Linear” (I can’t think of a better term right now) comments are sufficient, in any case no multiple comment levels in terms of replies to comments are necessary.
- Basic formatting such as bold, italics, etc. should be possible in the comments.
- Functions concerning other websites or blogs - pingback, webmentions or similar - are not required.
- Since the comments are made in a closed area by members personally known to each other with a known good/civilized communication culture, moderation/approval of comments does not appear to be necessary at this time
- Since the comments are made in a closed area, protection against spam is also not required
There are two plugins with comment systems for Kirby
- Commentions (https://getkirby.com/plugins/sgkirby/commentions)
- Komments (Komments | Kirby CMS Plugins)
also an older, file-based comment system
- KirbyComments (Jonas Marx / KirbyComments · GitLab)
The features offered by all the above systems go far beyond the requirements mentioned above. Furthermore I can’t estimate if or how well these systems work after updating the website to Kirby 4.x.
So my idea is to implement a simple commenting system myself:
- Under each article there will be a textarea to write a comment.
- After submitting the comment it will be saved as a subpage of the article (As described in the recipe “Creating pages from frontend” (Create pages from frontend | Kirby CMS)).
- Under the textarea all comments submitted to the article will be listed in reverse chronological order with author and date/time.
At the moment I think the implementation of this concept is quite simple. Or have I overlooked something? I would really appreciate an assessment from you guys.