New Project - HTML 5 Skins for mojoPortal - We Need Designers!

HTML 5 Logo

I mentioned in our mojoPortal release annoucement that we would soon be announcing a new project to get more designers involved with mojoPortal. This project is now on Codeplex at We welcome any designers who would like to participate in this project to help showcase the design possibilities of mojoPortal CMS using HTML 5. You can read more about the goals and rationale for the project on the codeplex page, and contact me if you would like commit access to our Mercurial repository to add and evolve your own skins and designs. Or if you are not familiar or comfortable using Mercurial you can send the files to me and I will add them to the project. You can find participation guidelines here.

In mojoPortal CMS design is completely de-coupled from functionality so it can be styled in almost limitless ways by good designers. However, in spite of this, people often judge mojoPortal CMS by the included skins and since the few skins that we have been shipping with mojoPortal are created by developers who are not designers we believe that the included skins have not presented mojoPortal in its best light. Therefore we invite/beg real designers to get involved with this project to help produce some really nice looking modern HTML 5 skins for mojoPortal. We need your help!

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 CMS, available now on our download page.

What's New?

Full Support for HTML 5

New example skins based on Twitter bootstrap, and Zurb foundation, including better support for use of newer html 5 structural elements (like article, nav, and aside) configured from In these example skins we are using article and header for HTML Content and blog features and aside for page and blog side columns as well as nav to wrap the menus and paging links. There are some comments about the use of these elements as well as links to advice about their usage contained in the style.config file of the example skins. Studying the files for these skins is a good way to learn about a lot of configuration options for layout and rendering that are not yet documented in detail elsewhere. These example skins are not prettied up, they are meant to be used as a starting point for designers who will pretty them up. Stay tuned for an announcement coming up soon about a new project for mojoPortal skins based on HTML 5, we will be looking for designers to participate in this project to help show off the full design potential of mojoPortal. The new example skins are in the file on our codeplex download page but later we will be moving them into the new project for HTML 5 Skins for mojoPortal where we hope to expand on the examples and get more designers involved.

We've also added support for LESS by integrating DotLess. .less files can be used in skins and will be combined and converted to CSS using DotLess by our CSS handler. We have one example skin based on Twitter bootstrap that uses raw .less files and one that uses only CSS. See the article Using HTML 5 with mojoPortal for more details.

We've also revamped most of the Administrative pages to make the markup more consistent and easier to style.

Support for Facebook Comments

We've added support for Using Facebook Comment System on pages and in the Blog as an alternative to our support for Disqus and IntenseDebate.
Requires adding this in layout.master file of the skin, just above the <form element:
<portal:FacebookSdk ID="fbsdk" runat="server" />
and a Facebook AppId must be entered either in Site Settings or in user.config

<add key="FacebookAppId" value="xxxxxxxxxxxxxx" /> 

The Blog also now supports showing related posts based on tags/categories.

Forum Improvements

Forum threads are now indexed as one item in the search index where previously each post was a separate item which could produce multiple search results for the same thread. Use of the new indexing approach requires adding this to user.config:
<add key="Forum:AggregateSearchIndexPerThread" value="true" />
and rebuilding the search index. I think this change has helped a lot on this site, it is much easier to find things in the forums now using search.

HTML Content Improvements

New options in Html Content feature to show the created date, created by, last modified date and last modified by.
New option for highlighting the differences in text when comparing a draft to the live version or when comparing to version history

Image Gallery Improvements

Added an option to use Nivo Slider in the image gallery.
Added a config setting to allow automatically deleting images if the image gallery instance is deleted. By default, it does not do that since you may have used image gallery images in other content.
To enable it, add this to user.config:
<add key="ImageGallery:DeleteImagesWhenModuleIsDeleted" value="true" />

Newsletter Improvements

Added button to re-send verification email for unverified addresses
Added functionality to allow opting in all site members to a newsletter if they have not previously opted out of any newsletters

Miscellaneous Improvements

