Mojoportal Versions Save

mojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET.

v2.9.0.1

9 months ago

This release is largely to fix an issue with 2.9 where the version number wasn't properly increased during setup on 2.9.

Full Changelog: https://github.com/i7MEDIA/mojoportal/compare/v.2.9.0.0...v2.9.0.1

v.2.9.0.0

11 months ago

Highlights

  • GA4 Support
  • hCaptcha support
  • Keyword Blacklist
  • Full Razor (cshtml) support in SuperFlexi
  • Performance improvements in large SuperFlexi datasets
  • Skin-based styles and templates for use on content in editors (ckEditor and TinyMCE)
  • AirDatepicker replaces other datepickers by default
  • Homepage Override option (Settings Settings > Advanced)
  • Custom SMTP Headers and SMTP testing tool
  • many 3rd party library updates
  • many feature and bug fixes
  • AjaxControlKit removed from base mojo, now only required for FormWizardPro

Commercial Modules

ALL COMMERCIAL MODULES WILL REQUIRE AN UPGRADE TO USE THIS VERSION OF MOJOPORTAL

We have updated the mojoPortal website store with the new versions of all commercial modules. You can download those files from your Order History tab in your user profile.

Detailed Change Log

CORE

  • (C) Updated mojoPortal to target ASP.NET Framework 4.62
  • (C) Set the default time zone to Central Standard Time (CST) - we're Missouri boys after all
  • (C) Moved languages to their own project
  • (C) Documentation notes for Visual Studio usage
  • (C) Http/Https sessions now clear when users log off
  • (C) Resize icons used for delete and settings
  • (C) Rename UseFoldersInsteadOfHostnamesForMultipleSites to UseFolderBasedMultiTenants
  • (C) Update msajax bundling
  • (C) DialogBasePage now inherits from mojoBasePage
  • (C) mojoMembershipProvider
    • unified to one set of public virtual methods for all encoding and decoding
    • Allows creation of a custom membership provider by only overriding the Encode/Decode methods without needing to touch other logic unless needed.
  • (A) Caching of site host mappings (domains and folders) with Site IDs.
  • (A) TimeCssClass option to jDatePicker
  • (A) New mojoPortal Core project for the core utilities of mojoPortal - migrated config and utils to the new project
  • (A) Tag Service
  • (A) Caching and an expression builder to mojoPortal.Core
  • (A) Added a note to the heading info above the form to inform user that the managed user has been flagged as deleted in ManageUsers.aspx
  • (A) hCaptcha as a drop-in replacement option for reCaptcha, either one can be used when set in sitesettings or globally in web.config
  • (A) PageSelector setting to be used in ModuleSettings for custom modules so they can choose page Urls for settings
  • (A) PaymentGatewayType to PaymentGateways, to begin removal of hard coded gateway types
  • (A) Automatic lang attribute creation on the HTML element. This will use the browsers "culture" unless the culture is overridden by the UseCultureOverride web.config setting
  • (A) Search fucntion on RedirectList page
  • (A) Options allowing for userprofile link and resource file to OverrideFormat on WelcomeMessage.cs
  • (A) Avatar control updates
    • Added LinkTo... options in hopes to make this control a bit friendlier to skin developers while maintaining backwards compatibility. The overall goal is to be able to link to a user's public or private profile from the skin, even if gravatar is used and have those links when mojo is installed in a virtual directory or the site is a folder-based tenant.
  • (A) DevTools > ServerVariables now shows Session keys
  • (A) Allow use of Number, Color, Range, Password, and Email inputs in ModuleSettings
  • (A) Dialog/Modal templating controlled by skin
  • (A) Method to FileUploadControllerto remove scripts from uploaded XML files.
  • (A) ShowInMenu and CssClass to SitemapJson service
  • (A) New XmlHelper to standardize turning of XmlResolver by default
  • (A) New SkinConfigManager to allow skins to set options for various tools, config is saved in skinfolder/config/config.json
  • (A) Controller to fetch and update UserProfile info
  • (A) mojoButton now supports button element
  • (A) "data-loader" attribute added to many script and link elements to allow easier identification of what feature is adding those to the page
  • (A) method for converting delimited string of int to List<int>
  • (A) Newtonsoft Serializer to Core project
  • (A) StaticFileExtensions is now configurable
  • (A) Support for automatically adding lang and dir attributes to HTML element
  • (A) Allow turning off HSTS headers so they can be managed in server
  • (F) do not load content of register page on redirect
  • (F) User avatar related issues
  • (F) Confirmation dialog to prompt undelete instead of delete when the undelete button is used
  • (F) Rendering issues with SiteLabel and mojoLabel
    • (F) issue with the SiteLogo rendering malformed HTML
  • (F) Issue with FriendlyUrlSuggestion to trim the query string
  • (F) Issue with search results not working correctly within "gecko" browsers (ex. firefox)
  • (F) Issue with Folder MultiTenancy and MyFiles not working properly
  • (F) Issue with the virtual path not receiving a siteID
  • (F) Issue where the CssEditor in the "Design Tools" will allow someone with skin editing permissions to see files located anywhere on the site, including the web.config.
  • (F) Issue with the Recover Password page was corrected
  • (F) UIHelper.SetOrAppendCss now checks if class exists before adding
  • (F) RedirectToAccessDeniedPage was not using mojo's custom AccessDenied.aspx page, just returning a 403 to the browser.
  • (F) Require files to be within the correct skin folder when editing them in the CSS Editor
  • (X) Removed PrototypeWeb
  • (X) Removed obsolete mono code
  • (X) Removed Flash media player
  • (X) Removed CodeSmith Templates
  • (X) Removed old scripts from ClientScript
  • (X) Removed websnapr, flash, qtfile, impromptu, sizzle, SiteOffice, ImageFit, ClueTip, MarkItUp, YahooMediaPlayer, FlickrGallery, Yui, greybox
  • (X) Removed obsolete controls and pages
    • FileDialog.aspx
    • Admin\Controls\AdvFileManager.ascx
    • Admin\FileManager.aspx
    • Admin\FileManagerAlt.aspx
    • Dialog\FileManagerAltDialog.aspx
    • Dialog\FileManagerDialog.aspx

