Posts in Category: Releases

mojoPortal Released

I'm happy to announce the release of mojoPortal, available now on our download page.

Since the last release, the focus of our work has been on improved web farm support. We've completed abstraction layers for the file system and for caching, and we've implemented a log4net appender that can log to the database. We are still working on various providers that can plug into the new abstraction layers and other improvements, so our work on web farm support will continue into October. We've almost completed our support and guidance documentation for Windows Azure, we have some of the web farm documentation online now, but we will be completing that work and making an announcement about it soon. After that we will turn our efforts to more traditional types of web farms using the Amazon EC2 cloud, and the Microsoft Web Farm Framework.

So, for now much of the web farm improvements are just architectural changes that won't be things users will notice. Other highlights of this release include:

  • Implemented an option to log errors and informational logging to the database instead of the file system
  • Upgraded to TinyMCE 3.4.5
  • Upgraded to CKeditor 3.6.2
  • Upgraded to the latest AjaxControlToolkit
  • Updated to latest version of Recaptcha library
  • Updated the google maps to use the new v3 API, thanks to Jamie Eubanks for his work on this
  • Added Whois ip address lookup dialog in most places where ip addresses are displayed

Updated Add On Products

The update to AjaxControlToolkit required us to also make new releases of Event Calendar Pro, Form Wizard Pro, and Web Invoice Pro, because these features use the AjaxControlToolkit and they need to use the same version of the AjaxControlToolit as mojoPortal. So you'll need to upgrade these products at the same time as you upgrade mojoPortal. 

Event Calendar Pro includes new links to allow users to easily add events to Google Calendar, Yahoo Calendar, Windows Live Calendar, and Outlook/iCalendar. We also added a new text area that can be shown during event registration to capture additional information from users who register or purchase tickets for events. You can provide instructions that will be shown above the text area to let your users know what additional information is needed. As mentioned above this version was also updated to use the latest version of AjaxControlToolkit to keep it compatible with the latest version of mojoPortal.

Form Wizard Pro includes a minor improvement to allow file uploads to be configured as optional instead of required. It also was updated to use the latest AjaxControlToolkit for compatibility with mojoPortal


Vote mojoPortal for the 2011 Open Source Awards


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

mojoPortal Released

I'm happy to announce the release of mojoPortal, available now on our download page.

I know it might seem unusual to make a new release on a Sunday on a holiday weekend, but it just worked out that the new release was ready today and since it has some updates that community members have been waiting for I thought I should make it available as soon as possible.

What's New?

  • Added a new prompt in edit screens to prevent accidently leaving the page if there are unsaved changes in the editor. I know I have experienced occasions myself where I was working on a long blog post or article, and by some strange combination of keystrokes it canceled out of the editor and jumped back a page and lost my work. The new prompt will prevent that.
  • Made it possible to browse and preview skins from page settings and/or user profile when per page skins or per user skins are enabled.
  • Users in roles that can manage skins can also have access to user specific skins even if it is not enabled for users in general. This makes it possible to work on skin changes or new skins more easily before assigning the skin to the site in general.
  • Added support for the new google analytics feature that allows Tracking Page Load time, this is now enabled by default. Once you start capturing this data it is available in a new Site Speed report in the new version of Google Analytics.
  • Our homemade tweet this link stopped working recently after some changes at twitter, so we updated to the official widget. This works much nicer now because twitter now has their own URL shortening service to automatically shorten URLs when using their widget.
  • Upgrade to CKEditor 3.6
  • Added unit sales to some commerce reports.
  • Miscellaneous minor bug fixes for things reported in the forums since the last release.
  • Updated translations thanks to our awesome translation team!

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

Form Wizard Pro 2.6 Released

I'm happy to announce the release of Form Wizard Pro 2.6, available now in the mojoPortal Store.

form wizard pro

