mojoPortal Released

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

Whats New?

Easy Woopra Integration

I mentioned Woopra in this previous post, its an awesome web analytics and real time traffic monitoring tool. Now its easy to use Woopra with your mojoPortal site. Just sign up for woopra and install their software on your home or office computer. Once they approve your site, you enable the script in mojoPortal from the Site Settings page as shown in this screen shot:

screen shot of woopra setitng in mojoportal

If you are using a custom skin, then you also need to add the woopra control to the layout.master file in your skin, just before the closing </form> tag like this:

<portal:Woopra ID="woopra11" runat="server" />

All the included skins in mojoPortal already have this. There was a long waiting period when I first signed up for woopra but lately people have been telling me they are getting approved within a few days of signing up for woopra. Its agreat service, I highly recommend it.

WebStore Improvements

We've added the ability to set the quantity when adding items to the cart from the product detail page and we've made it possible to update quantities directly on the cart. So previously if you wanted to buy me more than one beer, you had to add the beers to the cart one at a time, but now its very easy to be generous :-).

Last release we moved reporting out of WebStore and created a common set of reporting tables in the core so that the same reporting system can be used across ecommerce features. Since then we've begun fleshing out more reports, there are a number of new reports this release and even more to come later.


Japanese resource files thanks to Suzuki Teku, this brings us p to 18 languages!

A new setting in Page Settings for "Inlcude In Site Map", this was requested recently by a community member, we already had a setting for "Include In Menu" but that setting also excluded the page from the site map, so this new setting allows creating pages that don't appear in the menu but do appear in the site map.

Canonical Urls in the meta data, this is a new thing agreed upon by the big search engines so that if a page is available from more than one url the preferred url can be specified by a meta link with rel=canonical. This helps make sure the urls that is shown in search results is the correct one. In mojoPortal we haven't really had problems with this for content system pages because they generally only have one url, but in the past I would see some dupplicate warnings in google webmaster tools about my forum pages because the same page could be seen with query string paramters in different sequence and google would think they were duplicated pages when it was really the same page with just a variation in the sequence of parameters in the url. So the forums now specify the preferred url with the preferred sequence of parameters. We also add cononical urls to the main content pages but its really probably not much impact there since there hasn't been problems with duplicated pages with different urls.

One customer recently asked about being able to use separate read/write connection strings with MySql so they could use MySql replicatin as a scaling strategy. I don't know much about using this approach, it seems it could be problematic unless the replication is instantaneous. Nevertheless, I did the grunt work of going through all the MySql data classes and making it possible to use different connection strings for read and write operations. Bascially I made all the read methods get the read connection string and all the write methos use the write connection string. If you don't specify a write connection string in Web.config/user.config then it just uses the read connection string, so the logic is like this:

private static String GetReadConnectionString()
return ConfigurationManager.AppSettings["MySqlConnectionString"];


private static String GetWriteConnectionString()
if (ConfigurationManager.AppSettings["MySqlWriteConnectionString"] != null)
return ConfigurationManager.AppSettings["MySqlWriteConnectionString"];

return ConfigurationManager.AppSettings["MySqlConnectionString"];

So, if you want to use a different connection string for write operations just add a connection strng setting with the key MySqlWriteConnectionString. I'd be interested to hear back from anyone who does use this approach with MySql. I don't know if the same scaling strategy is commonly used for MS SQL, Postgre SQL or Firebird, but I could make the same changes for those data layers if people tell me it would be helpful.

Event Calendar Pro Released

Coinciding with this new release of mojoPortal is a new release of Event Calendar Pro. It now uses the new commerce reporting system so ticket sales are reflected in commerce reports and user purchase history is consolidated in the My Account/User Profile page. Note also that previously there was a module setting for currency but this now uses the currency setting from Site Settings. Also fixed a bug on the event detail page where the correct currency was not always displayed. Existing customers can download the new version from their Order History under My Account. Because Event Calendar Pro depends on the new reporting system you must upgrade to mojoPortal before upgrading to the new version of Event Calendar Pro.

Form Wizard Pro Released

This is just a minor bug fix release of Form Wizard Pro. There was a bug in the data export where the submission date for the forms was not correct, all the rows were suing the submit date of the first row. This is now fixed. Existing customers can download the new version from their Order History under My Account.

Upgrade Notes for mojoPortal

If you are upgrading from mojoPortal, then you can skip uploading the /ClientScript folder as nothing in that folder has changed. Its a large folder so leaving it out can save a lot of upload time.


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



re: mojoPortal Released

Thursday, February 26, 2009 11:22:22 PM


I help with a program in c#?

The program asks for two numbers and they add I have searched several forums, and not how to solve the problem.

I am just learning C #

these programs work correctly on Windows but GNU / Linux
sum, subtract, multiply and divide.

using System;

namespace arit
class MainClass
public static void Main(string[] args)
Console.WriteLine("Escribe el 1 numero");
Int32 no1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Escribe el 2 numero");
Int32 no2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("La suma es: {0}", no1+no2);
Console.WriteLine("La resta es:{0}", no1-no2);
Console.WriteLine("La multiplicacion es: {0}", no1*no2);
Console.WriteLine("La division es:{0}", no1/no2);

compiles correctly and does not mark any errors;
but if you run andalusia.

Escribe el 1 numero

Unhandled Exception: System.ArgumentNullException: Argument cannot be null.
Parameter name: s
at System.Int32.Parse (System.String s) [0x00000]
at arit.MainClass.Main (System.String[] args) [0x0000a] in /home/lycus/Programming/Main.cs:15

I get this message with several programs I've done. I use the Monodevelop 1.0

my English is not very good, use the google translator to write this.




re: mojoPortal Released

Friday, March 13, 2009 12:14:56 PM

I can't build this mojo. It says 'could not load mojoPortal.Web.AdminUI.DatabaseManager'. Sucks

Steve Saunders

re: mojoPortal Released

Friday, March 13, 2009 12:40:19 PM

Its because you are not using the source code. If you download the source code zip and build using the included .sln file using VS 2008 SP1 or the free Visual Web Developer Express 2008 SP1 it will work just fine.

The DatabaseManager.aspx page exists on disk but is not included in the project, but sine you load the folder instead of the project it gives you this error, where the .csproj file knows which files are included.


Comments are closed on this post.