InstantForum 2017 Release Notes



InstantForum 2017 improves several existing areas & adds several highly requested features. We've also continued to improved performance & footprint both on the server and client. Below you can find a complete list of all the new features, improvements and fixes included within our InstantForum 2017 update. We hope you enjoy this update.

New @Mentions

InstantForum 2017 now supports @mentions within conversations. This is a great way to get others involved in new or existing conversations. When composting messages simply type the @ character and type the username of the user you wish to mention. InstantForum will provide a auto complete list of users which will update as you type.

A new @mentions menu is now available within the main navigation on both the desktop & mobile versions of InstantForum. This makes it super easy to view all your latest @mentions. Users can also optionally opt in to receive emails alerts whenever others @mention them within your InstantForum community.

New Merge Support

As a moderator, you can now merge topics within InstantForum 2017. This is helpful if you have several similar or duplicate topics you wish to merge into a single topic.

To merge topics, you can either select the topics you wish to merge when viewing the forum and then choose a target from the selected topics. Alternatively, to merge topics that may exist in different forums moderators can now set topics as merge targets. Once a target has been set you can visit the topics you wish to merge into the target and use the merge option within each topic to merge into your chosen merge target. You can see this below...

If you're upgrading from an earlier version of InstantForum the merge functionality is disabled by default for existing moderators. You will need to edit existing moderators via the InstantForum 2017 Admin CP and ensure the “Can Merge Topics” option is enabled for the moderator before this option will be available to the moderator.

New Split Support

As a moderator, you can now split topics within InstantForum 2017. This can be helpful if conversations go off topic or if someone posts a reply within an existing topic that you feel warrants its own topic.
To split topics moderator can now simply check the reply they wish to split into a new topic and choose the Split Topic option from our standard moderation tools. InstantForum will present several options allowing the moderator to further refine which posts to split. The moderator can choose to split the selected posts into an existing topic or create a complete new topic for the split posts. You can see this below...

If your upgrading from an earlier version of InstantForum the split functionality is disabled by default for existing moderators. You will need to edit existing moderators via the InstantForum 2017 Admin CP and ensure the “Can Split Topics” option is enabled for the moderator before this option will be available to the moderator.

New GitHub Support

With InstantForum 2017 we’ve moved all our source over to GitHub. For our customers, this maens InstantForum 2017 will now play nicely within your own Git based environments.

To achieve this transition, we’ve also removed all physical DLL dependencies within InstantForum and moved 100% to NuGet packages. This ensures binaries are not uploaded to your source control repositories. In addition “.gitignore” files are now provided within the InstantForum 2017 download to ensure only the necessary files are pushed into your source control repositories.

New Soft Delete

With InstantForum 2017 moderators by default can no longer permanently delete topics or replies. Instead messages are now soft deleted by default. This means administrators & moderators can still access the deleted message via the “Mod Queue > Deleted Posts” page and of course deleted messages will never be visible to regular users.

As an administrator, you can still allow moderators to permanently delete messages from the database however this will need to be explicitly enabled via the InstantForum Admin CP by editing each moderator and enabling the “Can permanently delete any topic or reply” option.

New Delete Options

With InstantForum 2017 we’ve improved the deletion process for topics or replies. When deleting messages moderators are now presented with several additional options depending on their permissions. Moderators can for example now issues warnings directly against user accounts when deleting messages or choose to leave the messages in place but replace the message text with the reason for deletion.

Improved Polls

We've revamped the UI when creating polls and added the ability within InstantForum 2017 to edit existing poll answers. You can see below we are editing an existing poll and now have the option to edit poll answers and add or remove poll answers...

New API Explorer

With InstantForum 2017 we’ve introduced the first version of our new API explorer available via the InstantForum Admin CP > Settings area. The new API explorer allows you to explore & test the REST API endpoints offered by InstantForum. Whilst functional this is quite an early implementation and further API endpoints will be added to the API explorer in further updates.

New Search Suggestions

InstantForum 2017 will now display real-time search results just below the search box as you type. If you hover over a result you can also see an abstract of the post text.

New Ignition UI

Delivering a beautiful user interface within our products is critical for us. We want you and your end users to have the best possible experience whilst using our software. We also want to deliver updates quickly whilst maintaining consistently and quality.

To help us achieve these goals earlier this year we decided to formalize all CSS & JavaScript used within both InstantForum & InstantKB. This led us to developing a completely new much more modern UI framework we are calling Ignition UI. InstantForum 2017 now leverages Ignition UI to power all front-end user interface elements and similar the forthcoming InstantKB update will also use our new Ignition UI framework.

You can check out all Ignition UI controls via our online demo.

Initially there are 14 components as part of Ignition UI. These cover common UI elements such as dropdowns, dialogs, panels, buttons, asides, navigation, tooltips etc.
Every new component offers a fully declarative configuration model via HTML5 data attributes meaning you don’t need to write a single line of JavaScript to wire up Ignition UI. This makes it super simple to use & learn but more importantly means absolutely no inline JavaScript is needed within mark-up making for very clean HTML.

