Posts in Category: Community

Support For Css Control Adapters Has Landed in Mono svn

Those of you who have been using mojoPortal on Mono will be excited to hear of an important milestone reached in the Mono project. Recently in Mono's svn repository (r100264 or newer) has landed support for ASP.NET CSS Control Adapters.

Thanks to the great work of Dean Brettle for implementing this in Mono! Dean has been involved with mojoPortal from the beginning and is also the author of 2 great projects, NeatUpload and NeatHtml, both of which are used in mojoPortal.

The need for Css Control Adapters arises from the fact that the original ASP.NET implementation of some important .NET controls like Menu and Treeview was less than ideal when first released by Microsoft. The problem was that these controls rendered as nested html tables instead of the more semantically correct nesting of ul and li elements. To solve this problem, Microsoft subesquently released the CSS Control Adapters. Since the Mono implementation of Menu and Treeview mirrored the original Microsoft implementation it also rendered as nested tables. Some plumbing was needed in Mono to support the control adapters and Dean stepped up and took on the task.

Because the mojoPortal css was designed to style nested ul and li elements and not html tables, up until now the menu in mojoPortal did not render or style correctly when running on Mono as shown in this screen shot of mojoPortal running on the current Mono 1.9 release:

menu style without css adapters

and now with the latest Mono built from svn:

menu with css control adapters

So I think the next release of Mono will be very exciting for anyone using mojoPortal on Mono.

Again, huge thanks to Dean Brettle, Marek Habersack, and anyone else who may have had a hand in getting this done!

Update 2008-04-10 1:46PM EST - Dean mentioned that: "Owen Brady (aka Ocean) deserves a lot of the credit.  I used his code to parse and process the *.browser files."


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

More Exciting News about The MySQL Conference

Just got confirmation that I will be co-presenting with Joseph Hill at the MySQL Conference and Expo. The session is titled Cross Platform .NET Development with Mono and MySQL.

"This session provides an introduction to application development with Mono and MySQL, and will discuss the current state of Mono, including its support for databases through ADO.NET and LINQ. We will also take a look at several tools that can be leveraged to ease migration of applications to Mono and MySQL, and explore how one open source ASP.NET application provides support for Mono and MySQL."

MySQL Conference and Expo 2008

I'm very excited about this conference and the opportunity to talk about mojoPortal, Mono, and MySQL. I've known Joseph through correspondence and his involvement with the Mono community since 2003 so I'm looking forward to finally meeting him in person. He's recently joined Novell as the Product Manager for Mono which I think bodes very well for the Mono Project.

In addition to co-presenting this session I'll be manning the mojoPortal booth. I've still got a few available entrance passes for anyone interested in attending and willing to help man the booth. We have one session pass to share between the 4 entrance passes so we'll have to take turns covering the booth and going to sessions. Let me know if you're interested and are able to arrange your own travel to the event.

mojoPortal Released

I'm happy to announce the release of mojoPortal

Its been over 3 months since the last packaged release which is a bit longer than usual, my general motto is release early and release often but I had set a goal for this release to include the Newsletter which took a little longer than anticiapted. I was also side tracked on some other projects and of course we had several major holidays and family events to sidetrack me too. As a result this is a significant new release with a lot of new goodness.

Whats New?

Newsletter is a feature that a lot of users have been asking for. Now I hope you will all login to this site and opt in to our new mojoPortal News. I plan to send newsletters about once a month but I suppose it will depend on how much news we have each month. Thanks to those of you who signed up for the testing list and provided feedback!

Google Maps is one of the things I got sidetracked on as a need for it came up in a customer project. After meeting the customer needs I dressed it up a little more and made a new mojoPortal feature that makes it easy to put google maps in your site with various options for showing satelite, hybrid, and driving directions.

A feature to allow banning ip addresses is now included. I periodically review my logs and see evidence of malicious traffic and decided it was time to block some of those. A new feature has also been added to capture users ip addresses so that if a site has any troublesome users they can be banned.  Of course they may come back using a different ip address but every little bit of defense helps. Another benefit of capturing ip addresses is that there are ways of determining approximate logitude and latitude based on ip addresses and this presents a possibility to create cool features to plot community members on a map. So this will lead to some other cool features in the future.

We have a new Simplified Chinese translation as well as updates to the Russian, German, and Swedish translations contributed by the community. Thanks to all!

In the Blog, as soon as you create a post with a future date a new "Edit Drafts" link appears to make it easier to keep track of posts you are working on but aren;t ready to publish.

This release contains updated version of FCKeditor (v2.5.1) and ExtJs (2.0) toolkit.

The Site Settings, Page Settings, My Account (User Profile), Manage Users pages have all been updated to use Tab Panel layout provided by ExtJs. I'm also using the ExtJs grid in several places. I've been writing .NET wrapper controls to make it easy to use these things.

Rob Henry and I both did a bunch of work trying to fix FxCop violations to bring the code into FxCop rule compliance. Very few projects pass all the FxCop rules. Not passing them doesn't mean the code is bad but following the Framework guidelines developed by MS is a good practice. We used CodeIt Right to help identify and fix a lot of them but there is still a good ways to go. I spent 2 solid weeks on it. Some of the changes were breaking changes so those of you with custom features that haven't been working with the code from svn may need to revisit your code and compile against the new version. The breaking changes were just due to renaming some things and can be fixed easily by careful find and replace of .SiteID with .SiteId, .PageID with .PageId, and .ModuleID with .ModuleId. Does the code work any different or better due to these changes? No but it makes FxCop happier and I think adherance to the framework guidelines is one metric of code quality that is easy to measure. I would not overwieght this as the most important thing though.

