mojoPortal Released

I'm very happy to announce that I just released mojoPortal on the download page. This is a significant new release with major improvements since the last release.

Mono support!

We are finally back to one version of mojoPortal for all platforms, though we do provide a separate build for Mono. Its the same code but with WebParts left out of the compilation. In svn the old 1.1 framework version has been moved to branches/1.x and the 2.0 .NET version is now moved into trunk. There may yet be bugs so consider this release experimental on Mono. Those who wish to upgrade existing sites running the 1.x version of mojoPortal on Mono may want to wait and see what kind of bug reports come in before attempting an upgrade. I would highly advise making a copy of your site and db and upgrade the copy. This way you can go back if things don't work out.

New Multi Sites Feature based on first folder after site root
This feature was sponsored by one of my customers as open source development.

New Feature for Visually Partitioning Sites
This feature was also sponsored by one of my customers as open source development.

New Editor Provider Model now supporting use of both FCKeditor and TinyMCE

With the provider model, it will be possible to implement providers for other editors as well.

Improved Markup Semantics and CSS Organization

See my previous post for more details on this. Since the rendered markup has changed, those upgrading from recent versions who have custom skins may need to tweak them to account for the different markup.

A Few New Skins

RightToLeft1, RightToLeft2 and samar, are all right to left oriented skins contributed by A.Samarian

I also implemented a new TreeView menu option and created 2 skins to illustrate, treeviewmenu1 and treeviewmenu2. I discussed this in a previous post, for large sites, the treeview menu can improve performance because the nodes load on demand.

Admin Section has moved

The admin pages have been moved out of the content system and into dedicated physical pages. The main Admin menu is now accessed by clicking the key icon at the top of the site.

As always, if you have any problems, post in the forums and I will try to help.

Before upgrading be sure and back up your site and your db. If possible upgrade a copy then cut over to it. More note to help with upgrading.

Huge thanks to Alexander Yushchenko for all his help in providing Quality Assurance testing and feedback. His help has been instrumental in improving the quality of mojoPortal.

Also thanks to the Mono Team for their continued support and making it possible to run mojoPortal on Linux.

mojoPortal on Mono and a new release coming soon!

I am very close to making a new release, probably tomorrow or Tuesday.

I think this release we will include a set of files for mojoPortal 2.x on Mono. We will be retiring the old 1.x version, it will still be in svn, but we will move it from trunk to a separate branch and then we will move the 2.x version into trunk since we are finally back to one version for all platforms.

The first mojoPortal 2.x site running on a public server that I know of,, was setup and skinned by Anton Kytmanov. Thanks for letting me know Anton!

His configuration is:
1. Mono and xsp2 v1.2.4 from binary installation package that they provide on their site.
2. mojoPortal 2.x from SVN, compiled with MonoDevelop.
3. Database -- MySQL. Version 5.0
4. OS -- KUbuntu v7.04

I have also been running mojoPortal 2.x on my local OpenSuse machines for a while now. I'm not saying there are no bugs but its ready for more people to start experimenting with it and most things are working pretty well. WebParts is still not implemented in Mono so that will be left out of the Mono build.

Stay tuned, more info when I make the release.

Google Gears Looks Interesting

Google just released a beta of a new product called Google Gears. They've combined a browser plugin and a javascript API to enable local storage of data so that web apps can work offline. This is similar in concept to Smart Client, or so it seems to me, but with the desktop application replaced by the browser extension an the UI all handled by the browser rather than having the desktop UI installed on the client machine.

So I think for example you could implement something like for a travelling salesman who gets to connect from time to time but is not always connected. You might implement his contacts and product catalog as a web site but when he is disconnected the contacts and product catalog come from a local database via Google Gears. Whenever he connects the contacts and catalog would be updated and any orders he has entered can be pushed to the server.

The developer page for Google Gears is here:

TinyMCE editor is in svn branches/2.x

In follow up to my previous post, my initial implementation of the EditorProvider model is now implemented in svn (branches/2.x) with support for both FCKeditor and TinyMCE. You can set the default editor from Site Settings. Get the latest code from svn to check it out. We are also getting very close to a new release since we have a lot of good new things in svn.

Since FCKeditor doesn't work in Opera, I have it setup so that TinyMCE will be used for Opera regardless of the Site Settings default. I also have it currently set to use TinyMCE for Safari, but so far it doesn't seem to work. It says this is experimental which is the same status FCKeditor has but I've never been able to get either of them working in Safari myself so far. Tiny MCE does seem to work nicely in Opera. In Safari, both are degrading to a TextArea which is still functional but requires manual entry and formatting of html.

FCKeditor has browsing and uploading of images/files while TinyMCE requires entering an url. I'm going to look into trying to make a generic one that works with both based on the FCKeditor version. I'm also planning to get content templates working in both editors using a common source for the templates. I would like to  implement this also for styles, formats, fonts, colors etc so that they are the same regardless of the editor.

I've also noticed that there might be problems if switching back and forth between editors, content tends to get reformatted differently sometimes.

It nice to have both of these great editors working and now we can fully support Opera. Hopefully I can get one of these editors working decently in Safari at some point.

If you do any testing, let me know what you think.



TinyMCE editor coming soon

I'm planning soon to implement wrapper aound the WYSIWYG editor in mojoPortal using the provider model pattern so that different WYSIWYG html editors can be plugged in. In the early days of mojoPortal I decided not to do this because at the time there was really only 1 good open source editor and that is FCKeditor which we currently use. There were other things like FreeTextBox but it held no interest for me because its free only in dll form and is not open source.

Recently I have noticed that the TinyMCE editor has really matured and since it is open source I now have a motivation to implement the provider model to make it possible to use this editor in addition to or instead of FCKeditor.

The big advantage I see right away is that it supports Safari and Opera which FCKeditor does not. I also have read some things indicating it has advantages in terms of accessibility as well. I still have not figured out if there is a way to tab out of the FCKeditor with the keyboard, it always requires the mouse because the tab key just tabs within the editor. Maybe I'm missing something if anyone knows how to do this with any key combination let me know.

So I'm thinking it will be good to be able to specify a default editor for the site but if the browser is Opera or  Safari always use TinyMCE. Not sure how long it will take me to implement this but I'm going to look into it this weekend.

I suppose once the provider model is in place it will be possible for using other commercially available editors as well if anyone wants to implement the provider for it.