With Ignition UI we’ve moved every key UI component into a standalone independent jQuery plug-in. Although the declarative configuration model is preferred all UI plug-ins also have a consistent options object which can be used to further customize the functionality of each component or hook into events exposed by each control.

To complement the new plug-ins and declarative configuration model, we’ve also completely overhauled our CSS to align with the new plug-ins and offer more reusable CSS classes.

Consistently has been key when developing Ignition UI as we didn’t want to have to keep referring to the code or documentation whenever we needed to add a dialog or drop down into the UI.

In addition, we’ve taken great care to ensure the best possible performance with Ignition UI. Although Ignition now offers a much richer set of UI controls it’s only a couple of kilobytes larger than our previous JavaScript & CSS files provided with InstantForum 2016. The InstantForum 2016 bundled and minified CSS & JavaScript totalled 584kb whilst InstantForum 2017 now totals 629kb. We are confident we can make this even smaller still and will continue to refactor & reduce the size of the Ignition UI CSS & JavaScript with forthcoming updates.

We are currently developing Ignition UI internally for use within InstantForum & InstantKB to help us speed up development. Once matured we may consider open sourcing Ignition UI depending on interest so you could potentially leverage this within your own site or application. If you would be interested in this of course please do indicate your interest.

New Post Card

When you hover over any post a new post card will now be displayed showing a preview of the post and additional information such as when you last read the post. If you’ve already read a topic and it’s since been updated you can also jump to the first unread post within the new post card.

Improved User Replication

User replication allows you to replicate user information across other instances of InstantForum or InstantKB. This is helpful for single sign on scenarios to keep user profiles in sync between instances of our software. User replication has been improved with InstantForum 2017 to ensure all profile fields are now replicated across other databases. Previously this was a smaller subset of fields only necessary to achieve single sign. We’ve also improved some aspects such as handling null columns.

You can now also replicate user data across any number of InstantForum or InstantKB databases providing they are compatible with one another. Previously user replication was limited to 1 InstantForum database and 1 InstantKB database. Now you can have any number of InstantForum or InstantKB databases participate in user replication. Currently user replication within InstantForum 2017 is only compatible with other InstantForum 2017 databases and other InstantKB 2016-3 databases. This won’t work with an older InstantKB database. We will of course ensure user replication is compatible with both major InstantForum & InstantKB update.

Improved Theme Roller

We’ve completely rewritten the real-time themeroller previously offered with InstantForum 2016 to now align with our new Ignition UI framework and offer better performance on slower devices. We’ve introduced additional UI components you can now customize via the theme roller. I’m pleased to say the theme roller now offers 100% coverage of every UI element. You should now be able to use the theme roller to customize every aspect of InstantForum.

Improved Social Logins

We’ve improved the existing support for users who authenticate via Google, Facebook or Twitter. We’ve now moved to the latest OAuth standard offered by Google and have also rewritten all 3rd party sign in pages to ensure pop-up blockers don’t prevent users from authenticating using a 3rd party OAuth provider.

Improved User Profiles

We’ve made it easier within InstantForum 2017 for users to manage & edit their profiles. We’ve consolidated various settings into a single “Edit Profile” experience that allows users to now change every aspect of their profile from a single page.

Improved Admin CP

The InstantForum Admin CP has received a small UI update with our 2017 release. Whilst only a small change this is the first step as we work to completely revamp the Admin CP for a future update. We’ve also updated several areas within the Admin CP to leverage the newer controls offered by Ignition UI.

Improved Editor

We’ve improved several areas within the InstantForum editor used to compose new topics or replies. This includes significant improvements when pasting content into the editor across all browsers. This also includes improvements to ensure carriage returns are handled consistently across all browsers and improving several accessibility areas. We've also added a new "Insert Code" dialog with automated syntax highlighting. This also supports TAB and SHIFT+TAB support to easily beautify your code.

Quick Approve

This is a quality of life improvement. Previously to approve posts this required several mouse clicks. To help ease this process with InstantForum 2017 we’ve added a simple “Approve” button just below all queued posts.

Improved FileSystemProvider

We've added support to ensure user profile photos, profile banners & member level images are now stored within the specified file system provider. For example if you have. If you have user replication enabled this makes it easier to share profile photos across both InstantForum & InstantKB.

Notable Improvements

Improved Performance

With InstantForum 2017 we've completely rewritten the way pairing is achieved within InstantForum. The now eliminates the need for a temporary table within SQL Server and offers up to 10x performance over the previous approach. This includes all queries that return topics and search results.

Improved Security

Whilst improving our paging algorithm we've also now moved towards 100% parameterized user. We've also hardened the Share Post By Email option which could previously be abused.

