mojoPortal used in the We Are Microsoft Charities Challenge Weekend

Over the weekend, Jan 16-18 2009, Microsoft held a great event, "We are Microsoft Charity Chellenge Weekend" to help charities. The event paired teams of developers with charity organizations to produce web solutions to better meet the needs of the charity organizations. The challenge was that the time available to produce the solution was limited to the weekend, everything from gathering requirements to final delivery had to be completed in that time frame.

I was very honored when one of the teams chose to use mojoPortal.

paxUnited Team - Microsoft Charity Challenge Weekend

Todd Stone, Tim Mitchell, Nathan Woodward, Jay Smith, Andrew Dalgleish

You can read the full details and see before an after screenshots in this blog post by Microsoft MVP Jay Smith "We Are Microsoft: Developers Rally Around Charities"

"After checking out Telerick’s SiteFinity and Telligent’s Graffiti CMS, both very powerful and capable Content Management Systems, we elected to go with mojoPortal."

These guys really did an impressive job accomplishing so much in a very limited time frame. I congratulate them and thank them for their good work for a good cause and for giving mojoPortal the oportunity to participate in this exciting event.

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

Mono 2.2 and mojoPortal So Happy Together!

Big Congratulations to the Mono Team for shipping Mono 2.2!

mono 2.2

We've seen growing interest in our support for running mojoPortal on Linux with Mono judging by the increasing forum posts related to it. We try to be very careful as we improve mojoPortal, not to break compatibility with Mono. My testing is usually using the latest Mono built from their svn repository but when a release of Mono comes out I try to also test with the release version since this is what most people are using. Things are progressing rapidly in the Mono project which allowed us not long ago to change our target to the 3.5 version of .NET so that we can begin to dabble in Silverlight, and RESTful web services. Enough of the 3.5 stuff is there in Mono that we can compile and things mostly work but with a few bugs here and there including some bugs in the 3.5 version of Mono's implementation of MS Ajax aka System.Web.Extensions.

Historically I've used my physical openSuse machine to run VMWare server and then I could run the  Mono release virtual machines from there, but after upgrading to openSuse 11.1 I couldn't get my VMWare server to open any virtual machines. So I installed the VMWare Player on my Vista machine this time to test.

mono 2.2 running mojoportal

The Mono 2.2 virtual machine already had mojoPortal installed and it works well and I noticed the ajax stuff worked fine there but in testing mojoPortal the UpdatePanels were not being updated in the UI and were logging some errors so I figured if I change the references and use the 2.0 .NET version of Ajax aka System.Web.Extensions 1.0 (since thats what mojoPortal uses) maybe I could get the latest mojoPortal working as well as does. And sure enough, after making this change, the latest mojoPortal seems to work very well ajax and all.

So I've packaged up a new mojoPortal release to work smoothly with the latest Mono 2.2 release. You can even download the source zip and build it an run it using Mono 2.2, the only thing you'll need to do for that is to copy the contents of Web.mono.config into Web.config so it will have the correct references to System.Wen.Extensions 1.0. The file is pre-compiled and the web.config is already configured for Mono. You can swap out the data layer dlls if you want to use a different db.

I think this is a major milestone for the Mono Project. mojoPortal is a complex application, and the fact that it runs well on Mono 2.2 shows that the Mono 2.0 ASP.NET stack is pretty solid. The 3.5 stuff is coming along but your mileage may vary.

The Visual studio solution and the Windows release packages are still targeting .NET 3.5. Its very handy that we use a separate mojoportal.mds for MonoDevelop even though it could open the Visual Studio solution, it allows us to do things differently on Mono as needed.

In our svn repository, will be changing our MonoDevelop projects back to reference the 3.5 version of System.Web.Extensions so we can keep moving forward and report bugs so they can get fixed in the next version of Mono. So 2.2 Mono users who want to play with the source code should use the .zip download instead of svn, unless you are also working with Mono built from svn as I am.

Other minor changes in include a new color picker that I mentioned in my previous post and we upgraded from jquery 1.2.6 to 1.3.

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

