DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

Jacaranda-Comments Module

 3 Replies
 1 Subscribed to this topic
 30 Subscribed to this forum
Sort:
Author
Messages
New Around Here
Posts: 10
New Around Here
New Poster
New Poster
Congrats on posting!
Engaged Reader
Engaged Reader
You are an engaged reader!

I have been working on a stand alone comments module that can be placed at the bottom of any page.
Or anywhere you like actually.

It has the ability to authorise comments/reply to comments and has some basic configuration.
The user must be logged on to be able to comment but not to read comments.

As I said it is stand alone and is built for DNN 10 with Bootstap 5 skin.
If there is any interest I will put it on Github as open source.

Please let me know if there is any interest.
Disclaimer: I have a custom Gpt that I created for Chatgpt to help with the coding.

King Regards
Trevor

New Around Here
Posts: 10
New Around Here
New Poster
New Poster
Congrats on posting!
Engaged Reader
Engaged Reader
You are an engaged reader!

I have released a testing version of the Jacaranda-Comments-Module.

https://github.com/Forro-...anda-Comments-Module
Jacaranda Comments 01.00.19 – Public Testing Release

Highlights in version 01.00.19
Improved positioning after posting comments and threaded replies
Immediately published comments return to the newly created comment
Immediately published replies return to the newly created reply
Pending comments and replies return to a clear moderation confirmation
Improved handling of DNN page-layout changes after postback
Middle-right success and validation pop-up notifications
More reliable notification close-button and automatic-dismiss behaviour
Configurable maximum comment and reply length
Character limit configurable separately for each module instance
Default character limit of 4,000 characters
Supported configurable range of 250 to 10,000 characters
Dynamic remaining-character counter
Pasted text is preserved rather than silently truncated
Over-length submissions are rejected before database insertion or email notification
Full entered text remains available for correction
Improved security-token handling for comments, replies, approval, and deletion
Clean redirects after posting and moderation actions
Prevention of browser form-resubmission prompts
Existing moderation, permissions, CAPTCHA, rate limiting, and email-notification behaviour retained
Database changes

There are no database schema changes in this release.

The existing comment text column already supports the configurable character limit. Matching upgrade scripts are included for DNN extension-version tracking.

Testing completed

Version 01.00.19 has been tested on DNN Platform 10.3.2 with:

Clean module installation and upgrades
Normal registered users
Administrators and superusers
New comments
Threaded replies
Comments awaiting moderation
Approval and deletion
Email notifications
CAPTCHA
Rate limiting
Configurable character limits
Over-length validation
Success and error notifications
Page positioning after posting
Default DNN containers
Preliminary custom-theme testing

All tested functions are currently working as expected. Wider testing with additional skins, containers, DNN configurations, browsers, and mobile layouts is welcomed.

It is a stand aloe module and can be placed on any page.

Comments and testers welcome.
Kind Regards
Trevor

Veteran Member
Posts: 374
Veteran Member
5 Helpful Replier
Helpful Replier
Thanks for being such a helpful replier!
New Poster
New Poster
Congrats on posting!
6 Engaged Reader
Engaged Reader
You are an engaged reader!
2 Avid Reader
Avid Reader
Avid Reader art thou!
2 Most Liked
Most Liked
Congrats, your posts are really liked!

Awesome! Thanks for sharing!

New Around Here
Posts: 10
New Around Here
New Poster
New Poster
Congrats on posting!
Engaged Reader
Engaged Reader
You are an engaged reader!

I have been working on the module and it now allows Guest comments with a 5 minute correction window and a centalised master settings area.

Testers are welcome. Try out on a test site before trying on a production site!!!

Development of Jacaranda Comments has continued, and the Advanced branch has now reached version 01.02.02.

Jacaranda Comments is a page-level comments module for DNN Platform 10. It was originally designed as a straightforward way to add comments and threaded replies to individual DNN pages, but the Advanced branch is now developing into a more complete site-wide comment-management system.

The Simple edition remains separately maintained on the <code>main</code> branch at version 01.01.03, while the Advanced features are developed on the <code>advanced-settings</code> branch.