Changed from RewriteUrl to Server.TransferRequest (based on a config setting and only works in Integrated Pipeline mode), this makes IIS log the friendly URL instead of the real URL (ie Default.aspx?pageid=x) making the IIS logs more useful. With the EU cookie law and growing use of Do Not Track, it is becoming more problematic to rely solely on google analytics for traffic analysis, we expect to see more people going back to log analysis.

Upgrade to the latest June 2012 release of AjaxcontrolToolkit. This also required new releases of Form Wizard Pro, Event Calendar Pro, and Web Invoice Pro because they must use the same version of the toolkit controls as mojoPortal. Customers who previously purchased these add-on features can download the latest version from their purchase history under "My Account"

Form Wizard Pro also has some new features including an HTML question type that shows a simple WYSIWYG editor, an Email question type that automatically validates email. A new option to send the submitter a copy of the form submission data, if enabled it will be sent to each email address from an Email question type on the form. There is also a new option to allow redirecting to a different page after the form is submitted instead of just showing the thank you message.

Add support for settings width of google and Bing maps using a percent instead of pixels
New sorting options on the member list page to allow sorting by join date so it is easy to find new members
Updated to the new Bing Search API

New provider plugin system for user profile updated handlers to allow custom code to execute when a user profile is updated (thanks to Huw Reddick).
New provider plugin system for user pre-delete handlers allows custom code to execute when a user is about to be deleted

Upgrade to TinyMCE 3.5.4
Upgrade to a nightly build of CKeditor to resolve a bug where the file browser dialog would not open in Chrome web browser

various minor improvements and bug fixes for things reported in the forums since the last release.

As always, it's a good idea to backup your site and database before upgrading and review the upgrading documentation.


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 Sightings for April 2012

This month we have slew of very nice new mojoPortal sites designed by our friends over at TRIAD Communications/Next Level Interactive. They are very good designers and we have featured sites from them several times in the past. Both the TRIAD Communications site and the Next Level Interactive site also run on mojoPortal, though the Next Level Interactive site is mainly using Flash rather than Html for the UI. We love it when designers use mojoPortal not only for their customers but also for their own sites.

Here is a full list of new sites they let me know about recently followed by screen shots of a few of them:

All of these sites have very professional designs and are worth a look, here are screen shots of a few of them:

Rock and Recovery Site

The Burton D. Morgan Foundation

Leadership Akron

Qylex IT

We'd love to hear about the sites you are bringing online with mojoPortal. If you have a high profile site or a design that you're particularly proud of, or a site showing custom features you've built on mojoPortal, let us know, maybe we'll feature your site(s) in a blog post.

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.

Site Membership Pro Released!

I'm happy to announce the initial release of Site Membership Pro, available now in the mojoPortal Store. Site Membership Pro is an add on product for mojoPortal that makes it easy to monetize access to your premium site content.

Site Membership Pro

See the product page for full details. As with our other products, customers who purchase Site Membership Pro get free upgrades for the life of the product.

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.

What's New?

A new Control for Nivo Slider

Thanks to Matt Wilkinson who contributed a control that makes it easy to use Nivo Slider, a jQuery widget that does fancy slide show transistions. This control can be used in layout.master or in custom features. You basically add the control and point it to a folder that has images for the slide show. The images in the folder must all be the same size, and you must specify the width of the images on the control, so example usage is like this:

<portal:NivoSlider ID="NivoSlider1" runat="server" ImageFolder='~/Data/Sites/1/nivoimages' ImageWidth='618px' />

Then you also need to add one of these included skins for Nivo Slider to the style.config file of your skin:

<file cssvpath="/Data/style/nivoslider/default/default.css" imagebasevpath="/Data/style/nivoslider/default/">none</file>
<file cssvpath="/Data/style/nivoslider/orman/orman.css" imagebasevpath="/Data/style/nivoslider/orman/">none</file>

or you can copy and rename one of those and modify it as you like.

A new QRCodeImage control

QR Code

QR Codes are often used in printed materials to encode an url for a web page. There are apps for most smart phones and tablets that can scan the QR Code and navigate to the web page. We've added this control in the "PrinterFriendly" skin so that if people print a page on your site using the printer friendly view a QR Code will be included at the bottom automatically.

