Proof that anyone can do it RSS 2.0
 Monday, March 12, 2007

I had a chance today to try out the Rainbow Portal 2.0 Beta.  So far, I'm pretty happy with it.  Of course, I struggled with the a checkout of the dev code for a while because I don't have Visual Studio .NET 2005, but once I restarted with a download of the zipped application, the installation went OK. 

The only problem I encountered during setup was a Configuration Error (see below):

Configuration Error !

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Unrecognized attribute 'xmlns'.

It turns out this is a problem of IIS trying to make the application use the .NET 1.1 framework.  It can be forced to use the 2.0 framework by changing the application's ASP.NET settings (In IIS Manager, right click your Rainbow application, Properties, ASP.NET; then choose the .NET 2.0xxxx framework). 

I even had a go at converting one of my more simple custom modules from Rainbow 1.1 to 2.0.  It was pretty painless too...

  • Open the module's csproj file in C# 2005
  • Run the conversion in C# 2005 to convert the project to .NET 2.0
  • Remove the references to Rainbow, Rainbow.Settings, and Esperantus DLL's
  • Add a reference to Rainbow.Framework.Core.DLL
  • Build, and start troubleshooting code issues (mostly namespace issues in my experience)
  • Once those issues are out, you add the module to the portal just as in Rainbow 1.1.
Monday, March 12, 2007 2:09:13 PM UTC  #    -
.NET | Rainbow Portal
 Monday, December 05, 2005

So, 'Rainbow Portal 2006' was released just after the fall developer's meeting in Italy.  Since then, the development list has been extremely quiet...no news is good news?  Hopefully, others are just working independently or taking some time to catch up on other things. 

I've been deploying commercial Rainbow Portal powered sites for a few years, now, and I'm at least somewhat familiar with most aspects of 'how it works'.  At one point or another, I've been elbow-deep in almost every dll in the portal...and I've been pretty impressed with the effort put in by those that have contributed. 

My point is that at some point through all this, I forgot how 'cool' the whole concept of a self-managed portal/website really is.  On two separate occasions in the past 10 days, I ended up explaining/demonstrating the portal to good people that aren't programmers and for whom HTML, CSS, and C# are totally foreign.  It was fun (refreshing?) to hear them shaking their head in wonder and amazement...especially since they saw how they could easily maintain a website 'themselves'. 

That's cool, guys (ok, it's 'nerdy cool').  My point is that the Rainbow Portal project has done good things for a lot of people...in a number of ways.  Obviously, it has provided an easy, powerful, and inexpensive means for plenty of people to 'get a web site'.  I've customized it to extend the useful life of (and interact with) a 20-year old property/evidence management system, with results better than I could have imagined (and saving an ungrateful 'customer' thousands of dollars in recovered time).  Dozens (hundreds?) of commercial web sites are running strong with Rainbow in the backend.  Along the way (as in my case) it has also improved the skills of the programmers involved in it. 

Hopefully this post will draw enough attraction from Google to bring some of the core Rainbow developers out to view it...thanks again, guys, and Happy Holidays.

Monday, December 05, 2005 9:45:57 PM UTC  #    -
Programming | Rainbow Portal
 Tuesday, June 21, 2005

Jeremy Esland has just added a slew (yes, slew is a real word...look it up) of new features to the Rainbow core and/or documentation.  They include: 

  • A much improved portal alias retriever:  you can now host 'sub-domains' on the same Rainbow installation as 'regular' sites...so support.example.com and sales.example.com can exist happily alongside example.com, example.co.uk, and www.example.com (even when the latter three point to the same site).  It seems simple, but this is a huge step forward, IMHO. 
  • A new smarterror handler that provides much better interface for the end user when a page doesn't load (404, 403, 500 errors, for example).
  • Terrific CSS documentation to support the Zen layout framework...though it also serves as a pretty good tutorial for those with only a basic understanding of the power of CSS. 
  • MagicUrls: These will allow a site admin to avoid complicated URLs, simplifying targets from (for example) www.example.com/site/2271/default.aspx to www.example.com/articles.  Much better for the typical human user, eh? 
  • Much improved behavior for search engine optimization...amond other things, this should prevent spiders from indexing error pages!