New Insert / Update Post API

We've refactored the InsertPost and UpdatePost methods into a single InsertUpdatePost method and changed this from using a list of parameters to accepting a single post object. This now works similar to other business logic within the InstantForum and InstantASP.Common APIs. We've deprecated the InsertPost and UpdatePost methods and whilst these will still work they are now marked as obsolete. To demonstrate this new API with InstantForum 2017 to create a new topic and add several replies you can now use the much more eloquent code shown below...

// get current InstantASP.InstantForum.Component.User object
var currentUser = base.CurrentContext.CurrentUser;

// construct post helper
var p = new Business.Posts(currentUser);

// add new topic
var newTopic = p.InsertUpdatePost(new Components.Topic()
{
ForumID = 14,
UserID = currentUser.UserID,
Title = "Test Title",
Message = "Test Message"
});

if (newTopic != null)
{
// add several replies to our new topic
for (var i = 0; i <= 10; i++)
{
var message = "Test Message " + i.ToString();
var reply = p.InsertUpdatePost(new Components.Topic()
{
TopicID = newTopic.TopicID,
ForumID = 14,
UserID = currentUser.UserID,
Message = message
});
}
}

Resources.xml

We’ve changed dozens of strings within the user interface to better describe certain areas or features. This includes fixing several spelling and grammatical errors.

Emails.xml

We’ve rewritten several email templates (reset password, account confirmation etc) to better describe why users are receiving email and hopefully provide clearer instructions.

Refactoring

With InstantForum 2017 we’ve undertaken a massive refactoring exercise both on the front end with Ignition UI and on the server site within our C# source code. Developers should find the C# code a little cleaner and hopefully easier to read and understand. The long-term goal for the refactoring exercise is to ultimately make it easier to perform a code migration over to .NET core.

General Improvements

  • New edit button at the very top of every topic page (alongside the topic title). This allowing moderators and post authors to easiest edit the root topic even if topics by newest first.
  • Tag auto-complete, private message recipient autocomplete and add moderator auto-complete have all been rewritten to use our own Ignition UI autocomplete functionality.
  • Improved mobile view. The forum topic & post counts + topic reply & view counts are now always visible regardless of screen size. These now appear below the forum or topic title on smaller screens.
  • If you're subscribed to a forum you're posting a topic within you will no longer have the option within the UI to also subscribe to the topic. This could lead to receiving 2 very similar email notifications if you were subscribed to a forum and also subscribed to a topic posted within the subscribed forum.
  • When viewing a forum or topic you can now tell if you're subscribed to the forum or topic as the subscription button will be green and the tooltip will indicate your already subscribed.
  • We've made it more obvious a topic is closed and not accepting new replies. Previously this was a small lock icon in the top right of each topic. This is now a red label shown alongside the posted date of the topic.

Security Updates

  • Auto complete has been disabled on the login form.
  • Cache expiration response headers have been added to every page request. This ensures if a user logs out you cannot use the browser's back button to see previous state on pages that required authentication.
  • By default every page request now sends back a X-Frame-Options DENY response header. For security purposes this ensures InstantForum cannot be embedded within an iframe. This option can be overridden via a configuration setting if needed.

Fixes

  • Fixed issue that allowed you to post poll answers with just a space
  • Fixed issue that allowed you to post messages that only contained spaces
  • Fixed issues with user post count not updating correctly when approving & queueing posts
  • Fixed issues with replies for edited topic not being queued when topic was queued
  • Fixed issue that would place administrator accounts into awaiting approval group if administrators updated their email via the front-end. This would not prevent admin access but was not intended behaviour.
  • Users within a hidden user role (for example awaiting activation) will no longer appear within the recently online, most active member lists.
  • Users within a hidden user role (for example awaiting activation) will no longer appear within the Forum Activity panel shown at the bottom of the homepage. This includes the who's on lie, birthdays today & latest member.
  • Fixed issue that would hide hidden roles within the role drop down filter on the Admin CP > Manage Members page.
  • Fixed issues when editing IFCode tags that would cause the tags to not update immediately due to cache invalidation issues.
  • Fixed several issues with the threaded view
  • Fixed several issues that prevented you from deleting or sorting some data via the Admin CP
  • Fixed several issues within the editor (pasting from Edge, window not scrolling to cursor position, typing sometimes sluggish). The editor has also been updated to ensure users cannot paste HTML into the editor. This could potentially cause issues with page layout and post formatting. Instead the plain text representation will now be pasted and users should format the post using the tools within the InstantForum editor. We appreicate this is a signifigant change but believe it's the best decision to ensure consistency within your community.
  • Fixed bug where the blog address would show your site address on your profile page

That's It!

​We really hope you enjoy the new features and improvements introduced with InstantForum 2017. As always we are never finished and look forward to bringing you further updates. If we can assist with any questions, suggestions or comments of course please don't hesitate to contact us.