Some New Training Videos

Just a quick post to let people know about new training videos available. I am making it my focus for this month to produce a lot more tutorials to answer common questions and especially to help developers get started with custom development. I still have a ways to go with the developer tutorials, but thought I would go ahead an post links to videos I've completed so far.

Installation and Configuration

Developer Series

I've begun a series of clips where I plan to implement a simple Guestbook feature as a way to cover important concepts. 

  1. Getting the code from svn trunk
  2. Introduction to the Source Code Part 1
  3. Introduction to the Source Code Part 2
  4. Creating a Custom Solution and Project
  5. Hello Web Part 1
  6. Hello Web Part 2
  7. Guestbook first steps
  8. Concepts Part 1
  9. Concepts Part 2
  10. Debugging in IIS
  11. Create a Table in the db using the setup system
  12. Create stored procedures with an upgrade script using the setup system
  13. Generating a data access class
  14. Generate the business layer
  15. First Guestbook submission achieved
  16. Form Layout 
  17. Form Layout Part 2 and data binding

Just getting started so far, lots more clips to produce to complete the Guestbook tutorial. I'm planning to cover development of business and data access classes and how to add supporting pages to your feature as well as how to make your feature searchable. I'm working only from an outline not a script, so the videos are mostly improvised and I stumble on a few things here and there, but rather than edit them out, I think it is helpful since you may also stumble a little bit, so learning to work through the stumbles is part of the process.

Each clip will be less than 10 minutes in order to fit them on YouTube, but they are in high definition so the video quality should be pretty decent.

UPDATE 2010-03-08 -added items 8 - 17 to the list above.


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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.

Feature Improvements

  • Image Gallery now uses friendlier file names and you can optionally move existing Galleries below the /Data/Sites/[SiteID]/media folder to make it easy to browse gallery images from the editor. Just add this setting to your user.config file: <add key="ImageGalleryUseMediaFolder" value="true" />
  • People often don't notice that the forums are integrated into site search, so we added a search box in the forums that redirects to site search and filters for forum content.
  • Added a search feature in the Url Manager to make it easier to find a URL when you have lots of them.
  • Upgraded FCKeditor from 2.6.5 to 2.6.6
  • Updated config setting to use new jQuery 1.4.2
  • Updated Russian resources files from Alexander aka SkySandy
  • Updated Portuguese resources from Leonard Pedrini

Bug Fixes

  • Fixed a bug where re-sorting root pages in a multi-site installation caused root level pages in all sites to be re-sorted and with lots of sites and pages, this could result in it becoming impossible to sort pages in some cases.
  • Fixed a bug where if you tabbed out of the page name in page settings or out of the blog title when updating a blog post, a new URL was being suggested when the name or title did not change which could lead to unintended URL changes.
  • Fixed sitemap so that it uses https URLs if the page requires SSL to avoid an extra redirect
  • Fixed bug in Image Gallery where portrait images were not creating correctly sized thumbnails or web images.
  • Fixed issue where the content rating control did not work well in some cases

Thanks to all community members for providing bug reports and feedback, especially Alexander aka SkySandy for his work in diagnosing bugs and suggesting fixes.

Related Product Updates

Just as we had to make changes in mojoPortal to support Artisteer templates, we also made corresponding changes in our add-on products Event Calendar Pro and Form Wizard Pro. If you are an existing customer who already purchased these products, you should upgrade them at the same time as you upgrade mojoPortal. You can download the latest version by signing into this site as the same user who made the purchase, then visit the "My Account" link at the top of the page and look under the Order History tab where you will see links for your products

Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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

Form Wizard Pro Released

I'm happy to announce the first major upgrade for my Form Wizard Pro product

New Features:

  • Support for multi page forms aka surveys
  • You can import and export complete form definitions
  • You can import and export individual questions, so if you make a state list dropdown you don't have to type it again, just export it and then you can import it in a different form to re-use it.
  • Support for additional instruction blocks arranged by drag and drop among the questions
  • Support for regular expression validation
  • and more

This release is a free upgrade for existing customers who bought Form Wizard Pro previously and starts at $99 for new customers. 