SSL

  • (C) All pages now force SSL by default when SSLIsAvailable.
  • (C) ForceSSL checks to see if SSLIsAvailable and only forces SSL if it is, making other code simpler because one no longer needs to check SSLIsAvailable before calling ForceSSL
  • (F) Issue with Azure not recognizing the SSL correctly

Role Manager

  • (A) Display Name, System Name and Descriptions to Roles. System Name cannot be changed but Display Name can.
    • (C) Updated code in Roles to use the Display Name when creating roles during setup and simplified the code for listing the roles in module settings
  • (A) Descriptions to roles
  • (F) Issue with roles being escalated to full administrators

Login/Register Pages

  • (C) Updated LoginControl to use SkinID on all SiteLabel controls
  • (F) Register page to properly format title, set to match the login page
  • (F) Tab order on registration page. added a tabindexoption to capthca controls to fix this
  • (F) Issue with the ConfirmRegistration Url not encoding properly
  • (X) Removed Fieldset/Legend from the Login and Register pages

Page Settings

  • (C) PageSettings now fully populates a module upon creating instances of it
  • (C) PageSettings.RefreshModules now always pulls the siteid from the DB

Member List

  • (F) Issue with MemberList filtering
  • (F) Issue with member list encoding
  • (F) Issue with the MemberList view
  • (F) Variable setting issues in MemberList
  • (F) Revised MemberList to make it more user friendly
  • (F) Issue with member list encoding
  • (F) MemberList was not paginating properly in MySQL, PgSQL, and SQLite