Central Comments Administration

One of the biggest additions to the Advanced edition is the new Comments Administration panel.

Administrators no longer need to visit every page individually to discover whether a comment is waiting for approval.

The central moderation queue brings together pending comments and replies from every Jacaranda Comments module within the current DNN portal.

For each pending submission, the administrator can see information including:

  • the DNN page title;
  • the module title;
  • whether the submission is a comment or reply;
  • the author or guest name;
  • the submission date;
  • the comment text;
  • whether the private language filter was triggered.

From the same central panel, an administrator can:

  • Approve a pending comment;
  • Reject / Delete a submission;
  • View Page to open the DNN page where the comment was submitted.

Moderation is deliberately performed one comment at a time. There is currently no “Approve All” or “Delete All” function, reducing the possibility of an administrator accidentally changing a large number of comments with a single click.

Portal-wide controls

The Advanced edition also includes central settings that can affect every Jacaranda Comments instance in the current portal.

Two particularly useful emergency controls are available.

Disable all new posting

An administrator can stop new comments and replies across the entire portal while leaving existing discussions visible.

This could be useful during a spam attack, site maintenance, or another situation where new submissions need to be temporarily suspended.

Disable guest posting

Guest commenting can also be disabled across the entire portal without affecting registered-user commenting.

This provides a quick response if guest posting starts attracting unwanted submissions.

Central defaults with page-level flexibility

A central administration system should not remove the flexibility that makes a page-level module useful.

For that reason, individual Jacaranda Comments modules can either continue using their own local settings or deliberately inherit the site's central defaults.

Existing modules do not automatically switch to central settings during an upgrade.

This is important because an established site should not suddenly find that its moderation, guest access, CAPTCHA, rate limiting, or email behaviour has changed merely because the Advanced edition was installed.

Five-minute guest correction window

Version 01.02.02 introduces another useful feature: guests can now correct mistakes in their own submissions.

A guest who notices a typo or poorly worded sentence immediately after posting has up to five minutes to correct the text.

There are important limitations.

The guest can edit only:

  • the comment or reply text.

They cannot change:

  • their display name;
  • their private email address.

The five-minute period begins when the original submission is made and does not restart after an edit.

Guest editing also ends immediately if:

  • the five minutes expire;
  • a moderator approves the submission;
  • the submission is deleted;
  • guest posting is disabled centrally;
  • all posting is disabled centrally.

Most importantly, a guest can edit a comment only while it is still awaiting moderation.

This prevents a guest from submitting harmless text, having it approved, and then replacing the approved public comment with different content.

Secure guest ownership

Allowing an unauthenticated visitor to edit a comment creates an obvious security question:

How does the module know that the person requesting the edit is really the guest who submitted the comment?

Jacaranda Comments does not rely on the guest's name, email address, IP address, browser information, or Comment ID as proof of ownership.

Instead, the server creates a cryptographically random temporary edit credential when the guest submits the comment.

Only a SHA-256 hash of that credential is stored with the comment.

The original credential is not placed in:

  • the database;
  • the page URL;
  • query strings;
  • hidden form fields;
  • rendered comment HTML;
  • moderator emails.

When a guest attempts to edit the submission, the server checks the credential along with the portal, page, module, comment identity, moderation status, deletion status and five-minute time limit.

These checks are repeated at the database update stage rather than trusting values supplied by the browser.

Existing guest comments created before the upgrade do not suddenly become editable because they do not possess the required guest-edit credential.

Registered-user editing remains available

Registered DNN users continue to receive the existing 15-minute editing window for their own comments and replies.

Registered ownership is based on the authenticated DNN <code>UserId</code>, while guests use the temporary secure correction mechanism.

This provides a useful distinction between registered and guest participation while still giving guests a short opportunity to correct genuine mistakes.

Guest commenting and moderation

Guest commenting remains optional.

When enabled:

  • guests provide a display name and private email address;
  • guest comments and replies are always held for moderation;
  • guest email addresses are not displayed publicly;
  • moderator notifications can contain the private guest contact details;
  • guest submissions cannot make themselves approved through modified browser values.