All this (and more) is in the Dev build right now...watch for it in a (hopefully near) future release! 

Tuesday, June 21, 2005 2:35:31 AM UTC  #    -
Rainbow Portal
 Wednesday, June 15, 2005

Last week, I decided I needed the capability for the Rainbow portal to let authenticated users 'customize' a module for themselves.  This way, whenever the user loads the page with that module, his custom settings are retrieved and applied as the module is rendered.  

With this functionality, a developer can allow the user to customize just about anything in the module; it could retain sort order for a list, filter preferences, even the theme of the module could be customized on a per-user level. 

This enhancement has been applied to the 'dev' build, so Rainbow developers are free to play with it right now.  Hopefully, end users will see it in the next release! 

Read more about it here

Wednesday, June 15, 2005 7:57:12 PM UTC  #    -
Rainbow Portal

I finally 'finished' the Recycler module for the Rainbow Portal...at least enough so that it works and I'm reasonably confident in its security and reliability.  This enables Rainbow portal administrators to delete modules, with the option to later restore them to the same (or a different) page...with the module's contents still intact. 

I ended up splitting the 'Recycle Bin' functionality from the module itself, so that other developers can write their own (better) Recycler modules (and uninstall mine).  The Rainbow core now holds all the functionality itself and exposes methods for future Recycler modules. 

It's in the 'dev' build right now...when it eventually moves to the release build, you'll know it because the new 'Use Recycle Bin' Site Setting will appear in your portal's administration page.

You can read more about it here.

Wednesday, June 15, 2005 7:52:39 PM UTC  #    -
Rainbow Portal
 Wednesday, March 02, 2005

While working on a custom module for a Rainbow installation, I recently ran into a new kind of issue.  I created an 'edit' page for my module, deriving it from the Rainbow.UI.AddEditItemPage class. 

When viewed in the browser, this new page lacks all of the css properties...no colors or fonts to match the rest of the portal. 

The solution, it turns out, is that the <head> tag on that page must be told to run at the server...i.e....

This:       <head runat="server"></head>
Not This:  <head></head>

This allows the CSS link to be injected when the page is called. 

Wednesday, March 02, 2005 4:39:02 PM UTC  #    -
Rainbow Portal
 Tuesday, June 08, 2004

I've never been so pleased to see Rainbow's CVS download broken!  As strange as it may seem, it just reminds me how much work is getting done on the project, as developers from all over the place are squashing bugs at an incredible rate. 

I suspect the CVS package will stabilize in the not-so-distant future, and Rainbow will be stronger and more stable than ever.

Tuesday, June 08, 2004 10:34:47 AM UTC  #    -
Rainbow Portal
 Friday, June 04, 2004

With Rainbow installations, occasionally I'll end up with some (or all) objects in the database being owned by my local ASPNET account (computername\ASPNET).  This results from building the database with a trustedconnection, and while I know this, I always forget and do it anyway. 

The problem is that when I try to upload the existing database to a 'live' one somewhere, now that local ASPNET account owns everything and things go very sideways. 

Anyway, I found this SQL script a while ago that (in two steps) changes the ownership of all the objects in a database to 'dbo'.  I didn't write it, and it's been so long now, I don't even know where I got it...if it was yours, thank you very much.  If not, here it is:

SELECT 'EXEC(''sp_changeobjectowner @objname = '''''+   ltrim(u.name) + '.' + ltrim(s.name) + ''''''   + ', @newowner = dbo'')'
FROM  sysobjects s,       sysusers u
WHERE s.uid = u.uid
AND   u.name <> 'dbo'
AND   xtype in ('V', 'P', 'U')
AND   u.name not like 'INFORMATION%'
order by s.name

Run this in Query Analyzer (with 'Results to Text' option set), then copy those results into a new QA window and run them. 

Friday, June 04, 2004 10:41:48 AM UTC  #    -
Rainbow Portal | WorkArounds
 Thursday, June 03, 2004
On the off chance that someone else will encounter the same errors, I'm posting the problems I'm encountering in this upgrade.
Thursday, June 03, 2004 10:44:07 AM UTC  #    -
Rainbow Portal
 Wednesday, May 26, 2004

It's a little like watching the neighbor kid grow up...a year ago, a Google search for 'Rainbow portal' would hit on rainbowportal.net, and not much more. 

Now, you get pages and pages of hits, including this one and this one, which offer special Rainbow hosting packages.  I can't wait to see those results next year, with a v1 release behind us and .Next getting rolling.

Wednesday, May 26, 2004 2:49:56 AM UTC  #    -
Rainbow Portal
 Saturday, April 03, 2004

In a post last week, I complained that one of my Rainbow installations was hung on the update screen with the 'Your Database is up to date' message.  I found a solution (work-around, really), but more explanation is in order first. 

I had backed up a production database onto a local server, then tried running the update.  This backup had been made by copying the production data over an existing database, with the data copy mode set to 'overwrite'.  This is the scenario that caused problems. 

I ended up wiping out all tables in the local database, then running the data transfer again from the production site to the local one.  When I ran the update against this new local DB, it went just fine. 

So, I solved the problem...but I don't really know what it was...or something like that. 

Saturday, April 03, 2004 1:42:47 AM UTC  #    -
Rainbow Portal
 Tuesday, March 30, 2004
In trying to update a Rainbow installation from v 1756 to 1757, I'm stuck with the message 'Your database is up to date'
Tuesday, March 30, 2004 7:54:02 PM UTC  #    -
Rainbow Portal
 Tuesday, February 17, 2004

It looks like Cory took advantage of his government-mandated Presidents' Day holiday to load up the Rainbow v.Next web site with content.  I was just there a couple days ago to view the skeleton, but it's really fleshing out now. 

It's cool to see someone as re-charged about this project as Cory is.  Check it out!

Tuesday, February 17, 2004 7:57:57 PM UTC  #    -
Rainbow Portal
 Friday, February 13, 2004

I worked a little on a development Rainbow site, rebuilt it, and tried to view it.  I got an error...



Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Access is denied: 'Esperantus'.

Source Error:

Line 256:                <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 257:                <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 258:                <add assembly="*"/>
Line 259:            </assemblies>
Line 260:

Source File: c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config    Line: 258

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Esperantus' could not be loaded.


It took some time to find a link on MSDN that looked similar and recommended to turn off the Indexing Service. 

That worked, but why it was necessary now and not the 1,000 other times I've worked on this app., I don't know. 

Friday, February 13, 2004 6:30:21 PM UTC  #    -
.NET | Rainbow Portal
 Tuesday, February 10, 2004

When the IBuySpy portal was released along with ASP.NET 1.0, I pretty much used it to teach myself programming with .NET.  In January 2002, Cory Isakson convinced me that I should abandon the enhancements I'd made to it and join the Rainbow Portal project, even though this meant learning C# along the way. 

More than a year later, I can't believe how Rainbow is growing.  As I type this, I'm listening to the second hour of a broadcasted meeting between Cory and a handful of Boise, Idaho area developers using (or considering, I think) Rainbow for various reasons. 

If you're new to .NET (or software development in general), Rainbow is an excellent place to start.  The learning curve is steep (meaning “challenging, but short“), but the rewards are many. 

It's exciting to be (even a small) part of a project that really has HUGE potential.  Join Rainbow, and you are welcome to be a part of that, too!

Tuesday, February 10, 2004 3:13:37 AM UTC  #    -
.NET | Rainbow Portal
Archive
<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
Quick Quips
    About the author/Disclaimer

    Disclaimer
    The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

    © Copyright 2008
    John Bowen
    Sign In
    Statistics
    Total Posts: 152
    This Year: 3
    This Month: 0
    This Week: 0
    Comments: 164
    Themes
    Pick a theme:
    All Content © 2008, John Bowen
    Theme modified from the 'Business' theme created by Christoph De Baene (delarou)