WYSIWYG Editors

  • (C) Changed the WYSIWYG editor height setting from 350 to 500
  • (C) Set WYSIWYG hard coded content templates to not be included by default
  • (A) Skin-based Style configuration and Content Templates
  • (C) NeatHtml elements now use data attributes to improve selection of them by scripts

FILE MANAGER

  • (A) Methods to include user folder support
  • (C) Increased default folder and file upload limits
  • (C) When on empty space, allow right-click menu
  • (C) FileSystem revised to avoid null
  • (F) Issue with Legacy File Manager resolving #146

FileServiceControler:

  • (C) Method to clean folder names
  • (F) Issue with UserFolder logic
  • (F) Issue with userfolder containing whitespace in folder name

Setup

  • (C) Supported Databases check to be case insensitive
  • (A) Skin version GUID will now be updated upon upgrading mojoPortal

Newsletter:

  • (A) Razor view for Newsletter admin page
  • (X) the display settings control

Localization (Resource/resx Strings)

  • (C) IndexBrowser was moved to Admin folder
  • (F) Issue with SearchResults IndexItem URL
  • (F) Issue with custom CSS regex validation

Security Advisor

  • (C) Use HMACSHA256/3DES for machineKey generation
  • (C) Show more results from HowsMySSL
  • (A) Flags existence of the default admin account and password
  • (F) Fixed generated machinekey not being escaped
  • (F) Issue with errors caused because of insecure ciphers
  • (F) Issue with the serverlog button in Admin\ServerLog.aspx

System Information

  • (A) "Restart Application" button
  • (A) Update Check

Site Settings

  • (C) SiteSettings now avoids null values
  • (A) SMTP testing tool on site settings page
  • (A) Ability to override reCaptcha URLs (this allows us to use feature parity services in place of reCaptcha, i.e. hCaptcha)
  • (A) "Keyword Blacklist" feature allowing site owners to create a list of "keywords" or phrases they don't want to be used in form submissions and implemented it as a Regex Filter so, please be careful.
  • (A) AirDatePicker js to ClientScripts
  • (A) Method to catch null when checking for roles
  • (A) A site setting to add elements to the HEAD or just above the closing /BODY element without the need to add to the layout.Master file. Separate content can be added for admins.
  • (A) Custom SMTP Headers
  • (A) HomepageOverride feature - see GitHub for details
  • (A) Button to Site Settings for changing password format. Button must be clicked before password format dropdown is enabled.
  • (A) Google Analytics 4 support. Using UA- account code will use old analytics. Using new G- account code will use gtag.js scripts
  • (F) Fixed resources used for the SiteSettings page

web.config

  • (C) Set Web.config to not override the current culture settings by default
  • (A) PrivateProfileRelativeUrl and PublicProfileRelativeUrl keys controlling profile page URL to make it easier for developers to replace the ProfileView and UserProfile pages
  • (A) web.manifest mimeType to web.config
  • (A) Log404Errors key to disable 404 error logging, default is false on new installs
  • (A) IncludeVersionInCssUrl key, default is false. Showing the mojoPortal version could be a security risk IF a bug is found in a specific version
  • (A) UseHSTSHeader key, defaults false. Allows turning off mojo's HSTS headers so they can be managed by the server. This replaces hard-coded HSTS headers mojo was using.
  • (A) HSTSHeaders key, defaults "max-age= 63072000;".

Design/Skins

  • (C) CacheTool now clears the theme.skin cache when the skin version is updated
  • (A) Additional AdminDisplaySettings to site settings See Class on GitHub
  • (A) Ability for skins to contain content templates which can be used by CKEditor
  • (A) Razor for the MemberList and Admin menu pages
  • (A) CoreDisplaySettings class
    • using in login.aspx register.aspx pages
  • (F) Admin menu and PageLayout icons, allowing them to work properly with older skins

DATABASE (current 2.8.0.6)

  • (C) Refactored and cleaned up the conectionString Class
  • (C) Function for UserCount
  • (A) A search to the redirect list
  • (A) A column display name to the roles table in the database
  • (A) SystemInfo caching
  • (A) Procedure to update the skin version GUID for all sites
  • (A) A foreign key to TagItems so that a cascade delete can happen

