A New Release Soon

A new release of mojoPortal is coming soon, either this Sunday or the following one if all goes well.

Hopefully we will release version 2.0.1 for Windows/2.0 .NET and version  1.0.1 for 1.1 .NET or Mono.

Most of my recent work has been in the 2.x branch. The 2.0 release of mojoPortal was just compiled against the 2.0 .NET framework, it did not use any of the 2.0 .NET features per se, but the upcoming 2.0.1 release will use a number of 2.0 .NET features.

Changes for the 2.0.1 version

  • MasterPages, previously we were using Paul Wilson's MasterPages which made this an easy change
  • Themes, using a custom VirtualPathProvider and VirtualFile, I am storing the theme.skin files in the same folder with the other skin elements like layout.master and style.css and images under ~/Data/Sites/[SiteID]/skins/[skinname] instead of in the default App_Themes folder. Themes give you awesome control over the visual properties of all the built in server controls. I have stubbed out most of the server control properties in the skin.theme files with the default properties to make it easy for designers to know what properties are available.
  • I implemented a custom SiteMapProvider and am now using the new ASP.NET Menu control for the menu instead of skmMenu. The skmMenu is still there if you want to use it there is a setting to allow that and you can also use the new TreeView control for the menu if you wish.
  • I reduced the number of included skins but the ones I kept are all using css layout with no tables.
  • I removed table layouts from most of the modules and supporting pages except where displaying tabular data
  • The site is in general now XHTML compliant though it may still be possible in some cases that you could manage to get non compliant markup into the database. To get my sites compliant I had to do some cleanup of existing content in the db.

Changes for both 2.0.1 and 1.0.1 versions

  • Update to the latest version of NeatUpload, the awesome upload control by Dean Brettle
  • Dean Brettle is also working on a new Cross Site Scripting (XSS) prevention technique that will hopefully be in this release
  • The last release added support for LDAP Authentication against OpenLDAP contributed by TJ Fontaine, this release we add support for Active Directory authentication as well as regular Windows NTLM authentication with help from Haluk Eryuksel, who also contributed the Turkish translation
  • Joseph Hill added a whole new data layer for SQLite and also provided a feature to expose the forums as RSS
  • I implemented a feature to automatically create initial site data for new installations and when creating new sites. Previously we had separate data creation scripts for each data layer and over time they had become inconsistent. This feature eliminates the need to maintain data creation scripts and makes the initial data consistent no matter which data layer is used. The initial data is retrieved from text files with a .config extension stored under Data/MessageTemplates and can be localized or customized

Numerous other little changes and fixes have also been done. If any of you think of anything major I've forgotten to mention let me know and I'll update this post.

For the current release, there will be no difference in the data schema between the 1.0.1 and the 2.0.1 versions but going forward the 2.x branch will begin to diverge as I add tables and columns to support the Personalization and Membership APIs and other plumbing to prepare for converting the modules into WebParts.

Its been several weeks since I have done any serious testing of the mono 2.0 stack. At my last test it was still broken in a number of places. I know they have been working hard on it though and I plan to get back on the testing and bug reporting after this release is shipped. Once the 2.0 mono stack is ready and stable we will drop the 1.x branch and get back to supporting just one version on all platforms.