Since we don't update the skins in the site specific folders during upgrades you may want to copy the new version of the printerfirendly skin from /Data/skins to /Data/Sites/[SiteID]/skins or you can add it directly to the layout.master of your copy like this:

<portal:QRCodeImage id="qr1" runat="server" AutoDetectPageUrl="true" />

You could also use this control in custom features, you can encode any text value, if you set AutoDetectUrl to false and add the attribute TextToEncode="Any text you want to encode as a QR Code" you could use it for other purposes. The control uses the google charts api to generate the QR code image so it can't work if you are offline or your site is on a private intranet with no access to the internet.

Lots of Little Improvements

There is a new section in Site Settings for Company Info as well as some convenience controls to make it easy to show company info in the footer of your site by embedding some new convenience controls in your layout.master file that will automatically pull in the compnay info from site settings. Examples:

<portal:OrganizationControl id="oc1" runat="server" /> will include the company info marked up with Organization markup. There are also a few literal controls that can be used separately:
<portal:CompanyPhoneLiteral id="litPhone" runat="server" />
<portal:CompanyFaxLiteral id="litFax" runat="server" />
<portal:PublicEmail id="litEmail" runat="server" />

There is a new Site Created Event Handler Provider system (usage is yet to be documented), contributed by Joe Davis that allows you to plugin custom code that can execute when additional sites are created.

Blog Category list and Archive list views now use the same settings as the main post list so that they show full posts or excerpts in a paged list instead of just titles.

There is a new setting in Image Gallery to automatically start the colorbox slide show when the page loads.

In the html content feature users with full edit permission can now publish a draft without submitting it through the approval process.

Improved usability for user role management on manage user page.

Made role permissions UI in page settings consistent with module settings where the links are under the security tab for improved usability

Added support for content on the login page.

Added count of members to role list in role manager page

When using LDAP Authentication with fallback to database authentication it is now possible to allow the users with database accounts to login with their email address in addition to the loginname.

Added config settings to make it possible to control the cache duration for 301 redirects or to disable caching.

Restored previously removed support to use cache dependency files based on a config setting to support small web clusters with a shared drive, where dependency files are the easiest way to clear the cache on all the nodes that share the drive without having to use a distrubuted cache.

Added rel="next" and rel="prev" meta links on paged Forums and Lists features to improve the SEO of those features.

Added support for checkboxlist questions in custom user profile with example in comments in mojoProfile.config.

Upgraded from CKeditor 3.6.2 to 3.6.3

Upgraded from TinyMCE 3.4.7 to 3.4.9

Updated to newest version of jcarousel

Update to newer version of google data libraries

Added custom body css class on closed page to make it easier to style the closed page.

Removed un-needed css class from artisteer files, was causing a problem in webstore layout where it did not use the full page width.

Bug Fixes

  • fixed login, password recovery and registration issues when user exists but is flagged as deleted
  • fixed bug in profileview.aspx where custom profile boolean properties were not showing the images for true or false
  • fixed bug in PermissionEdit.aspx where All Users was not checked even if it was saved correctly in the database
  • fixed incorrect parameter type for compiledmeta field in MySql data layer
  • fixed bug in MySql data layer for database logging, incorrect parameter type
  • fixed a bug in the blog where an auto-generated excerpt was being used in the post list even when explicitely created in the editor
  • fixed bug in blog where detail view did not use the blogauthor override setting
  • fixed bug in blog - option to show side pane content and top and bottom content should work in all blog supporting pages
  • fixed bug where new user notification did not work in child sites when using related sites mode
  • fixed a bug in the editors where the unsaved changes warning from spanish resources was causing CKeditor to not work at all and causing unsaved changes prompt to not work in TinyMCE
  • fixed bug in SiteStatisiticsModule where it was hard coded to use 1 for the site id
  • fixed bug in newsletter administration where paging did not work
  • fixed bug in Flickr Gallery - don't specify a default size in flickr gallery script so it will not reduce image quality
  • fixed bug - check for null on all paypal IPN paramaters in webstore
  • fixed bug in webstore where media player was shown on offer detail page even when no teaser file was present

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.