MSSQL

  • (C) Stored procedures to update tag count when tags are created, altered or deleted
  • (C) Stored procedure to update roles
  • (C) MSSQL 2.8.0.5 upgrade Script to fix a search issue with alphabet sorting in MemberList
  • (C) refactored CSVSplitter, renamed to SqlDataRecordList
  • (F) Incorrectly named parameters for DBTag

PGSQL

  • (F) Issue with the tokens not matching the parameters being set in mojoPotal.Data.pgsql
  • (F) Issue with incorrect parameters being used in DBContentMeta

SQLITE

  • (F) Issues with DBContentMeta having incorrect parameters being used

3rd Party Library Updates and Additions

Not all libraries are used in all projects.

  • CSVHelper 28.0.1
  • log4net 2.0.15.0
  • CKEditor 4.21
  • TinyMCE 6.4.1
  • Newtonsoft.Json 13.0.1
  • PDFsharp 12.0.3

FEATURES

Blog:

  • (C) metadata editing, making it more user friendly
  • (A) extra CSS class setting to the definition in the blog post list
  • (A) a module to PostListModel class
  • (A) additional options for content settings
  • (A) a fall back to default in BlogPost List
  • (A) no longer indexing blog posts that aren't published
  • (F) a bug with expired blog posts
  • (F) a bug where featured post could be set on unpublished posts
  • (F) Issue with 2.6.2.0 MSSQL upgrade script where there was a missing GO in the upgrade script
  • (F) metacontent delete button warnings so that it works
  • (F) the featured post settings to not show on archive or category pages
  • (F) Issue with deleted featured posts throwing an error
  • (F) Issue with metadata not changing if the corrosponding featured image not being set
  • (F) Issue for folder multitenant in PostListRazor
  • (F) attachment upload error not displaying
  • (X) Empty featured image meta tags

Custom Menu:

  • New feature allowing menus to be created from Site Map data by choosing a starting page. Menu is built automatically.
  • Can be easily themed with razor

Forums:

  • (A) methods to prevent html from being added to the forum title or subtitles of the thread to increase security
  • (F) an issue where imported strings were not working correctly in threadlist.
  • (F) an issue where last updated thread wouldn't be correct after deleting a thread

EventCalender:

  • (C) Defined ShowTime and EnableMap options
  • (C) Now uses a Short time pattern on start time in the month view
  • (A) ShowMap option

Feed Manager:

  • (F) Issues with SSL in FeedManagerModule

Google Translate:

  • module will show by default on SSL pages now

Contact Form:

  • (C) the name of the blocked keywords setting name from ContactFormBlockedBlockedBadWords to BlockedBlockedBadWords
  • (A) bootstrap and fontawesome to the message list
  • (A) keyword blacklist list options
  • (A) an outerwrapper class
  • (X) fieldset to fix issue presented for screen reader users
  • (X) spam inducing UseInputAddressAsFromAddress
  • (F) Pathing issue for sites contained within subfolders
  • (F) Issue where sites not using media folder would not show images
  • (F) Issues with NivoSlider
  • (X) Silverlight options

