Things are shaping up on the VS 2005/ASP.NET 2.0 branch of mojoPortal. I am shooting for a release of that branch this weekend to ring in the new year.
It seems to be working very well on Windows and on mono with a few tweaks. There is really not much holding us back from just going forward with the vs 2005/ASP.NET 2.0 version.
So now I'm trying to figure out at what point we fully transition to 2.0 and how long we keep making releases for the 1.1 framework.
Most Windows developers I know already have VS 2005 and of course those of us who have it would rather work with the new version than the old version. But I get a lot of downloads of the release files so I'm not sure its only developers I need to consider. I would love to hear feedback on that question if you have a point of view.
This decision I think will have to factor into my versioning scheme. If we are going to support 2 release branches for a while I might bump the version for the vs 2005 branch of mojoPortal to 2.0 to distinguish it clearly from the 1.x branch but if we are just going to drop development on the vs 2003/1.1 framework version I'd be more likely to version the next release 1.x and from thence forward its not for ASP.NET 1.1/vs 2003 but for vs 2005. Obviously the second choice requires less effort than maintaining 2 branches, but will anyone be left behind? Speak up if you will be negativley impacted by a quick transition to 2.0
Thursday, December 29, 2005 4:14:42 PM
Using the new preview of VS 2005 Web Projects which allows you to implement web projects in a way more similar to VS 2003, I was able to convert mojoPortal to VS 2005 and get it running on mono at http://demo2.mojoportal.com/
It runs great on Windows, there are still some errors on mono if you click around in the administration section but that's major progress! Now I can start figuring out exactly what is broken and see if I can't get them fixed either by reporting bugs or maybe even trying to fix it in the mono sources myself.
I've committed the vs 2005 version of mojoportal source code to svn, you can get it here:
use anonymous for the password, you'll be prompted about 3 times on the first checkout. Its configured to use PostgreSQL, if you want to use a different db you'll have to drop the reference to the PostgreSQLData project and add a project reference to the data layer of your choice, MSSQLData or MySQLData.
Before you open it in VS 2005, make sure you have installed the new project type for VS from here: http://webproject.scottgu.com/
Configure IIS so that http://localhost/mojo2005 maps to the Web folder and build the solution
Let me know how it goes.
Managed to find workarounds for most of the issues running under mono using the vs2005 branch of mojoPortal. I haven't tested everything thoroughly but mostly it is working well now at http://demo2.mojoportal.com
There is a problem with the Event Calendar but that problem also manifests under Windows so its not a mono bug but an ASP.NET 2.0 breaking change. Overall, this is very encouraging progress. There are some major issues still remaining in mono but I have found non-horrible workarounds for them at least for mojoPortal.
The 2 biggest problems were
- System.NotImplemented exceptions when data binding a DropDownList or anything that inherits from ListControl. I worked around this by creating a helper function to add ListItems instead of calling the built in DataBind()
- System.NotImplemented exceptions anywhere a DataSet is used, it would break at System.Data.Common.DbDataAdapter:Fill. This is probably a big problem for a lot of projects but in mojoPortal I mostly use IDataReader so there were only a few places I was using DataSets and all I really needed was a DataTable so I created and populated one using an IDataReader instead of letting it come from a DataSet
I've commited the workarounds on the vs2005 branch for anyone who wants to play on the cutting edge. To make mod_mono use the 2.0 stuff see my tutorial on Virtual Host configuration, especially the part about the MonoServerPath setting. Of course those working on Windows have surely discovered the new ASP.NET tab in IIS settings where you can choose either the 1.1 or 2.0 framework
Saturday, December 24, 2005 11:19:08 AM
Release 1.0 is now available on the download page.
I've also put up a new tutorial on my personal site about configuring multiple sites running on a single ip address using apache Virtual Hosts with mod_mono on Suse 10.
In the article I walk through the apache setup for 2 mojoportal instances with different host names. Then I create a 3rd site using the multiple sites feature in the second physical instance of mojoportal so that it has 2 sites using the same web folder and database but the content and users are completely independent.
Sunday, December 18, 2005 8:51:00 AM
Its been a couple of months since we had a release but I think things are coming into place for a new release to happen within the next week or so.
Highlights of the coming release will be
- Support for LDAP authentication thanks to code contributed by TJ Fontaine
- Option to use a User ID for login instead of email
- New Forum Notification Subscription features and ability to delete threads and forums contributed by Dean Brettle
- A new module that lets you include html fragments from external files in a page
- The DatePicker and SmartCombo controls have been split into a separate assembly mojoPortal.Web.Controls.dll so they can be used easily in other projects
- Features for the Admin to update user names and delete users or flag users as deleted
- Various bug fixes
I'm thinking of a new versioning scheme, the previous versions were in the date format 20050912 which makes it easy to tell if you have the newest version but gives no idea how mature the project is. I think since we have passed the 1 year of development mark it is good to be able to know that from the version so the next version will be 1.2005xxxx to indicate the date of release and the number of years since the first release. Each year this will increment.
I'd like to thank Jasmin Savard for the new graphic depicting mojoPortal as boxed software.
I've posted a few things of interest lately on my personal site. Here is some information on the difference between VS 2003 and VS 2005 Web Projects and here is a new tutorial for installing Suse 10. It is the first in a series, the next one will show how to build mono from source code and the one after that will show how to install mojoPortal and configure Virtual Hosts in apache for using mod_mono.
Sunday, December 04, 2005 7:04:34 AM