This is a significant upgrade with major new features. For existing customers who have already purchased Form Wizard Pro, it is a free upgrade. You can always get the latest version of purchased products by signing in to the site using the account that you used to purchase, then click the "My Account" link at the top of the page and then click "Order History", from there you can download the latest version of any add on products you have purchased.

Form Wizard Pro is the most popular add on product for mojoPortal CMS (requires mojoPortal or higher) and a great addition to any site. With Form Wizard Pro you can easily create custom forms and surveys on your site and this release adds a number of the most requested new features including:

  • Support for File Uploads, you can configure it to allow up to 4 files to be uploaded as part of the form submission. You can even have the files included as attachments in the notification email.
  • A new plugin system that allows developers to implement custom Form Submission Handlers to do additional custom processing on the submitted data.
  • Support for per question custom CSS classes to make it even easier to style your forms.
  • A new setting that allows you to leave the details out of the notification email in case sensitive data is being submitted that you would rather not include in email.
  • A new setting that allows leaving out unanswered questions when including the form details in the notification. This can be helpful in saving paper if you are printing the email notifications and have long forms with lots of optional questions.

You can also try Form Wizard Pro on our demo site to see how easy it really is. If you are getting a lot of value out of the free mojoPortal features why not purchase Form Wizard Pro for your site, it will make your site even better and the sales revenue supports the ongoing development of mojoPortal.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook


Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

mojoPortal Released

I'm happy to announce the release of mojoPortal, available now on our download page.

This is not a major update but it does have some things to make it worth upgrading.

Editor Updates

Both CKeditor and TinyMCE put out new releases with bug fixes and updates, many of which are related to IE 9 and Firefox 4.
Upgrade to CKEditor 3.5.3
Upgrade to TinyMCE 3.4.2

There was an error happening under .NET 4 Medium Trust hosting related to our older FCKeditor. Nothing had changed in this editor for a long time so I'm surprised that we had never seen this error until recently. It makes me wonder if there was some behavior change that came with a recent Windows Update. In any case, the error is fixed in this release.

jQuery Updates

We had a bug report about our jQueryUI Date Picker where it was not formatting dates correctly for en-NZ. It turned out that support for en-NZ was only added to the jQueryUI Date Picker as of version 1.8.9, so the solution was to upgrade to a newer version. However, we had been holding off on upgrading jQueryUI because we knew there was an issue in the Time Picker extension that we were using where it did not work with newer versions of jQueryUI than 1.8.6. Fortunately, we found another Time Picker extension for the jQueryUI date picker and it seems to work with any version of jQueryUI.

So we updated to jQuery 1.5.2 and jQueryUI 1.8.11. Note that upgrading is really just changing 2 config settings since we load jQuery and jQueryUI from the google CDN. So if you are using any custom jQuery plugins and they don't work with the newer versions of jQuery or jQueryUI, you could override the version from user.config to keep using an older compatible version of jQuery or jQueryUI.

date time picker screen shot

Support for Newsletter Throttling

It had been requested a while back to have a way to throttle the sending of the newsletter. Blasting out an email to a lot of users in a short time can make it look like spam to some receiving mail servers, especially if you are using a consumer email account or you don't have a well known reputable mail server. So it can be beneficial to limit the rate at which you send the email messages to your list. The mojoPortal newsletter subscriber list is getting pretty large and we had some trouble with our February newsletter due to sending the emails too fast. I got a few non-delivery notifications from and others saying that we sent too many in a short period of time. So it was a priority to implement this before we sent the March newsletter. It really helped as we had no non-deliveries related to sending them too fast. 

There is a new setting that you can override in user.config:

<!-- you can throttle the sending of the newsletter 0 = unlimited/no throttling -->

<add key="NewsletterMaxToSendPerMinute" value="0" />

If you enter a number greater than zero it will sleep for one minute after each round of sending that many. So if you set it to 10, it will blast out 10 in a row and then sleep for a minute and the repeat until it sends to each subscriber in the list. I set it to 10 before sending the March mojoPortal newsletter. Of course the larger the list the longer it will take but you can calculate approximately how long it will take at any given rate and you can use a higher setting to send them faster if you need to. 


