Tip/Trick Creating tabs in the mojoPortal Html Content Module

In the mojoPortal release announcement, I mentioned that we changed from ExtJs tabs to YUI tabs in mojoPortal. One side benefit of this is that its now possible to create tabs in your content using the editor.

In the past this wasn't possible. I had written a .NET wrapper control around the ExtJs tabs, but only developers could use that, there was no simple way to create tabs right in your content. The integration with YUI tabs is a little looser, I have not implemented a .NET control for it yet though I may do so in the future. But the main scripts for YUI tabs are included by default, so you can paste a simple chunk of markup into the source view of the editor to get the start of your tabs, and then you can edit it from there to add more tabs or change the labels and contents of the tab.

Now you won't see the tabs in the editor, but when you save it you will see the tabs.

To try it out, add an Html Content instance to a page in your mojoPortal site or on our demo site. Click the edit link to edit the content, then click the source button to see the raw markup view. Now paste in this:

<script type="text/javascript">
var myTabs = new YAHOO.widget.TabView("demo");
<div class="yui-skin-sam">
<div id="demo" class="yui-navset">
<ul class="yui-nav">
<li class="selected"><a href="#tab1"><em>Tab One Label</em></a></li>
<li><a href="#tab2"><em>Tab Two Label</em></a></li>
<li><a href="#tab3"><em>Tab Three Label</em></a></li>
<div class="yui-content">
<div><p>Tab One Content</p></div>
<div><p>Tab Two Content</p></div>
<div><p>Tab Three Content</p></div>

Save, and you will see something like this:

screen shot of YUI tabs

At some point when I implement content templates I will make it easy to do this by selecting a content template, but thought I would mention it for the more html savvy users.

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

Form Wizard Pro Is Now On Sale!

I'm happy to announce the first public release of Form Wizard Pro version

With Form Wizard Pro installed in your mojoPortal site, you can easily create custom forms for capturing data from your visitors.

Features at a Glance

  • Easily design forms with Text, Paragraph, Multiple Choice (radio buttons), Checkboxes, dropdown lists, Date, or sliding scale question types.
  • Re-arrange questions using drag and drop
  • Option to receive email notifications when a form is submitted.
  • Export form submission data to .csv (Comma Separated Values) for analysis in Excel or other spreadsheet programs.
  • Optional Captcha to prevent spam submissions by automated bots

Form Wizard pro edit screen


As I'm sure you can imagine, its very difficult to make a living if you give away your products. In order for me to be able to continue working on mojoPortal full time I need some revenue stream. In an ideal world I suppose I would get enough donations to make a living, but in the real world this does not happen. Only a very small percent of people who use mojoPortal ever make a donation or buy me a beer. So the strategy for funding my continued efforts on improving mojoPortal includes selling some premium features that are not included in the free version of mojoPortal. If you are getting a lot of value out of the free version of mojoPortal, consider purchasing our premium features. Every purchase helps provide for the long term vitality of the project by providing funding for continued improvements.

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

FormWizard Pro is almost ready

I've almost finished my second premium feature for mojoPortal. The feature will be called FormWizard Pro and you can try it now on the demo site.

Any feedback on the product is much appreciated. The Form Wizard Pro feature makes it easy to create arbitrary ad hoc forms for capturing input from your site visitors. You can create as many instances of forms as you like on as many pages as you like. It supports Text, Paragraph, Radio Button lists, Checkbox lists, Dropdown lists, Date, and Sliding Scale questions. You can re-arrange the questions using drag and drop, and you can export the submitted data as CSV (Comma Separated Values) which can be opened in Excel or other spreadsheet programs for analysis.

Here is a little snippet of the edit screen, but to see how it really works just try it out on the demo site.

form wizard pro screen shot

I hope to have it on sale very soon.

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 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 (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.

Should we move to Codeplex?

Big news today that Codeplex now supports svn bridge on the server. I'm thinking it would be very good for the mojoPortal project if we move our source code repository there, it would get us a lot more visibility among ASP.NET developers.

The Codeplex repository actually uses Team Foundation Server and in the past you could still connect with TortoiseSVN if you installed a client side svn bridge. The problem we faced with mojoPortal is that some developers work with mojoPortal on Linux using MonoDevelop and there wasn't an svn bridge for Linux, so it could not work for developers working on Linux. That pretty much made it not an option for us. Now, if I understand the announcement correctly, with the server side svn bridge, there is nothing to install on the client so it should work with the command line svn client. I will have to test it out before making a move, but I'm leaning very strongly that way. If anyone in the mojoPortal community has strong opinions about it, now is the time to sound off. Novell Forge, where we host our source code now has been good to us but I think being a part of the Codeplex community would be good for getting more exposure to a wider community of ASP.NET developers.

UPDATE 2008-09-22

I've been trying out the Codeplex svn bridge and its mostly working but not currently able to do merge. The Codeplex team has been very helpful and responsive and is looking into the merge issue. We should know more in a few days, but as long as we can get the merge working I see no reason not to move to Codeplex. Thanks for all the input, I'll post updates as things progress.

UPDATE 2008-09-27

The latest update from the Codeplex team is that its going to take about 4-8 weeks for them to implement support for svn merge. So we will have to wait a while and try it again after they implement this. To me this is good news. I was afraid the answer was going to be that they only support svn checkout and svn update. The fact that they are going to get it working (or at least try) is very good news even if we can't move to Codeplex right away, we will be able to move there when this feature is implemented. I was surpised that they think svn merge is a rarely used feature since I use it all the time merging changes from my sandbox into trunk. It makes me wonder if I use svn merge more than most svn users. I thought my use scenario was very common having trunk and branches, and sandboxes. I generally work in my sandbox and merge changes to trunk at the end of each day as long as my work is at a stable point. I'm curious what work flow other svn users have.

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