Posts From April, 2012

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 1.0.0.1 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 2.3.8.5 Released

I'm happy to announce the release of mojoPortal 2.3.8.5, 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 Schema.org 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 theme.skin 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.

Site Membership Pro - Coming Soon!

In our last newsletter I mentioned that I was working on a new add on product for mojoPortal named Site Membership Pro.

I've received quite a few emails expressing interest in this product and I'm happy to report that the first release is ready to ship and will be available soon in the mojoPortal store.

Site Membership Pro

However, Site Membership Pro depends on a few small changes I've recently implemented in the core of mojoPortal, so I'll have to wait until after the next release of mojoPortal before I can make it available. My plan is to make a new release of mojoPortal soon, I'm going through our project tracker looking for small things I can complete to round out a new release to make it worthwhile upgrade.

In the mean time, I've created a demo site to show the public facing side of the feature at smpdemo.mojoportal.com.  You can also try out the back end administration of the feature on our main demo site where you can login as the administrator, but you'll need to add it to a page manually and then you will see the "Settings" and "Manage" links.

What Is Site Membership Pro?

Site Membership Pro provides additional functionality on top of mojoPortal to make it easy to monetize access to your premium site content.

mojoPortal already provides role based security so that you can use roles to protect your premium content. For example you could create a role named "Members Only" and you could set that role as the only allowed View Role on pages in your site that contain premium content. However, managing the roles assigned to a user is a manual process in mojoPortal that can be done by Administrators, Role Adminsitrators or Roles That Can Manage Users. So one would have to go to each user who should be given access to premium content and add the user to the "Members Only" role.

Site Membership Pro provides the missing pieces to make it easy to sell membership subscriptions and automatically grant the user the role or roles that provide access to the premium content on your site when they complete a subscription purchase.

You define Membsership Levels which have a name and one or more roles that are provided with this level of membership. You could keep it simple and just have one level for "Members Only", or you could have multiple tiers of access like Gold, Silver and Bronze each providing different roles that protect sections of your site content.

Then you define Membership Product(s) which grant the user one of the Membership Levels (and the associated roles) for a specified number of days for a specified price. Products can be enabled or disabled and they can have begin and end dates that determine when they are on sale. A grace period can also be specified on the product such that users are not removed from the granted role(s) until after a certain number days after the actual expiration date.

When a user pruchases a membership product they are immediately granted the roles provided by the membership level when the payment has cleared. The begin and end dates of the membership are set at the time of purchase and a background task handles removing roles from the user when the membership expires or the grace period is over (if the user has not renewed).

You can also configure notifications on the products so that users can recieve reminders when their membership is coming up for renewal. Reminders can be configured as a specific number of days before or after either the end date of a membership or the end of the grace period. You can create multiple reminders per product so that you have a series of them to encourage renewal.

You can also define reminder templates for plain text email messages. Templates support some token replacement and you must assign a template to a reminder in order to save it. So the reminder will send a plain text email replacing the tokens from the template at the scheduled time if the user has not renewed.

The same background task that manages removing users from roles if their membership expires also handles sending the reminder messages.

Note that the reminders are intended to provide a link back to your site so the user can renew his membership before it expires. To renew, users have to go through the checkout process. Site Membership Pro does not retain any credit card information and does not automatically charge cards to renew subscriptions. Possibly in the future we will look into available APIs from PayPal and others for recurring payments but we have no plans to retain credit card information in the future. The risks and liability potential involved with retaining credit card information without proper infrastructure and staff to secure the data far outweigh the fact that it would be nice to be able to do that.

Since users probably don't want to go through the checkout process every month it is recommended to structure your membership products with fairly long durations like 6 months or one year as opposed to a month at a time. Free products are also supported so you could have one product that provides a free trial of Premium Access for a limited number of days and a One Year Subscription for $120 for example. You can also mark a product as available only for new members, so that existing members can't get the free trial offer.

Supports Authorize.NET, PlugNPay, PayPal, Google Checkout - ie the same payment systems supported in all mojoPortal ecommerce products (WebStore, Event Calendar Pro, Web Invoice Pro). I'm also investigating adding support for WorldPay for all our ecommerce products in the near future.

The initial release will support MS SQL and MySql, other database platforms may be supported later depending ion demand.

What Site Membership Pro Does Not Do

Site Membership Pro is NOT a replacement for the site registration system. User's must register or sign in to purchase premium membership, so they need to go through the normal registration process first to get a free account, then once they complete the membership purchase they are immediately granted the roles provided by the membership.

Site Membership Pro is not involved in protecting your premiumm content, that is done by configuring roles that can view pages in your site and is built in functionality of mojoPortal.

Site Membership Pro does not retain any credit card information and cannot automatically charge cards when membership renewal is due.

Site Membership Pro does not prevent an Administrator, Role Administrator or Roles That Can Manage Users from adding or removing users from roles.

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.