Posts in Category: Releases

mojoPortal 2.2.7.6 Released

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

In addition to bug fixes for things reported in the forums since the last release, this release includes the new Content Rating System and Feed Manager improvements mentioned in this previous post, as well as the new option in Site Statistics to show a graph of new site member registrations that I mentioned in this post.

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

mojoPortal 2.2.7.3 Released

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

Important Upgrade Information

After upgrading to the new version, you will need to delete the following files from your /bin folder.

  • PollFeature.UI.dll
  • PollFeature.Business.dll
  • PollFeature.Data.dll
  • SurveyFeature.UI.dll
  • SurveyFeature.Business.dll
  • SurveyFeature.Data.dll

The reason these need to be deleted is because the Poll and Survey have been combined into these dlls:

  • mojoPortal.Features.UI.dll
  • mojoPortal.Features.Business.dll
  • mojoPortal.Features.Data.dll

The good news is that the Poll and Survey now work for all the different databases, MS SQL, MySql, PostgreSql, Firebird Sql, and SQLite. Previously we only had support for MS SQL and MySql for those features.

Everyone who purchased Event Calendar Pro (and I mean both of you ;-D), will also need to upgrade to version  0.0.0.2-b (a free upgrade, just download the product again). There were changes in mojoPortal that required small changes in this feature, there are no functional changes to this feature right now.

Feature Improvements

  • Blog - I added an Excerpt option due to popular demand in the forums. Improved support for Persian localization, thanks to Asad Samarian.
  • RSS Feed Module - Walter Ferrari added options for showing and hiding various things, an Excerpt option, and Ajax paging.
  • Forum - I added a captcha if anonymous posting is enabled to reduce spam.
  • Image Gallery and Shared Files - I added some ajaxiness

New Multi Site Configuration Options

Its now possible to use different SMTP settings in each site of a multi site installation. To enable this, set this setting to true in your Web.config or user.config file:

<add key="EnableSiteSettingsSmtpSettings" value="false" />

after doing this a new Mail Settings tab will appear in Site Settings.

New Global Options

These settings are not site specific so they will affect all sites in a multi site installation.

There is a new config option to email site administrators if a new user registers. Set this to true if you need that functionality:
<add key="NotifyAdminsOnNewUserRegistration" value="false" />

The following config options were added based on a request in the forums to make it possible to show more information on the member list page for an intranet site:
<add key="ShowEmailInMemberList" value="false" />
<add key="ShowLoginNameInMemberList" value="false" />
<add key="ShowUserIDInMemberList" value="false" />

Accessibility and Usability Improvements

FCKeditor now works with Safari and Chrome, so we have enabled it for these browsers in mojoPortal.

All site management features should now work even if javascript is disabled. Previously most of the features could function even with javascript disabled but we went through and found a number of places where we were using <asp:LinkButton and replaced it with <asp:Button. We did this because the ASP.NET LinkButton is the only button type in ASP.NET that doesn't work if javascript is disabled. We added some new css to style the new buttons to look like links instead of buttons. Fortunately, other than the LinkButton, almost everything in ASP.NET is built to degrade gracefully but remain functional if javascript is disabled. So, with a little care its not difficult to build accessible applications and sites.

We replaced the use of ExtJs Tabs with YUI Tabs in Site Settings, Page Settings, and other places where we have settings grouped on tabs. This change was made partly because the YUI tabs are a bit more accessible, but also because we have been running into issues where the ExtJs tabs don't work right. I've hadd issues in Firefox 3 where if there was an FCKeditor on more than one tab, changing between the tabs doesn't show the correct editor. Others have reported interaction bugs with ExtJs tabs when using the new 3.5 Ajax Extensions. Since the ExtJs project changed their license to GPL, which is not compatible with mojoPortal, we can no longer get upgrades to ExtJs and can only use the old version under a compatible license. So, it seems better to switch to the YUI tabs. The only downside is that the ExtJs tabs had a few better looking skins for the tabs but YUI only has one. So some of you may not find the new YUI tabs to be as good looking as the old ExtJs tabs, but since the YUI tabs are also skinnable, we may be able to come up with better looking skins in the future.

New Extensability Point