The site administrator can disable guest participation at any time through the Advanced central administration panel.

Private language filtering

Jacaranda Comments also includes an optional administrator-controlled language filter.

Administrators can enter terms or phrases that they do not want automatically published.

When a comment matches the list:

  • the original text is not automatically censored;
  • the submission is not deleted;
  • it is held for moderation;
  • the visitor is not told which term caused the match;
  • authorised moderators can see that the language filter was triggered.

This allows the filter to assist human moderation rather than attempting to replace it.

Guest corrections are rechecked by the language filter before being saved.

Page-aware moderator notifications

Moderator emails identify which DNN page generated the submission.

For example:

Comment awaiting approval — Understanding Grace

The notification body can also include the page title, page link, module title, Comment ID, author details and moderation status.

This becomes increasingly useful as the same comments module is deployed across many pages.

Accessibility improvements

Accessibility has also been considered during development.

Success and error notifications remain within the boundaries of the Jacaranda Comments module rather than appearing over unrelated content elsewhere on the page.

This is particularly useful on layouts where a long article and its comments appear in separate columns.

Notification panels include stronger borders, clearer visual distinction and prominent close controls.

The CAPTCHA answer field also has a stronger high-contrast border, increased size and a clear keyboard-focus indicator to make it easier to locate for visitors with limited vision.

Security remains a priority

Adding guest access and central administration increases the importance of server-side security.

Jacaranda Comments continues to use:

  • parameterised SQL;
  • server-side permission checks;
  • output encoding;
  • anti-CSRF security tokens;
  • portal, page and module scope validation;
  • rate limiting;
  • CAPTCHA support;
  • honeypot protection;
  • server-side character limits;
  • forced moderation for guest submissions.

Central administration is restricted to:

  • DNN Superusers;
  • members of the portal's built-in Administrators role.

No additional DNN security role is required.

Portal-wide moderation and settings are scoped to the server-derived <code>PortalId</code>, helping prevent an administrator from one portal changing another portal's comments or settings.

Two development paths

Jacaranda Comments is now being maintained in two development lines.

Simple edition

The <code>main</code> branch remains the simpler page-level module at:

Jacaranda Comments 01.01.03

This edition is intended for sites that want individual page-level configuration without central administration.

Advanced edition

The <code>advanced-settings</code> branch currently contains:

Jacaranda Comments Advanced 01.02.02

The Advanced edition adds:

  • portal-wide administration;
  • central moderation;
  • emergency posting controls;
  • inherited site defaults;
  • secure guest correction;
  • additional administration and auditing features.

The Advanced edition retains the same underlying DNN module identity and is intended as an upgrade path rather than as a second copy of Jacaranda Comments installed side by side.

Current testing status

The earlier Advanced revisions have been trialled successfully on a DNN test site, including the central administration and portal-wide moderation workflows.

Version 01.02.02 is the latest development revision and introduces the new five-minute guest correction capability.

As with any DNN extension upgrade, administrators should back up both the website files and database and test the release on a staging site or low-risk page before wider deployment.

The DNN Event Viewer should also be checked after installation and during testing.

Feedback is welcome

Jacaranda Comments continues to grow through practical use and careful incremental development.

Feedback is particularly welcome regarding:

  • guest commenting;
  • the five-minute guest correction window;
  • central moderation;
  • multi-page installations;
  • accessibility;
  • different DNN skins and containers;
  • email notifications;
  • spam and abuse prevention;
  • security concerns;
  • upgrade behaviour.

The aim is to keep the module useful, understandable and secure without turning it into an unnecessarily complicated system.

Jacaranda Comments Advanced 01.02.02 represents another step towards providing DNN site owners with a practical comments system that can scale from a single page to a site containing many active discussions.

https://github.com/Forro-...odule/releases/tag/v

These Forums are for the discussion of the open source CMS DNN platform and ecosystem.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
  2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
  3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  5. No Flaming or Trolling.
  6. No Profanity, Racism, or Prejudice.
  7. Site Moderators have the final word on approving / removing a thread or post or comment.
  8. English language posting only, please.

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved