mojoPortal Released

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

Whats New?

RPX Instant Open ID Single Sign In Integration

Now you can allow users to easily register and sign in to your site with no new passwords using their existing account from Google, Yahoo, AOL, Microsoft,  Facebook, MySpace, Twitter and more. For complete details, see the RPX documentation here.

screen shot of rpx sign in widget

We've had support built in to mojoPortal for Open ID for a long time but this is much more user friendly, the user doesn't have to know anything about Open ID to use it. We still have suppport for standard Open ID authentication for those who would rather use it as is. In fact we also upgraded to the newer DotNetOpenAuth from the older DotNetOpenId (same project but they changed the name of the dll), and now it can work in Medium Trust environments, where previously, you have to remove the DotNetOpenId dll for Medium Trust to work. Of course the new RPX service also works fine in Medium Trust.

New Content Templates in the FCKeditor

You can now easily use a few UI widgets like the jQuery Accordion, jQuery Tabs, and YUI tabs right in the editor. There is a new toolbar item in the editor for choosing content templates, and we have pre-defined a few templates for these widgets.

screen shot of jquery accordion

screen shot of jquery tabs

In the near future we will also add the ability for you to create and edit your own templates.

TextArea Editor

For anyone who would rather use a plain text area for editing content rather thanone of our WYSIWYG editors, we now have a TextArea editor, thanks to a sponsorship from Felix Schudel. Since the WYSIWYG is much more friendly for most people, the TextArea editor is disabled by default, but it can be easily enabled by un-commenting it in the mojoEditor.config file.

WebStore Improvements

It is now possible to checkout without registration or sign in, if the order has no download products. So now people can buy me a beer without registering on this site ;-). There are also improvements to the offer administration, we added a new product picker dialog, and there is a new product site map for submitting to google and other search engines located at /yoursiteroot/WebStore/ProductSiteMap.ashx.

Blog Improvements

There is now an option in the blog to format the category list as a tag cloud. To use it you just enable the setting in the feature instance settings and then clear your browser cache to get the new css for the tag cloud. Soon we will be implementing categories/tags as a core system feature so it can be re-used by any feature and then we will replace the existing blog categories with the new system. This new category/tag system will then be used to easily add categories to the WebStore, EventCalendar Pro, and possibly other features. Note that if you have a custom skin, you will need to add this css for the tag cloud:

.tag-cloud { list-style-type:none; margin: 15px 0px 3px -30px;}
.tag-cloud li { display: inline; list-style-type:none; }
.tagcount { font-size: x-small;}
.tag-cloud .weight1 { font-size: 90%; }
.tag-cloud .weight2 { font-size: 110%; }
.tag-cloud .weight3 { font-size: 120%; }
.tag-cloud .weight4 { font-size: 130%; }
.tag-cloud .weight5 { font-size: 140%; }
.tag-cloud .weight6 { font-size: 150%; }
.tag-cloud .weight7 { font-size: 160%; }
.tag-cloud .weight8 { font-size: 180%; }
.tag-cloud .weight9 { font-size: 200%; }
.tag-cloud .weight10 { font-size: 210%; }


There have also been a number of minor enhancements and of course bug fixes for things reported in the forums since the last release.

Updated Releases For Event Calendar Pro and Form Wizard Pro

New minor release updates are available for customers who have purchased these features.  There were small changes made in these feature to correspond with changes in the core of mojoPortal. The Form Wizard also now uses the full editor toolbar for editing the form instructions and thank you message. Customers can download the updated versions from their purchase history and install them after upgrading to mojoPortal

 Update 2009-05-22

Just updated to version to fix an issue where the breadcrumbs wrapper div was rendering on pages even if breadcrumbs were not enabled and this extra div could affect layout in some skin designs.

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

mojo Rising! Got To Keep On Rising

Thought I would make a brief post to share the progress in growth of the mojoPortal community and other statistics and milestones of interest.

In recent weeks we reached 5000 commits in our svn source code repository, actually the most recent revision as of this writing is r5086.

We are approaching 5000 voluntary site registrations and could possibly even reach that milestone this month. The chart below is as of 2009-05-09.

graph of site registrations

Web Traffic is doing well and showing steady growth.

web traffic chart

