Today, we're pleased to announce the release of mojoPortal 2.6. We had planned on releasing this version much sooner but we kept adding features! In the future, we're planning on releasing about once per month. Larger features will take more time but our community shouldn't wait for smaller enhancements.
With this release, we're introducing SuperFlexi and the Blog Post List modules. We also have a lot of enhancements and new features for existing modules. Finally, we've made some improvements to Framework and we're releasing a new free skin called "Scout", which can be downloaded from the mojoSkins project.
Where to Get It?
Head over to our GitHub Releases Page.
The SuperFlexi module is intended to serve as an easy templating system that works as a go-between for front-end developers and users. Developers can easily create "Solutions" that determine, to a large extent, the module's uses; controlling both what kind of input users can store in the database and what markup is created on the page. Users can then simply select a "Solution" in the module settings, and create their content with straightforward easily-understood forms, which will then be rendered as determined by the developers defined markup.
SuperFlexi aims to give end users much easier control over their content, even when that content might normally be quite complicated (as in the case of sliders, tables, structured or gridded HTML, and many other things). Possible uses for SuperFlexi are virtually limitless and we're really excited to be adding it as a core module in mojoPortal 2.6.
With mojoPortal 2.6, we're including 8 solutions; Accordion, Banner Slider, Icon Blocks, Image Blocks, Personnel List, Quick Links, Social Media Links, and Tabs. Each of these is demonstrated on the mojoPortal Demo Site. Please note, SuperFlexi does not currently support SQLite and PGSQL. We should have support for those database platforms in a couple of weeks.
To learn more about SuperFlexi, check out the documentation. We've also created a new Forum, just for SuperFlexi.
Blog Post List Module
So, for a very long time, the official guidance for showing a list of blog posts on pages other than the page your blog is on was to use the Feed Manager to consume your blog's RSS Feed. This meant that the Feed Manager had to make an http(s) connection back to your site, consume the feed, cache the feed contents in the database, and then query the database for the cached contents. Granted, the connection and subsequent caching only happened on a set interval but it was very unnecessary. We decided to cut out the middle-man (Feed Manager) and create a module which connects directly to a chosen Blog module and displays the posts. We went a step further by creating a Razor View Engine for this new module. Yes, you read that right, Razor. You can create Razor views to control the display of this new module.
To learn more about the Blog Post List module, head over to the documentation.
We spent some time on the Blog and besides the wonderful new Razor-enabled Blog Post List, we have added Post Featured Image, Blog Featured Post, and automatic Meta Content creation for Facebook, Twitter, and Schema.org.
Post Featured Image
You can now easily add a featured image to each of your blog posts. This image will be used in the meta elements added to the page for Facebook, Twitter, and other social media outlets. The image is also treated a bit special by the Blog in that it is shown at the top of posts. More on the Post Featured Image.
This feature allows you to set a single post in your blog as "Featured". That post will always be at the top of the post list, even when using the Blog Post List module. More on the Blog Featured Post.
Automatic Meta Content Creation
Sharing posts on social media is a lot easier now because the special meta content markup that is necessary for sites like Twitter and Facebook to show correct titles and post images is now automatically added when you create a post. You can even edit the meta content that is created by editing the post and clicking the "Page Meta Data" tab (we're gonna change that to "Post Meta Data" in the next release).
Other Blog Updates
- Added Display Settings for the Blog module to allow for easier skinning via CSS classes
- Updated to actually move the blog navigation in markup instead of changing places with CSS * floats for easier styling
- Cleaned up a lot of the default markup
- Panels with no child elements will no longer be rendered
- Added option to include comment body in comment notifications
- Added SkinID="Blog" to CommentsWidget
- Removed "Feed Links". These were links to old MSN, Yahoo and other defunct feed managers.
- Added option to allow Post Title to be used as Page Heading when the PageHeading (or PageTitle) control is used in the layout.master for the skin
mojoPortal now requires ASP.NET 4.6.2, which was released in August of 2016. Most hosting providers already support 4.6.2 so you should be fine upgrading your site. If your host doesn't support it and you purchase a hosting plan with i7MEDIA, we'll move your site for free.
mojoPortal will now enforce using TLS 1.2 for outgoing connections. This is important for connections to payment processors like Authorize.Net, WorldPay and PayPal.
The Site Settings page has a lot of options for configuring your site. We're actually working on moving more stuff from the web.config to the UI so it'll be easier to configure your site. Knowing that we are going to be adding even more to Site Settings, we implemented a few changes and reorganized some things to make using the Site Settings page easier. In the future, we plan on breaking this single page up into several smaller and more task oriented pages. In this release, you'll notice the following:
- "Site Title" field moved to the General tab
- "New Site" link removed (to add another site, go to Administration > Site List)
- Skin options grouped on the General tab
- Content Editor options grouped on the General tab
- Registration options grouped on the Security > Main tab
- User Account options grouped on the Security > Main tab
- "Avatar System" option moved to User Account group under Security > Main tab
- Password options grouped on the Security > Main tab
- Security > OpenID tab renamed to "3rd Party Auth"
- OpenID options grouped on the 3rd Party Auth tab
- Windows Live options grouped on the 3rd Party Auth tab
- "Host Name Mapping" and "Folder Name Mapping" moved to a single tab called "Site Mappings".
- "SMTP Settings" tab renamed to "Mail Settings"
- "Mail Settings" tab is always visible with information on how to enable the fields there. New sites will, by default, use this area for SMTP settings. You can enable this on your site by following the instructions here.
- "Default Email From Address" and "Default Email From Alias" moved to "Mail Settings" tab
- Reordered Recaptcha Site/Secret keys to match order on Recaptcha site
- Added several contextual notes throughout the Site Settings page
This change log isn't exhaustive because a lot of changes are already listed above. If we didn't list it above, it should be listed below.
- Updated mojoPortal to ASP.NET 4.6.2 and C# 7
- Updated mojoPortal source code to use latest NuGet package management
- Added RazorBridge method to allow use of MVC Razor Templating in Web Forms controls
- Added MVC HTML Helper for internal Avatar and Gravatar use in Razor templates
- Added Link control for inside/outside markup of the link
- Added AutoEscapeStringForCsv method for exporting data in CSV format
- Updated Gravatar in Forums to link to mojo user profile by default
- Fixed File Manager/Page Picker for folder sites and sites running in a virtual directory
- Moved First Name and Last Name fields to the General tab in the User Profile.
- Added option to include comment body in notifications
- Added ExportDynamicListToCSV method to ExportHelper
- Added ImportHelper with GetDynamicListFromCSV method
- Removed calls to jQueryFileTree and removed from ClientScripts
- Removed calls to jQueryLayout
- Removed call to greybox from Contact Form
- Fixed possible XSS bug in help dialog, reported by Jarrod Farncomb of TSS (CVE-2017-1000457).
- Removed WebStore from core (will be available as a separate download from the AddOn store)
- Cleaned up user.config.sample file
- Standardized on "Login" instead of "Sign In" (both were used before now)
- Added Security Protocol information to "Security Advisor" (Administration > Security Advisor)
- Added CombinePath method to DiskFileSystem file system provider.
- Added FolderVirtualPath property to WebFile
- Added NameProperty and ContentProperty to ContentMeta. This allows for creation of meta elements with custom names <meta property="foo" value="bar" /> instead of only allowing for <meta name="foo" content="bar" />
- Added FormGroupPanel control for settingrows to control their classes
- Updated Site Settings page to use new FormGroupPanel control
- Updated the Layout.Master.cs to expose SiteSettings (siteSettings), PageSettings (currentPage), isCmsPage and isMobileDevice to the Layout.Master for richer skinning functionality (Check out the layout.master in the Nature theme)
- Updated CSSHander to allow for "https://" and non-http-specified ("//my-domain.com/") url calls
- Updated Avatar.cs with new ExtraCssClass property
- Cleaned up markup of CommentsWidget
- Added themeable properties to CommentsWidget to help with skinning
- Added themeable display settings for Contact Form
- Cleaned up markup of the RelatedNewsletterSetting control
- Cleaned up markup of HTMLCompare feature (used by version history)
- Fixed Inline Editing in HTML Module for selecting files/images
- Fixed CSSHandler for HTTPS URL calls
- Fixed missing CKEditor Image2 Alignment Classes
- Added InsideTopMarkup to replace LiteralExtraTopContent in BasePanel
- Added InsideBottomMarkup to replace LiteralExtraBottomContent in BasePanel
- Removed the .LESS CSS Utility from the Administration area. We recommend using a tool like Prepros for LESS management.