Support for custom regex and error message for email validation on the registration page, you can override our defaults with these settings:

 <add key="CustomEmailRegex" value=""/>

 <add key="CustomEmailRegexWarning" value=""/>

Support for more page settings when creating initial content from config files

Support for configuring the Thread UICulture separately from the Culture. The UICulture is only used for choosing the resource files, whereas the Culture is used for formatting numbers, currency, and dates.

This example uses German for the numbers and date formats and uses English for the resource files.

<add key="UseCultureOverride" value="true" />

<add key="site1culture" value="de-CH" />

<add key="site1uiculture" value="en-US" />

Fixed bug in the SQL CE data layer that prevented the Newsletter feature from working in our package for SQL CE.

Lots of updated translations thanks to our Translation Team

Other miscellaneous little tweaks and fixes for things reported in the forums since the last release.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

mojoPortal Released

I'm happy to announce the release of mojoPortal, available now on our download page.

Improved Usability for Multi Site Administration

There is a new site list page, that provides a link for creating new sites and a pageable list of existing sites. If you want to show the site id in the list you can add this to user.config
<add key="ShowSiteIdInSiteList" value="true" />

site list screen shot

Improved Usability for Managing Large Site Hierarchies

When creating or editing pages there has always been a dropdown list for selecting the parent page or you could set it to root for a root level page. When sites have a large number of pages this dropdown list would become unwieldy, so we implemented a new dialog page for selecting the parent page, the dialog pages uses a treeview with populate on demand to drill down to the page you want to use as the parent page so it can better handle large numbers of pages.
The dropdown list is easier to use for sites that don't have a huge amount of pages so we made it continue to use the dropdown if the number of pages in the site is less than 150. You can configure the setting if needed or desired. For example if you prefer to always use the dialog page then you could set it to 0.
<add key="TooManyPagesForDropdownList" value="150" />

New Child Pages Site Map Module

Pages have had a setting for a long time allowing you to show the child pages site map as a menu. This can be very useful especially for pages that are just used for grouping of child pages.
But the child page site map built into the page has some limitations, for example if you want to have content on the page in addition to the child page site map, it could either go above or below the child page site map depending on the position of the control in layout.master

<portal:ChildPageMenu ID="ChildPageMenu" runat="server"></portal:ChildPageMenu>

so it was an either or kind of thing you could not do it differently on differnet pages unless you used a different skin.

So, Joe Davis implemented a new Feature Module for Child Page Site Map that you can put on a page just like any other content feature and this allows you to position it any way you like, even in side columns

Support for Slide Show Pager in Html Content Feature

Again, thanks to Joe Davis who implemented some default css and other changes needed to support the pager for the jQuery Cycle plugin that can be used in the Html Content feature for making slide shows out of html elements.

Image Gallery Improvement

Changed to use colorbox, a nicer lightbox effect instead of the previously used greybox thanks to Jamie Eubanks.

List/Links Improvement

It is now possible to browse in order to link to pages or files within the site, similar to the link browser that was already implemented in the wysiwyg editor, the new link browser populates the url textbox in the List/Links feature.

Support for Roles That Can Manage Users

allows delegating user management to users without making them full administrators.

Registration Page Improvements

Previously we could make custom user profile properties that were required for registration to appear on the registration page, but there was not a way to show optional custom profile properties on the registration page. It is now possible.

The registration agreement is now per site and has an edit page, previously it came from config files and was global to all sites in an installation.

Improvements to the Initial Content System

The Initial Content System is used to populate the first site during installation and to populate new sites when they are created. We've made changes for better support for configuration of nested pages and also created an interface that can be implemented for populating custom features. I will be updating the documentation for the Initial Content System in the next few days and will update this post with a link once it is completed.

UPDATE 2011-03-31 I've updated the article Configuring Initial Content, and added another article Populating Feature Content.