And best of all, downloads have suddenly gone way up from the exposure we have received in the Microsoft Web Application Gallery. You can see, we went live in the gallery on April 6-7 and its been like a tidal wave raisin our 30 day downloads from 3500-3800 previous average to over 18,000  downloads on the current live stats chart.

download chart as of 4-22-2009

download chart as of 5-2-2009

A little love from Microsoft goes a long way as you can see! Huge thanks to Microsoft and especially the IIS Team for their support and help in getting mojoPortal into the gallery.

The interesting thing to me is that the site registration chart was already going parabolic before we got into the gallery. We got into the gallery around April 6-7, and site registration actually dipped a little in April compared to March. It will be interesting to see where it goes from here. Note that we have never required registration to download or even tried to fool people into thinking they can't download without registration like DotNetNuke does. Our registration numbers mean more because they are strictly voluntary.


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?

Content Versioning

The Html Content and Blog features now support keeping a history of every edit (like a wiki). You can compare any historical version of the content to the current version and you can restore any version to the editor so that you can restore it as it is by saving it or modify it further then save it. Versioning can be enabled at the feature instance level or it can be enforced site wide from Site Settings or it can be enforced from Web.config. Site administrators and content administrators can delete history but no other roles are allowed to delete the history. The ContentHistory is built into the core so that it does not have to be re-implemented for each feature. Each feature does implement its own UI to show or restore the previous versions, but they leverage common business classes to store and retrieve their history. In the future we will implement versioning for product and offer descriptions in the WebStore, developers may also leverage this in their own features to keep version history for their own feature data. This is one more thing to mark off our Road Map as complete. Next up is a general Content Tagging/Category system that can be re-used across features, and a Content Comment system that can be re-used across features.

Web Chat using Windows Live Messenger

See my previous post for more information about the new Chat feature. This was not even on the roadmap but when I saw how easy it was to implement I decided to work on it. It was fun and it only took a few days. One of the things I like best about my job is that I can just decide to work on something for a few days because its fun.

New PlugNPay Payment Gateway in WebStore thanks to Voir Hillaire

New Skin - dcarter-bluedesert, based on dcarter-ticktockpro but modified and contributed by Sami Isamil Hassan

Various minor enhancements based on feedback and fixes for bugs reported in the forums since the last release.

More progress moving away from ExtJs by implementing some .NET controls for YUI to replace the ones I previously built for ExtJs

Some of you may have checked out my Site Office UI prototype in the past. Its a separate plug in system than the main content system designed more for a consistent application user interface rather than for creative design like we use for the public facing web site via our skins. You can see the Site Office layout on this site or the demo site if you login and click the "Site Office" link at the top of the page, or you can look at the origianl layout demo for ExtJs here. I still have not implemented any real features for Site Office, but the plug in system itself works and I've even received emails from developers who have implemented their own plug features using it. I got kind of side tracked off of the Site Office idea partly because I had spent quite a bit of time implementing .NET wrapper cntrols around the ExtJs javascript to make it easy to use and then the ExtJs project changed their license to GPL which is not compatible with our CPL license, so I could no longer get upgrades of ExtJs and include them with mojoPortal. Since then we've been stuck on version 2.0.2 of ExtJs which was the last version they shipped under the LGPL (which was compatible). I had also used a little ExtJs in the Contact Form for the messaage list page. For a long time I've been thinking I really need to build new .NET wrapper controls with similar functionality but using the YUI javascript instead of ExtJs.
So again in the name of fun (because I like building .NET controls around javascript) I spent some time implementing some new controls with YUI to replace the ExtJs stuff I've been using. I have now removed the dependency on ExtJs from the Contact Form feature and I've got a good start on the layout framework to replace the current SiteOffice. I still have more work to do to finish, but the goal will be to eliminate all use of ExtJs in favor of YUI. The ExtJs javascript we include in mojoPortal is 6.36 MB, so it will reduce the size of our downloads once we no longer need to it. Anyway, you can see the work I've done so far on the YUI layout here, its very similar as you can see to the current Site Office layout with ExtJs. Once I get some more of the YUI things wrapped up so they are easy to use, I might even change the site administration area so that it uses this kind of layout instead of the site skin.

New Experimental CKEditor