There is a new plugin system for UserSignInHandlers that allows developers to plug in their own handlers that can fire after a user signs into the site. People have asked for this so that they could implement custom redirect logic depending on user roles and other criteria.

New Translation

Resource files have recently been translated into Spanish thanks to Manuel de la Pena

Seems like a lot has been accomplished since the last release only 33 days ago. Lots of exciting things going on in the pipeline that I will blog about later.

As always be sure and backup before upgrading and if you have any troubles post in the forums and we will try to help.

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

Event Calendar Pro 0.0.0.2 Released

I'm happy to announce the release of Event Calendar Pro version 0.0.0.2

This release adds support for rendering events that span across days, weeks, or months, on the Month View.

Event Calendar Pro screen shot showing events that span across days

From the beginning I felt rendering events that span across days was an important feature and I had hoped to have it working for the initial release, but since it took longer than expected to release this product I didn't want to delay any longer while I worked on this new calendar rendering. It was kind of tricky to achieve it. I struggled with it for about 4 days before finally arriving at a decent solution for rendering the events across days.  I hope you like it.

Event Calendar Pro includes 1 year of free upgrades, so anyone who already purchased it can just download it again from their order history to get the new version.

You can also try it out at demo.mojoportal.com

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

mojoPortal 2.2.6.8 Released

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

Actually I released the files yesterday but didn't manage to get to making a release announcement until today because I was still working on some related documentation that I wanted to link to.

Whats New?

Google Analytics Integration

As I mentioned in my previous post, we now have Advanced Integration with Google Analytics built in. There was a lot to talk about so I made that its own post yesterday instead of including it all in the release announcement.

Gravatars

For a long time I've been wanting to implement a better avatar system, because the one we had with just a list of little cartoons you could choose from seemed pretty lame and out of date. The other day, while reading Scott Hanselman's blog, I noticed that he was using Gravatars in his blog comments. I looked into the implementation and it was trivial so I implemented support for Gravatars in the mojoPortal forums and profile system. I haven't got it in blog comments yet but will try to get to that in a future version. The idea of Gravatars is that you can have an avatar that follows you whenever you visit any sites that support Gravatar. If you look in the mojoPortal Forums, you'll see my Gravatar.

a screen shot of my GravatarIf you don't have a Gravatar it just displays a generic one:a screen shot of a generic gravatar

 

So, if you are a frequent visitor, go and get yourself a Gravatar. Gravatars are rated like movies G, PG, R, X, by default, mojoPortal is only configured to display Gravatars rated as G, but you can set this in Web.config or user.config:
<add key="GravatarMaxAllowedRating" value="G" />

Its just a minor feature but its a social feature that I think can make a community site more appealing.

Enhanced OpenID Support

We've had support for OpenID authentication for quite a while now, but recently I came across ID Selector, an enhancement for the OpenID login box.

screen shot of open id selector

It makes it easy for users to sign in or register using their existing open id enabled account.  I've created documentation about enabling OpenID selector in mojoPortal here: http://www.mojoportal.com/using-openid.aspx

Using OpenID or Windows Live ID can increase the number of users who register on your site because they don't have to create any new passwords. Everyone hates new passwords and thats probably one of the biggest reasons people resist registering on new sites, so eliminating that issue can increase registration and participation in your site.

New Developer Extension Points

Actually, I implemented these a few versions ago but just now got around to documenting them.

These are basically plugin systems that let you build and plugin your own handlers so you can execute your own custom logic whenever a new user is created or a new page is created. I'm always trying to dicourage people from modifying the core of mojoportal and put their custom code in external projects. If you make changes in the core code and those changes don't go back into the project you are basically creating a fork and it will be difficult to upgrade to future versions without losing your custom code, so unless you are working on something that is going to be integrated back into the project you should never change code in the core. If you run into something where you think you are going to need to modify the core, let us know in the developer forum and maybe we can suggest a way to accomplish your goal using external projects, or maybe we will consider integrating your change if its appropriate, or maybe your questions will lead us to add new extension points to make it possible to do what you want without modifying the core.

Event Calendar Pro Will Be On Sale Next Week

My first for sale feature will be in the Store sometime next week. The first version is feature complete, and you can try it out on demo.mojoportal.com. I still need to make help files, documentation, training/demo video, marketing text, licensing text, etc etc, so it will take me a few days to get that stuff done. I'll make a detailed post about this feature after its available.

 

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

