The latest official public release of the mojoPortal Content Management System, mojoPortal 2.9.1, is now available.
Where to Get It?
Head over to our GitHub Releases Page. Please note that all Commercial Add-Ons have corresponding releases and are required to support this release.
What's New?
.NET Framework 4.8
We've updated mojoPortal to version 4.8 of .NET Framework for the latest security patches and performance updates.
We had considered going to version 4.8.1, but 4.8.1 only includes updates to the Windows UI and Windows Forms frameworks, and ARM64 support.
Since 4.8.1 doesn't offer mojoPortal any advantages and it would remove support for Windows Server 2019, we believe that version 4.8 is the best option for mojo.
OpenID Connect/OAuth
We've updated mojoPortal so that site owners can configure their sites with an OpenID Connect. See our documentation for setup information.
Compatible Identity Access Management providers are:
- Keycloak (i7MEDIA's current favorite)
- Microsoft Entra ID - coming soon
- Auth0 - coming soon
- Active Directory Federation Services - coming soon
- ForgeRock Identity Platform - coming soon
- etc.
This brings all the advantages of OpenID Connect to mojoPortal such as:
- Single Sign-On across multiple applications
- Two Factor Authentication
- Third Party (Social Media) logins
- and more
This update will remove the obsolete OpenID setup which relied on Janrain Engage. This service was no longer stable and extremely difficult to setup due to broken pages on the third party Janrain website. User accounts created using the old setup will be retained but users will need to request a password reset. The configuration tab under Site Setttings\3rd Party Auth is still available but is no longer used. It will be removed or repurposed in a future release.
SuperFlexi Social Links Solution
We added an option for the Nextdoor: Neighborhood Network social networking service to the Social Links solution.
Better OpenGraph Support
OpenGraph meta elements are now created for every page automatically.
Misc
- MySQL 8+ is now required for MySQL installations. If you are running an older version you can delete the contents of the 2.9.0.3 mojoportal-core upgrade script to make this version work with it. More changes will be made in future releases so you need to get your database environment upgraded ASAP.
- Added a way to configure the information for default admin account.
- Added "Restore Skins" and "Copy New Skins" buttons on the Site Settings page.
- Cleaned up the Setup page. Added context and some style. Still in need work.
- System Log download will use site name in filename.
- Contact Form: You can now select which Rich Text Editor you want to use for the Message field.
- Redirection to canonical preferred domain respects SSL settings.
Bug Fixes
- Fixed issue in the SkinConfig code that was causing the site to error at random times.
- The Avatar was not properly updating on the User Profile and Manage Users pages.
- The iFrame module had an issue where its module title wasn't using the same elements as every other module.
- Some skin file URLs were incorrect when using Folder based Multi-Tenancy.
- Ensure NeatHtml.js is loaded when using SanitizeHtml method.
- There was an issue with the browser being redirected to a secure connection from an insecure connection while using a Preferred Hostname not using it's Friendly URL.
- Turkey Standard Time was missing (thank you, otuncelli!).
- Fixed styling of LogLevel=FATAL messages (thank you, otuncelli).
- Fixed incorrect type checking in AuthHandlerHttpModule (thank you, otuncelli).
- The File Manager wasn't enforcing the
.zip
extension when using the Compress action.
- The File Service was unzipping files types that it should not have.
- The File Picker control in SuperFlexi would overwrite the file URL with a full path when editing an existing item.
- Sometime values wouldn't be properly converted when doing an import in SuperFlexi.
- Added validation to fields in several features.
Other Changes
- Deprecated FolderGallery feature. Users should switch to BetterImageGallery
- Removed obsolete HtmlView.aspx
Developer's Corner
- Added "textarea" option for ControlType in custom ModuleSettings
- Added RazorDropDownList control to support option groups
- Moved StringExtensions, StringHelper, and XMLHelper from mojoPortal.Web.Framework to mojoPortal.Core
- Added methods to get site specific web.config settings
- Removed ConfigHelper from mojoPortal.Web.Framework
- Added GlobalUsings to most projects
- Removed mojoPortal.Business.ImageHelper
- Consolidated Panel classes
- Removed several obsolete controls and classes
- Removed EmptyPanel usage in aspx and ascx files
- Moved SMTP classes from mojoPortal.Net to mojoPortal.Web. Left namespaces as mojoPortal.Net.
- Removed mojoPortal.Net project.
- Added CollectionExtension class with ToDictionary and ToDelimitedString methods
- Consolidated ListExtensions and CollectionExtensions
- Added FileSystemHelper to make loading file system easier, less repeated code.
- Added RemovePunctuation to StringExtensions
- Added HashtableExtensions
- Added Union StringExtension
- Moved HtmlInclude to its own project under Solution Folder 'Plugins' as an example. May do the same with other features.
- Moved SuperFlexi to Plugins
- Added LinkBuilder string extension to help standardize and sanitize links
- Moved RemoveMarkup and RemoveAngleBrackets from mojoProtal.Web.Framework to mojoPortal.Core.StringExtensions
- Switched to Newtonsoft.Json in StringHelper
- Replaced ContainsCaseInsensitive with Contains override method similar to .net core
- Added PageUrlService
- Added RoleStringHelper
- Refactored SiteLogo
- Replaced Ionic.Zip with DotNetZip
- Localized Email Test strings
- Made service used by QRCodeImage control configurable
- Added CustomCssClass setting to Child Page Site Map, Custom Menu, Recent Content, Sign In, and Site Search modules.
- Default Modal template is added to the body element if phSiteFooter isn't found.
- Changed modal script to use event delegation
- Added callback option to mojoModalScript.js
- Cleaned up Subkismet and SimpleMath captcha code and layout
- Changed Admin Menu to use JSON for extra menu items
- Cache Tool now clears HttpRuntime, TinyMCE caches
Skinning & Design
- New Menu Control supporting Razor/CSHTML Templating. Framework skin will use this control.
- Replaced failsafe layout.Master with framework
- Expanded skin config.json to support DisplaySettings and EditorConfigs
- Updated RSS Styling
- Help dialog now uses bootstrap CDN, it no longer uses the CSS Handler
- Removed obsolete controls, check "Upgrading Skins" documentation for more information.