I also noticed Rob recently implemented a MySQL data layer for his Survey feature. I haven't had time to test it yet but plan to soon.

I spent a chunk of time working on performance improvements using RedGate Antz Profiler and MS ACT load tester. ANTS is a great tool for finding slow places in the code. So I was finding such methods to optimize then load test to verify performance improvement by the optimization. I was able to make some significant gains in requests per second on my test machine using this process.

I'm including the e-commerce feature in the MS SQL release this time. It still needs a lot of work on the customer facing side but it can sell download products processing credit cards through Authorize.NET. I'll be doing more work on this in the near future and plan to implement Paypal and Google Checkout providers soon. For now consider it experimental but if you want to experiment with it feel free.

It is now possible to make skins with up to 5 content sections as illustrated in the 5contentpanes skin.

Things are working a bit better on Mono as of late. We still have to compile a special build without WebParts but the MS AJAX Update panel works so we're back to one code base again whereas at the time of the mojoportal release we had to keep the version for Mono due to lack of MS AJAX. The biggest problem we currently have is the lack of support for CSS Control Adapters, but the good news is my friend Dean Brettle has taken on the task of implementing the needed support in Mono. Dean is an awesome developer and the author of NeatUpload and NeatHtml both of which are used in mojoPortal. I think its just a matter of time now and all the mojoPortal skins will look as they should on Mono. I know a number of mojoPortal users who are eager for this so its very exciting.

As always, be sure and back up your site and database before upgrading. Report any problems in the forums and we will try to help.

If you like mojoPortal please help spread the word. We've got a lot of exciting plans for 2008 that I'll blog about soon.


We've Been Invited to the MySQL Conference and Expo, anyone want to help represent mojoPortal?

Hey mojoPortal Community, exciting news!

We've been invited to The 2008 MySQL Conference & Expo. This would be a great opportunity to help promote mojoPortal. Anyone who is interested and able to get to this conference please contact me. It would be great if we could assemble a small team and take turns manning the booth and visiting the sessions.  joe dot audette [at] gmail dot com

The most difficult part will be figuring out how to afford to get there and pay for lodging. If anyone would like to donate to help us we would be grateful. See the PayPal link on the left of the home page if you can help. I need to confirm within the next 2 weeks or the free booth will go to another project.

Below are the details from the email I received from MySQL:

"The 2008 MySQL Conference & Expo will take place on April 15rd-18th in Santa
Clara, California (see for more details).

As for the last conference, we are arranging a "DotOrg-Pavilion" where we would
like to give Open Source Projects related to or based on the MySQL Server or
other MySQL Products an opportunity to showcase their work.

MySQL AB will provide the booth space (incl. electrical power and Internet
access) as well as free attendance to the conference and exhibitor hall for up
to 4 people per project. In addition, we will provide one full, (shareable)
conference pass per project, that permits access to the tutorials as well as
all other sessions of the conference.

What you will need to bring/prepare:

- Your own computers/demo equipment
- Banners, flyers, other marketing material (e.g. Demo-CDs, Merchandise)

I was wondering if you or somebody else from the MojoPortal Community would be
interested in representing and demonstrating your project there. If you would
like to learn more about this, please contact me directly or the MySQL
Community Relations team at"

UPDATE 2007-12-02:

Its official we're going to have a booth at this conference and I will be there demoing mojoPortal both on Windows and Linux using MySQL.

If anyone lives close enough to make it to Santa Clara and could help me man the booth it would be great. Its going to be difficult if I have to man it all by myself. We can get passes to the event for up to 3 more people so getting in is free. Plenty of time between now and then so I'm counting on recruiting some help. Let me know if you're interested in helping.

Huge Thanks to Todd Stone who donated $100 through PayPal to help make this possible!
We still could use some help raising funds to make this trip and jazz up the booth.

I'll be bringing 2 good laptops, one for demoing on Windows and one for demoing on Linux with Mono. I'm going to look into renting a couple of reasonably large monitors somewhere local to the event (unless someone local wants to volunteer to lend them) as I can't see trying to bring them.

This will be an exciting chance to bring  more visibility to mojoPortal and I plan to make the most of it.


New Survey Feature Landed in svn trunk

Those of you who subscribe to svn commit notification may have noticed the new Survey feature by Rob Henry landing in there recently. Rob has been working on this feature for a while and the feature is ready for some testing and feedback so that he can put the final polish on it. You can test using his demo site at

You can login using and password admin

The feature allows creation of complex multi page surveys and supports a variety of question formats. Currently its only implemented in MS SQL but we plan to add the other data layers after its finished.

Those working with svn trunk can just do svn update, rebuild the mojoportal-survey.sln or mojoportal-complete.sln in VS and then visit the siteroot/Setup/Default.aspx page and the feature will install automatically.

Post any feedback in the Developer Forums

Thanks Rob for your work on this! It will be a valuable feature for the mojoPortal community.