Note: This new release requires mojoPortal which was just released a few days ago.

See how easy it is to create custom forms and surveys using mojoPortal and Form Wizard Pro


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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.

This release fixes a few bugs reported in our forums since the last release, adds a few minor improvements to some features and lots of minor fit and finish improvements based on feedback from our community.

In the previous release I added a hideable toolbar for administration links in most of the included skins, this release I took a queue from Joe Davis and added icons to the toolbar. Also based on community feedback, I made it remember your preference for open/closed across pages. Previously if you closed it and went to a different page it would open again on the new page, now it remembers your preference.

toolbar with icons


Contact Form - added a setting for BCC email, added a setting in case you don't want to store messages in the database, added a setting allowing you to use the email address entered by the user as the from address in the form notification.

Shared Files - added a setting for the Default Sort, when shared files are returned as search results in the search page, the download link now opens a new window.

Upgrade to NeatUpload 1.3.21

Updated Translations

  • Italian - thanks Diego Mora
  • Greek - thanks Yioryos Moschovakis
  • Russian - thanks Alexander (aka SkySandy)
  • Turkish - thanks to Cenk Kumas
  • Swedish - thanks to Par Rohlin
  • Spanish - thanks to Matias Molleja

Your Opinion Requested

I am currently using CKeditor as my main editor and it is also now the default for new installations of mojoPortal. The only thing I like better about TinyMCE at the moment is the spell checker which works much nicer than the one in CKeditor or FCKeditor. Since CKeditor is the successor to FCKeditor and no new development is being done on FCKeditor, I'm considering not including FCKeditor in mojoPortal going forward to reduce our footprint on disk a little as each editor is a lot of javascript. We could reduce 3 or 4 MB of disk footprint leaving it out. I could still make it available as a separate download for anyone who wants to continue using it. So, if you have a strong opinion about whether we should or should not continue to package FCKeditor with mojoPortal, please post in the comments.


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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.

This is a major release packed with lots of improvements that I think you will like. 

New File Manager UI

We have a new File Manager based on QtFile. I could never have made anything pretty like that myself, if you see anything pretty in mojoPortal you can be fairly sure someone besides me deserves the credit for the prettiness. I'm very good at making things work and integrating things others have made pretty. Now the old File Manager is not gone, you can actually toggle between them. The new one in addition to being prettier than the old one also has a way to easily move files whereas the old one does not. I kept the old one because it has a couple of advantages of it's own that the new one does not have. For example, it has bulk file uploading, may be better able to handle large file uploads because it uses NeatUpload, and it can still be used with javascript completely disabled. In both our File Managers, where and whether the user can upload and delete files depends on their role permissions.

file manager screen shot

If you have a custom skin and are upgrading, you will need to add this to your style.config to bring in the css for the new file manager.

<file cssvpath="/Data/style/qtfile/default.css" imagebasevpath="/Data/style/qtfile/">none</file>

We also recently had some requests for an administration link so that users with permissions to upload and delete files could easily get to the file manager. Previously non admin users could only upload images for example by using the editor in a content instance. With the addition of this new link for File Manager in addition to our other administration links it seemed that the number of links we are showing was beginning to clutter the screen a bit, so I implemented this pretty toolbar in most of the included skins to contain the administration links, you can hide it with a click of the down arrows.

administration toolbar

Now, as you can see it is kind of pretty so obviously someone else deserves credit for that. To explain the why and how this toolbar was integrated into the included skins, how you can use it if you want to in your custom skin, and to learn where it came from and who really deserves the credit see "Creating an Admin Toolbar".

Shared Files Improvements

  • Now counts downloads of files
  • If you rebuild your search index, files found in search results be be a download link instead of a link to the page containing the Shared Files instance.
  • New description field. This field gets indexed in the search index, since we do not currently have support for indexing actual file contents for things like PDF files or Word docs, you can paste the full text of the document into the description and then get search results with files that have matching content. In this case you would keep the description column hidden since it would probably be ugly to show the full file contents as text in the page.
  • New options for showing and hiding columns in the file grid