SuperFlexi:

  • (C) Set module instances to always set the siteId
  • (C) Pre and post token strings can now contain tokens for fields occurring before the field with the pre and post token strings, and will be replaced with correct values
  • (C) Performance improvements through use of SuperFlexiHelpers
  • (C) Allow users to set the name of export files in /SuperFlexi/Export
  • (C) Set Baner/Slider autoplay to true by default
  • (C) Implemented Razor within superflexi accordion solution
  • (C) The SuperFlexiHelpers file using statements
  • (C) JSON to render CheckBoxReturnBool as a Boolean value
  • (C) API files to return boolean for checkboxes
  • (C) API to RenderJSONofData
  • (A) Log fielddef is not found
  • (A) Quick image Solution in Super Flexi
  • (A) An advanced file picker feature
  • (A) Text resource items for use in AFP Razor template
  • (A) View roles and editroles parameters
  • (A) A better SSL check for Azure
  • (A) StartFolder option to *Picker control types
  • (A) CSS allowing for PNG with only white colors to become visible
  • (A) An IsEditable parameter to razor to hide the controls as needed
  • (A) Native paging support for solutions using Razor
    • (A) PageSize module setting
  • (A) "Cookie Consent" solution
  • (A) Debug option to solution definition
  • (A) MaxItems setting in Module Settings
  • (F) An issue allowing markup definition to be reloaded upon editing
  • (F) The modal spinner position within urlbrowserinput.css
  • (F) An issue with RebuildIndex not working properly
  • (F) ModuleLinks pathing for folder-based tenant sites
  • (F) Issue with SSL settings
  • (F) Issue in the Importer where an error is thrown when importing items with existing Guid and SortOrder columns having no value
  • (F) Banner/Slider Solution CSS issue where the edit slide button was inaccessible
  • (F) Issue with Accordion Solution where the colors were not displaying correctly
  • (X) Removed Google+ from social links solution

DATABASE (current version 0.0.2.2)

MSSQL
  • (C) Streamline database API logic
  • (C) Updated Parameter counts in both the create and update functions of DBFields
  • (A) GetAllForSolution in the API
  • (A) A stored procedure to add the viewroles and editroles parameters
  • (A) Support for the View/Edit roles feature
  • (F) The stored procedures for SelectForModuleWithTermAndField used by the API
  • (F) Pagination issue for API
MYSQL
  • (C) Updated SQL queries to match those found in MSSQL
  • (A) Added GetAllForSolution in the API
  • (F) Issue with IsDeleted parameter
  • (F) Syntax errors in the SQL for items table
  • (F) Syntax errors in SQL queries for fields fieldvalues items and searchDefinitions
PGSQL
  • (C) Updated SQL queries to match those found in MSSQL
  • (F) Fix issue with update query in DBFields
  • (F) Fix issue with isdeleted setting in DBFields
SQLITE
  • (C) Updated SQL queries to match those found in MSSQL
  • (F) Fixed issue with IsDeleted parameter
  • (F) Fixed a syntax error in creating the items table

Full Changelog: https://github.com/i7MEDIA/mojoportal/compare/v2.7.0.0...v.2.9.0.0

v2.7.0.0

5 years ago

Highlights

  • Better Image Gallery
  • MySQL 8 Support
  • pgSQL and SQLite support for SuperFlexi
  • Granular Permissions in Shared Files Module
  • Submission Limit added to Survey
  • Google Maps fixes

More Info

Check out the mojoPortal Blog for more information.

v2.6.0.0

6 years ago

What's New?

  • SuperFlexi
  • Blog Post List Module
  • Blog Post Featured Image
  • Blog Featured Post
  • Requires .NET 4.6.2

More Info

Check out the mojoPortal Blog for more information.

v2.5.0.0

7 years ago

What's New?

  • File Manager
  • Page Manager

More Info

Check out the mojoPortal Blog for more information.

A Note About SQL CE and Firebird

We had several problems getting either of these to run properly. Looking at the stats, neither of them were downloaded very much and the 2.4.1.0 SQL CE version didn't run either while 2.3.0.9 did but it's 1.5 years old. We didn't want to delay this release any longer so neither of these database platforms are included in this release.

v2.4.1.0

8 years ago

This is a maintenance release.

What's New?

  • upgrade to the latest version of ajaxcontroltoolkit
  • upgrade to the newer, more user friendly recaptcha - Thanks Joe Davis!
  • update to the new preferred endpoint for Authorize.NET
  • various minor bug fixes

Note that there are corresponding updates to some of the add on features from mojoPortal Store because some of those features also depend on ajaxcontroltoolkit and must use the same version as mojoPortal

v2.4.0.9

8 years ago