Improvements for Design/Skinning

It is now possible to import and export skins as .zip files and there is a new permission in Site Settings for "Roles That Can Manage Skins". It is also now possible to edit css files in the browser. While it is probably better to do the main skin development on your local machine, it is possible to edit css files in the browser and it is useful for small css tweaks.

You can disable the ability to upload skins and edit CSS by adding this to user.config:
<add key="AllowEditingSkins" value="false" />

I have it disabled for example on the demo site.

skin manager screen shot

There is a new Page Setting that allows page specific css classes on the body tag as well as a setting for page specific menu css classes.

There is a new class on editor body making it easier when you need to override some of the styles in the editor, you can do it with body.wysiwygeditor {} in CSS.

All of the skins that ship with mojoPortal use h1 for the site name and h2 for headings of feature instances. Some designers prefer for SEO (Search Engine Optimization) reasons to not use a heading at all for the site title and use h1 for the feature instance headings. In the past we had a global config setting that could be used to override the heading:

<add key="ModuleTitleTag" value="h2" />

In the new version, it is possible to edit the setting used for feature instances right from the Feature Instance Settings page (ModuleSettings.aspx). The heading is now stored in the database so it is possible to use different headings on different instances. When new instances are created it defaults to whatever you have for this setting: <add key="ModuleTitleTag" value="h2" />

This is an advanced feature and it is possible to put something incorrect for the heading element, so it is disabled completely by default and even when it is enabled it is limited to users in "Roles That Can Manage Skins". You can enable it by adding this to your user.config:

<add key="EnableEditingModuleTitleElement" value="true" />

Since this is a new data filed used for the heading element, existing data will be updated to have h2 which is the default. However if you were previously using the config setting to force a different heading, for example if you were forcing it to use h1 by using this setting:

<add key="ModuleTitleTag" value="h1" />

then you will need to manually update the existing data by running a sql query like this:

UPDATE mp_Modules
SET HeadElement = 'h1'

Then going forward it will use the config setting for the default on new instances.

We also did a lot of work to make menu and treeview rendering more flexible. It is now possible to control which CSS classes are rendered on the menu ul, li and a elements. In the coming days I will be writing documentation about the new settings available and how to use them. I will update this post with links as I progress with the documentation.

The available on the download page also has updated skins for Artisteer 3.0 beta, as well as a number of skins contributed by community member Hennadiy of CMS-Web e-Business Solutions.

As always you should review the sticky thread about important skin changes that you will need to apply to your custom skins after upgrading.

Other Stuff

The friendly urls used in mojoPortal can be problematic for some non-ascii languages, we've had a config setting for a while that could disable it for CMS pages, but it has been requested to also be able to disable it for blog posts. It is now possible to do this from user.config
This setting disables it globally in the blog feature.

<add key="Blog:UseFriendlyUrls" value="false" />

You can also disable it for specific module ids using this pattern, where th number is the module id.

<add key="Blog:UseFriendlyUrls-3" value="false" />

As many of you probably know, javascript wysiwyg (What You See is What You Get) editors don't work in devices such as iPad, iPhone, Android, etc. Historically we have degraded to a plain text area for these devices so at least it is still possible to edit or post in the forums. In this release we integrated MarkItUp textarea editor for use with iPad and smart phones for a little better editing experience than a plain textarea. It is not a wysiwyg editor, it is an editor for html editing, the content in the editor is still raw html but there are convenient toolbar items to help you write the html.

Upgrade to TinyMCE 3.4.1
Upgrade to CKeditor 3.5.2

Many translation updates, thanks to all our translation team members and to the Amanuens service!

Various bug fixes for things reported in the forums since last release.

Corresponding Updates for Add On Products

An Update for NeatUpload is also included and this required us to make corresponding compatibility updates for Form Wizard Pro and Web Invoice Pro. Customer who have purchased these products can get the update from their purchase history under the "My Account" link.

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.