Some of you may have noticed that the FCKeditor project has shifted gears from the next upgrade of FCKeditor to their next generation version named CKEditor. I think they are basically taking the good parts from the FCKeditor implementation but doing a new redesign of the implementation using things they have learned and new techniques that have emerged to improve the architecture. The CKEditor does not yet have image upload or server browsing so I have disabled it by default, but anyone who really wants to check it out can un-comment it in the mojoEditor.config file in the root of the web. It really looks just like the FCKeditor but does not have all the functionality yet, I just figured it was good to get started with it so we can be ready as they make imporvements.
So all of the above (other than the contributions from the community) is work I've done since the last release on March 24, less than 30 days ago, but in that time I've also made a substantial start on my next paid product Web Invoice Pro. It still has a ways to go before release though. Its one of those things where I started out with a very simple vision for it but it quickly changed to a more complex feature the more I thought about it after getting a few little pieces of it built. I needed to step away from it a little to think about it more and that is part of the reason I worked on some fun things as I got to a point where I was frustrated and needed to work on something that made me feel productive.
Gravatar Joe Audette is the founder of the mojoPortal project and was the primary developer until February 2017.

Web Chat Using Live Messenger

Several people have asked about a chat feature for mojoPortal in the past and I've had my eye on a few ways to implement chat but have mainly been too busy working on other things to try and tackle it because I viewed it as a complex feature to implement. But recently I found out about the Live Messenger Web Toolkit and that seemed to lower the bar so that it was pretty mch low hanging fruit to implement chat. There are actually quite a few things developing in Microsoft Live Services that are very interesting. Much of it was announced at Mix 09, I still haven't watched all the videos but I plan to watch them soon and learn about tha various scenarios that can be implemented. But, so far I have implemented chat and it will be in the coming release of mojoPortal as a built in feature that can be enabled/disabled.

There will be a new "Live Messenger Chat" feature that you can put on a page, as a supplement to the contact form for example and your web visitors will be able to chat with you no matter whether they have a Live Messenger account or not. You will chat using your desktop Live Messenger and the web control will display your availability and if you are online it will allow web visitors to initiate a chat with you.

In addition to the new "Live Messenger Chat" feature that plugs into the content system, you can also enable your site users to have web chat controls on their profile page so that site users can initiate chat with one another. To receive chats a user will need the Live Messenger desktop software but chats can be initiated by web site visitors directly in the web page with no need for a Live account.

I invite you to try the chat here on to help iron out any kinks before the release (which I hope to make on Monday). To enable chat on your mojoPortal user profile, visit the "My Account" page using the link at the top (after you sign in), click the profile tab, then click the link that says "Acquire/Refresh a Live Messenger Permission Token" (ok its mispelled in the screen shot but I will fix that before the release)

aquire live messenger permission link screen shot

You'll note that te checkbox is disabled until you have the token. Once you have the token the checkbox becomes enabled and if you check it ans save, the chat will appear on your public profile page like this:

live messenger web control screenshot

You can see it on my profile here, there are links to member profiles also on the member list page and in the forums.

Now I'm not really big on using chat myself because I'm very busy and generally don't like things popping up and interupting me, so don't expect me to be generally available for chat. I built this feature mainly for others (who have requested it) to use. I'm not going to be using it for support, the forums are much better for that because they are searchable. But it would be great if people could test this out and give some feedback in the forums if you find any problems or have suggestions for improvements. I know lots of you out there use chat all the time whereas I hardly ever use it, so your feedback is important. For me its just a really cool feature that I'll hardly ever use ;-) so I'm not the best judge of it.


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

mojoPortal Is Now Available in The Windows Web App Gallery!

 I'm very excited to announce that mojoPortal is now available in the Windows Web App Gallery, and can be installed easily using the Microsoft Web Platform Installer 2.0 Beta.

screen shot of mojoPortal in the Platform Installer

If you've already installed the Platform Installer you can start the download and installation with 1 click.
install now

Huge thanks to Microsoft and the IIS team for helping us get listed in the web app gallery! I think this is going to help a lot in spreading the word about mojoPortal. Now we need some reviews so if you like mojoPortal why not visit our page in the gallery and give us a good rating and review.

The mojoPortal package in the gallery is for MS SQL, but our packages for other databases can also be installed using the MS Web Deployment Tool, which is installed using the Platform Installer.

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