Blog Improvements

  • Added paging to the blog list view by popular demand
  • Added a dedicated Is Draft indicator so drafts can be created either by checking this or settings future publish date.
  • Added a Save/Preview button so you can preview drafts as they will appear when published.
  • New setting allowing you to specify the date/time format string for blog posts

Feed Manager Improvements

  • Added a Calendar View, this goes well with our Event Calendar Pro feature which can expose Events as RSS. Now you could show a mini calendar on your home page for example that shows upcoming events and links to the event details in Event Calendar Pro.
  • New setting allowing you to specify the date/time format string

Simple List/Links

What we previously called the Links Feature is now renamed to Simple List/Links. This was one of the first features in mojoPortal and in fact was a feature in the old IBuySpy Portal that mojoPortal was originally based on. It had not changed much over the years, we added a description which could be shown optionally with the link and this could be indexed into the search index, but other than that it was just a way to make a list of links, something one could easily do also in the plain old Html Content feature, so the Links feature was just an easier way to make a list of links. I've been using it for our mojo Sites list, but as the number of sites in the list is growing it seemed like a good idea to add paging, so I did that as you can see on the mojo Sites page. Once I had that done I got to thinking about our Consulting Partners List which was just using a plain Html Content feature and was beginning to get unwieldy to update.  I thought of the Links feature with it's new paging support and how handy it would be to have that same paging functionality on the consulting list but without the links since we link to the partner sites from the description. So I added a setting allowing you to show "Description Only" in the Links feature and then decided it needed to be renamed to Simple List/Links or others won't notice they can use it this way. I'm also thinking about using it to make a Skin Gallery where we can show the link to the zip file and have screen shots in the description, again paging is what makes this manageable as the list grows. So it is a nice little feature now to make a list of blocks of html content or links or both. You can move things around in the list based on their sort rank.

De-Coupled Settings For Open ID and RPX

This is important for you to notice, if you are using the RPX service and are upgrading you probably have "Enable OpenID" checked in Site Settings because previously it was required to have this checked to use RPX but then the normal Open ID login would not be shown if RPX was enabled. You may want to uncheck that now because if it is checked it will also show the normal Open ID sign in in addition to the RPX one. Previously it was not possible to show both but it seemed they should be de-coupled because they are completely separate implementations and nothing should stop you from using both if you wanted to. RPX is enabled simply by the presence of an RPX Now API key. Remove the key to disable it.

Moved the Url Location for CssHandler.ashx

We have always held the opinion that the /Data folder in mojoPortal (or writable folders in any ASP.NET application) should not require execute permissions because that is where users can upload files and it is just best security practice to not let the web process have both write and execute permissions on the same folder. You should not be able to upload dll files to the /bin folder from web code for example, it should require a more privileged ftp user for best security. A few versions back when we implemented the CssHandler to combine and minify the CSS files, we made the url for the handler be /theskinsfolder/csshandler.ashx because this made it easy to determine which files belonged to the skin. Note that there is no physical file named csshandler.ashx anywhere on disk but since the skin folder is one of the writable folders below /Data and we were making the url appear as if it was actually located there, setting the folder permissions to deny execute caused the csshandler to fail. So now we have changed the virtual url for the csshandler to be just in the root of the site so that the /Data folder and all it's child folders including skins can be marked as not executable without breaking the css handler.


  • Added more noticeable links in the Forums to encourage users to subscribe to email notification
  • New User Selector Dialog in Role Manager
  • Updated Italian Resource files thanks to Diego Mora
  • Updated Swedish Resources thanks to Par Rohlin
  • Update Russian Resources thanks to SkySandy
  • Updated French Resurces thanks to Thomas

One More Thing - A Query Tool For Developers

For this release I implemented a Query Tool that can be used to query the database on any of our supported database platforms. See the new documentation, you can even save queries and use them in quick and dirty custom features.

screen shot of query tool

Thanks to all who provided feedback in the forums and especially thanks to those who are helping others in our forums.


Follow us on twitter or become a fan on Facebook

follow us on twitter become a fan on facebook

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