New Color Picker Landed in svn

I've recently been working on some soon to be released enhancements to my Event Calendar Pro product. One of the requested features was the ability to set the colors for each event so they can be colored differently on the Month View. In order to implement this I needed a color picker, but rather than build the color picker into the Event Calendar Pro product, I decided to implement it in the core of mojoPortal so it can be used in other features and so other developers can use it in their own features. I implemented it as a UserControl that implements ISettingControl, a simple interface that makes it possible to use the control in Module Settings or in custom user profiles. So for example if you wanted to have a Favorite Color Property on the user profile page you could add this to your profile.config file:

<add name="FavoriteColor"
labelResourceKey="Favorite Color"

and the result looks like this:

Color Picker Screen shot

The color picker javascript is using the YUI Color Picker via a custom implementation from Dynamic Drive that I enhanced further to add localization and pre-selection of the color in the picker.

I hope to release the new version of Event Calendar Pro in the next few days. In order to do that I will also be releasing a new version of mojoPortal with the color picker because the Event Calendar Pro upgrade depends on this feature.


I've deployed the latest version of Event Calendar Pro to the demo site.

Here is a list of the improvements:

  1. Ability to specify the end date for recurring events.
  2. Will Pay option for ticket sales. There is a setting on each event where you can check a checkbox to allow users to register for the event by clicking a button that says "I Will Pay Later". You can further control this from the module settings (gear icon) where there is a new setting so you can specify roles that are allowed to use the Will Pay button. That way you can put your trusted customers into a role and only allow them to register with this button, other users will not see the "I Will Pay Later" button, they will have to use the normal payment methods. button.
  3. Color coding of events in Month View. You can now sepcify foreground, background and border colors for events to make them have different colors in Month View.
  4. Ability to specify the text for event registration link.
  5. Location alias - for use when you want the name of the location to be different than what you need to enter for the google map to work.
  6. Meta Keywords and description per event
  7. Map settings per event instead of global

Any testing or feedback much appreciated, I'd like to release it soon. It will be a free upgrade for existing customers who have purchased it already.

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.

Blog Improvements

Thanks to the great work of Tom Opgenorth, Microsoft MVP, long time community member and all around cool guy, we now have support for using Windows Live Writer for posting to the blog feature. In fact I'm blogging this release announcement using it. Live Writer support has been a long requested feature so this should make a lot of people happy. I'm enjoying using it myself, its more rich than the web based editor and has spell checking. Its nice being able to save drafts locally and writing posts while offline. To learn how to configure Windows Live Writer for use with your mojoPortal blog see Using Windows Live Writer with Your Blog. There is also one other small improvement to the blog, its an option to show the post author name with each post for the use case where more than one person is posting in the same blog.

Forum Improvement

This was also an enhancement requested recently, previously forum notification email message only provided a link to the forum post, but now there is a setting to enable including the post body in the email notification.

IIS 7 Integrated Pipeline mode support

mojoPortal can now run in IIS 7 Integrated Pipeline mode, which is new in IIS 7. Previously you had to use "Classic" mode, but now it can run in either mode. The pipeline mode is something specified on the application pool and the default in IIS 7 is Integrated.

NeatUpload 1.3.4

This release we upgraded to NeatUpload 1.3.4. NeatUpload by Dean Brettle is the best upload control for .NET available. The new version among other things adds support for IIS 7 Integrated pipeline mode, which in turn made it possible for mojoPortal to support this mode.

Bug Fixes

This release also includes bug fixes for things reported in the forums since the last release.

Upgrade Notes

If you are running mojoPortal or higher, you can skip uploading the ClientScript folder.

I have not yet created a release package for Mono this release because I ran into a hardware problem on my Mono build machine. I'm working on resolving that now and hope to upload a new package for Mono users tomorrow or the next day.

UPDATE 2009-01-07

I've uploaded the for Mono release package. I can say for sure it works using Mono from svn but I don't have an installation of Mono 2.0.1 so I can't be 100% sure if it works with that release.

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