mojoPortal Gets Advanced Google Analytics Integration

As of version 2.2.6.8, mojoPortal now includes advanced integration with Google Analytics. Google provides you with a basic script that you can use to track page views in your site, it looks like this:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._trackPageview();
</script>

Historically, in mojoPortal and in other ASP.NET sites, you could always put this script into the bottom of your masterpage, in mojoPortal, that would be the layout.master file in your skin. This would get you basic tracking and it was very easy to do. Now in the current version of mojoPortal, you just enter this part "UA-xxxxxxx-x" from the script provided by google into your Site Settings  under (key icon) Administration Menu > Site Settings > API Keys like this:

Google Analytics Setting in mojoPortal

of course your code will be different than "UA-xxxxxxx-x", that just represents the format of your tracking code.

If you are using a custom skin, the only other requirement is to put this in the bottom of your layout.master file just before the closing form tag:

<portal:mojoGoogleAnalyticsScript ID="mojoGoogleAnalyticsScript1" runat="server" />
</form>

All the skins included in mojoPortal already have this so if you are using one of those you don't have to do anything other than the site setting above.

mojoPortal will automatically setup the script and it will do a lot more than the basic script.

One of the first advantages, is that it doesn't matter if you change skins or use different skins on different pages, the script will just work as long as the skin has the needed control. So for example in the past, unless you also put your google analytics script into the printerfriendly skin, it wasn't tracking page views when users clicked the printer friendly link, but now it does. THis also helped me with tracking traffic on demo.mojoportal.com, in the past I never bothered tracking that site because users could always change the skin and it was tedious to have to put my tracking code in all the skins. Now I just set it in user.config, you can set it there like this and it will trump the one in site settings : <add key="GoogleAnalyticsProfileId" value="UA-xxxxxxx-x" />.  The only reason I use it on the demo site is so that no-one can change it in site settings and affect my tracking. I mean people get to login to the demo site as admin after all.  Of course for multi site installations you want to always use the sitesettings.

In addition to the convenience of not having to maintain tracking codes in all your skins, mojoPortal will automatically label your visitors as Members if they are registered on your site, and if they make a purchase in WebStore or the Event Calendar Pro features they will be labelled as Customers. You will see this under the "User Defined" section of reports beneath Visitor reports. mojoPortal will also track ecommerce transactions in Google analytics from WebStore and from Event Calendar Pro features.

Site Search is also tracked, but to take advantage of it you need to configre your settings in google analytics like this:

google analytics search configuration, add a q as the query parameter for search

Note that you just enable it and set "q" as the Query Parameter. Now you will start to capture data in the Site Search Reports beneath the Content Reports.

You can also enable tracking of page load time by setting this in your Web.config or user.config: <add key="TrackPageLoadTimeInGoogleAnalytics" value="true" /> Unfortunately, as of the time of this writing, you won't see this yet in your google analytics reports unless you are in their beta program. But, by starting to capture data now, you will see it later when event reports come out of the beta process.

Another thing you can do is capture the google analytics data into your own IIS or apache web logs by setting this in Web.config or user.config: <add key="LogGoogleAnalyticsDataToLocalWebLog" value="true" />
To get any value out of this data you would need to get google Urchin and use it to analyze your web logs. Another reason to capture this data in your logs is because google analytics only keeps your data for 25 months.

If you have more than one host name that your site responds to like mojoportal.com and www.mojoportal.coom, recommend that you force a preferred host name, to keep your reportng consistent.

Since anyone can view the rendered source of a page and see your tracking code, its possible for someone else to put your code in their site and create bogus data in your reports. To avoid this, after forcing a preferred host name, I recommend that you set a filter on your google analytics profile. Click the Add Filter link:

screen shot showing the Add Filter link in google analytics

then configure it like this:

google analytics host name filter configuration screen shot

I'm really just learning about all the possibilities for taking full advantage of Google Analytics, I've learned what I have so far from the top book in this picture and hope to learn more ways to make it easy to get good tracking integrated into mojoPortal.

screen shot of a stack of books about google analytics and search engine optimization


 

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