Welcome to Rainbow Portal Community Sign in | Join | Help

Internet Explorer Developer Toolbar

I recomend the Internet Explorer Developer Toolbar to everyone, it's quite pleasant to use.


The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:

  • Explore and modify the document object model (DOM) of a Web page.
  • Locate and select specific elements on a Web page through a variety of techniques.
  • Selectively disable Internet Explorer settings.
  • View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
  • Outline tables, table cells, images, or selected tags.
  • Validate HTML, CSS, WAI, and RSS Web feed links.
  • Display image dimensions, file sizes, path information, and alternate (ALT) text.
  • Immediately resize the browser window to a new resolution.
  • Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
  • Choose direct links to W3C specification references, the Internet Explorer team weblog (blog), and other resources.
  • Display a fully featured design ruler to help accurately align and measure objects on your pages.
  • Find the style rules used to set specific style values on an element.
  • View the formatted and syntax colored source of HTML and CSS.

The Developer Toolbar can be pinned to the Internet Explorer browser window or floated separately.

Rainbow 2.0 Beta and Zen Engine

Ok, So it is almost 1 am, and i have to stop for the nite, but I thought I would update my findings.

I made some changes to the zen engine, and got it to render:


it currently renders a standard asp.net menu control, using cssfrendier rendering in keeping with zen, i borrowed some of the css adapter code, and injected into zen navigation. it can render horizontal and vertical.

I need to work on the css a bit, and a missing js file, but in principle it works, and a few more days i shuld have it working fully.

Zen engine also has no problems with the URL rewriting stuff miguel has implemented as my menu, pages, and everything work fine.


Posted by Jonathan | 5 Comments

Conversation with Don at Dell on-line chat

5:58:41 PM System Initial Question/Comment: I have a wired
LAN and router at home. I'm going to buy a laptop with built in
wireless. Which wireless router
should I buy? 

6:01:11 PM System You are now being connected to an agent.
Thank you for using Dell Chat

6:01:11 PM System Connected with BE_Rep_Don 

6:01:22 PM BE_Rep_Don Welcome to Dell Sales Chat. My
name is Don.
I'll be your personal sales
agent today. Give me a moment to review your concern. Please don't go

6:01:34 PM BE_Rep_Don hello there Mike.

6:01:41 PM You hi 

6:02:28 PM BE_Rep_Don let me check. 

6:05:03 PM You more info.... i have a cable
modem and an 8 port linksys router. 

6:06:05 PM BE_Rep_Don you mean wireless card? 

6:07:59 PM You no. i'm going to buy an e1705
(or similar) which has a built in card. i have no wireless access point
in my home though so i presume i need a
wireless router of some kind. 

6:09:39 PM BE_Rep_Don do you know the frequency of
that router that you have? if yes you don't need to include one. 

6:10:11 PM You frequency? what's that? 

6:11:02 PM BE_Rep_Don what frequency does it have

6:11:33 PM You are you reading what i have
typed? i don't have a wireless router! 

6:13:21 PM BE_Rep_Don hold on please. 

6:13:30 PM BE_Rep_Don What's the starting price of the

6:14:24 PM You what package? 

6:15:36 PM BE_Rep_Don can you give me the link you are
looking at? 

6:16:11 PM You

6:16:19 PM BE_Rep_Don hold on. 

6:21:55 PM BE_Rep_Don choose the Netgear WPN824
RangeMax Wireless Router. 

6:22:34 PM You why that one? 

6:24:14 PM BE_Rep_Don brings blazing wireless speeds
and improved range for connecting to the Internet.

6:25:28 PM You I can copy and paste from the
product details too. You've got to give me more than that. Does this
replace my existing

6:26:43 PM BE_Rep_Don yes it can. 

6:27:45 PM You or can i use it as a bridge.
this one only has a 4 port switch and i have 6 devices to connect 

6:31:02 PM BE_Rep_Don what router do you have? 

6:32:17 PM You linksys 8 port switch 

6:34:23 PM BE_Rep_Don hold on. 

6:38:54 PM BE_Rep_Don you can connect the laptop to
you old router if that router uses a/g frequency. 

6:40:04 PM BE_Rep_Don Are you planning to purchase
this system online today? 

6:42:16 PM You i was until you confused me. my
old router is NOT wireless so I'm not sure why frequency is relevant 

6:45:29 PM BE_Rep_Don you can use your old router as
long as the wireless card and your router frequency will match. 

6:47:19 PM You ok, i've got a linksys BEFSR81 -
you tell me what its frequency is..... 

6:47:37 PM BE_Rep_Don let me check. 

6:52:03 PM BE_Rep_Don I'm sorry, the router that you
have will not work with the notebook, you need to get a wireless router.

6:53:23 PM You ah, the penny drops....... and
connect the wireless router to my linksys.....

6:56:00 PM BE_Rep_Don no you don't need to connect it
this can work alone and you can connect all your system in this router.

6:57:43 PM You but there aren't enough ports in
the built in switch 

6:59:15 PM BE_Rep_Don hold on please. 

6:59:34 PM BE_Rep_Don how many system will you be

7:01:21 PM You at least 6, probably more in the

7:06:12 PM BE_Rep_Don for the exceeding system you
need to get a wireless card. 

7:08:16 PM You why can't i buy a wireless
router/access point and connect it into my existing LAN? 

7:11:52 PM BE_Rep_Don because you have no option to
connect it, this wireless router will be replacing your LAN. 

7:14:47 PM You I'm going now. While you have
been wasting my time I have answered my own question.
(in access point mode)

7:16:39 PM BE_Rep_Don Is there anything else I can
help you with?

Posted by Jonathan | 4 Comments
Filed under:

Programming the Web

In the past several years, the idea of web services has grown, in my opinion largely due to Microsoft pushing it with the .NET framework. In reality, it's not exactly a new concept, but the visibility of the technologies along with the improvemts in bandwidth have pushed it all to the next level. Due to my boredom lately and the abundance of "way to many new things" to learn, I am taking an approach insteaf of learning a bunch of new stuff at the time being, to develop my skills in what I know farther. So, in line with my previous posts, I will continue to explore things like Custom Controls, VSIP, design Time Support, and now as well, exploring the usage, api's and quality of some services out there. As I work on them, I will do so trying to use them in Rainbow, and finding things to do with them on my sites jonavi.com and rainbowbeta.com

In the comming weeks, I am trying out a few service oriented features of some popular apps.

For example.

There are many many "Web 2.0" services out there, I will add more to this list as I find myself testing them and trying them out.

Technorati Profile  - I need this link for claiming with Technorati :-)

Web.Config Request For Help

Hello Everyone,

Eveyrone please check you web.config and delete any non generic connection strings.

I believe in one of the sandboxes ( possibly mine too ) a connection string for my database is sitting there. I went to my site today, and it's trashed, becasue someone overwrote my home page and some other things. It's my own fault for carelessly checking in my connection string ( lesson to us all ). However I am not home, and can not fix the situation, I ask some of the devleopers who have time today to please correct all the web.configs in the SVN repositories.

Eveyrone's web.config should only have their own and / or the generic rainbow sample connection strings.

Thank you and please... please.. please.. check this before you modify any more pages, in case you are hooked up to my db  :-)



Posted by Jonathan | 1 Comments

.NET Framework 2.0 + WCF + WPF + WF + WCS = .NET Framework 3.0


I was getting ready to write this cool, earth shattering blog entry, but I was beat to the punch in a fancier fashion. So instead, I will summarize, and point to the resources :-)

.NET 3 is a collection of technologies and addons to the 2.0 Framework. It is not in my opinoin, and confirmed now a bunch of new bcl or clr stuff. It's features, platform, powerful features that may be rich and complex, but nevertheless, it's features.

Kirk Allen Evans' Blog

".NET Framework 3.0 uses the same C# and same features that were released in October 2005 with .NET 2.0, formerly code-named "Whidbey").  We didn't change the framework, we just added a couple new things to it."

.NET 3 looks like this:

There are some cool things like LINQ and Entity Framework which are not being released yet, those will be part of the next C# Language set release or BCL / CLR actual Framework update. .NET 3 uses the same 2.0 Framework.


Posted by Jonathan | 2 Comments
Filed under: ,

LinQ, Blinq, and ContentDB

So, I tested out LinQ today, and found my way to Blinq which is an autogenerator admin tool for DB's generating a bunch of asp.net pages, linQ code, super fast, using a couple of cool things.

All in all very nice, generating a site with the following info in a matter of about 4 seconds.


   1:  public Table<Category> Categories;
   2:      public Table<Cultures> Cultures;
   3:      public Table<Permission> Permissions;
   4:      public Table<Statu> Status;
   5:      public Table<Item> Items;
   6:      public Table<ItemCategory> ItemCategories;
   7:      public Table<AspnetWebEventEvent> AspnetWebEventEvents;
   8:      public Table<CategoryRelation> CategoryRelations;
   9:      public Table<DynamicCode> DynamicCodes;
  10:      public Table<StatusCategory> StatusCategories;
  11:      public Table<TypeRelation> TypeRelations;
  12:      public Table<ItemPermission> ItemPermissions;
  13:      public Table<TypeInheritance> TypeInheritances;
  14:      public Table<ItemStatuses> ItemStatuses;
  15:      public Table<TypeSetting> TypeSettings;
  16:      public Table<ItemSetting> ItemSettings;
  17:      public Table<Sysdiagram> Sysdiagrams;
  18:      public Table<ItemStandardData> ItemStandardDatas;
  19:      public Table<AspnetApplication> AspnetApplications;
  20:      public Table<AspnetUser> AspnetUsers;
  21:      public Table<AspnetSchemaVersion> AspnetSchemaVersions;
  22:      public Table<AspnetMembership> AspnetMemberships;
  23:      public Table<AspnetProfile> AspnetProfiles;
  24:      public Table<AspnetRoles> AspnetRoles;
  25:      public Table<AspnetUsersInRoles> AspnetUsersInRoles;
  26:      public Table<AspnetPath> AspnetPaths;
  27:      public Table<ItemTypes> ItemTypes;
  28:      public Table<AspnetPersonalizationAllUser> AspnetPersonalizationAllUsers;
  29:      public Table<ItemContent> ItemContents;
  30:     public Table<AspnetPersonalizationPerUser> AspnetPersonalizationPerUsers;
Now, the cool thing is it actually works, i put in some test data, not to say it's perfect.
Some pages don't work, or throw exceptions, but I am led to believe that is due more to the
database not having any data to work with. Also, it points out some challanges, like naming
things with the same names in too many places. Since it picks up on relationships and some
other cool things.
I will try to "accomidate" the db to work with Blinq smoother, and I believe, that I will
use it as a basis for the ContentAPI core. Since it generates a very extendible core, but
with basic/limited built in functionaliry. Paula, the creator of Blinq, even did what I
originally did, putting in the observer property changes on all the properties. Making it
pretty straightfoward to upgrade to some things in the ItemType Filip and I had been talking
about and mocking up on our local code.
Now, people may say well, you can't use Blinq for rainbow, since you can't expect c# 3 to be
installed everywhere. Maybe... but Content API is going to take a little while, and all the
new techs are being pushed strong by MS, and I think this puts us in good place to push Rainbow
ahead of the game in the CMS world. Also, it keeps in line with the original idea that Content API
would be a pluggable piece into the core. And over time, replace most/all of it. Since that would
take time anyway, I am not really worried about the timeline. And Rainbow 2.0 seems to be a while
Away from production / release anyway. ( Reminds me, i have to check the SVN to see what's been
updated, as (shamefully) I have not been keeping up with MGF and CMR Progress recently with regards
to the providers, asp.netDB and push to DEV.
Ok, thats all for now. 


DNS - .NET Blog

I have a new additional blog, that will be focused more on .NET specifics, as well as Extensibility and automation as opposed to this blog that is more Rainbow and Application geared.

My DotNetSlackers Blog 

It is a new blog, with few posts so far, but among them are things like this.

I know I could keep the blog all hree, and have it be potentially easier to follow, but the simple fact is DNS is a more .NET specific blog as opposed to the Rainbow Community Blogs, and they have a bigger audiance, that I would like to try an attract some audience with. My aim is to be able to put interesting content in both blogs, and try to attract some DNS readers to this community by following the links in blog entries.



Posted by Jonathan | 0 Comments
Filed under:

WinFS - No more

Quentin Clark of the WinFS Team posts of the projects demise.

Well he actually said was they broke up the project across different products, and some day they'll go into Windows, etc.

In the comments, they mention an interesting question which is just what I was thinking

"When did WinFS stop being about a relational file system?"

For 10 years we have all waited for the Relational file system, the speed, the flexibility, the ability to develop wonders against it. To code something like

SearchDocument<Songs> songList = WinFS.Select("*", "MP3"); or something ridiculous like that the possible overloads :-)

We can stlil do that with the SQLServer incarnation, but it's not the same.

What I did enjoy reading was the integration of the Item System into ADO.NET and such, makes me wonder if I need to write the Content API, or just wait for that, and have the Content API use that and extend it for ContentManagement suitable by portal systems like rainbow and such.

Posted by Jonathan | 3 Comments

Awsome Design time Tutorial

jHawk has a bit on control development and designer support if anyone is interested:
Some cool things he shows like :
  • DataBoundControlDesigner
  • Control Collections
  • Embedded Resource Files
  • and more...

It's just a very nice complete sample, with plenty of code to look at, with a PDF outlining things pretty easily. For those who are looking to learn about designer support and some other more advanced control building topics, the Realestate sample he provides is top notch. Probaly as usefule as the Provider Toolkit the asp.net team released a while back.


Posted by Jonathan | 0 Comments
Filed under: ,

Provider Based Features

Found a nice newish article on MSDN about creating provider like features, not just extending them.

"The ASP.NET provider-based features rely on a common set of public types and helper classes. Stefan Schackow shows how to author your own provider-based features by leveraging the provider model support in the .NET Framework 2.0 to quickly and easily build a pluggable and extensible provider layer."

Althouh it's true that the provider toolkit gives great samples on extending and working with the providers, this article focuses on a provider from start to finish. While also providing a clean, nice Provider Template you can use in VS 2005.

Article and Presentation by Stefan Schackow

Code Template for Provider Based Feature

Posted by Jonathan | 0 Comments
Filed under: ,

Generic Setting Object

Well, i was looking at the content api, and noticed, settings are reptitive in a few objects, and they need to support different types.

i was working on it a bit, and came up with something like this... i hope to get some feedback, because filip and i are moving along, and the base code once in place, wont change for a bit as we proced, as setting is a key base type in the api. ( similar so in rainbow and most aps in general ).

the thing is a setting, jsut like in appsettings, come down to a simple key value pair. it gets more interesting when you say the value has a type, so now you have key, value and type. lastly, it may be interesting to know when a setting is changed.

So here is my proposal for a setting object.


   1:  [Serializable]
   2:      public class Setting<T>
   3:      {
  11:          private T _value; 
  12:          private string _key;
  14:          public Setting()
  15:          {
  16:              _value = default(T);
  17:          }
  18:          public Setting(T value, string key)
  19:          {
  20:              _value = value;_key = key;
  21:          }
  23:          public T Value
  24:          {
  25:              get
  26:              {
  27:                  return _value; 
  28:                                //
  29:              }
  30:              set
  31:              {
  32:                  if (!_value.Equals(value))
  33:                  {
  35:                      _value = value;
  38:                  }
  39:              }
  40:          }
  42:          public override int GetHashCode()
  43:          {
  44:              return base.GetHashCode();
  45:          }
  47:          public override string ToString()
  48:          {
  49:              return "Key = " + this.Key + " : value = " 
  50:                   + this.Value.ToString();
  51:          }
  54:          public string Key
  55:          {
  56:              get { return _key; }
  57:              set { _key = value; }
  58:          }
  97:      }
Posted by Jonathan | 6 Comments
Filed under: , ,

Tips on Posting Forum Questions

I have been hanging out on forums a lot this year, rainbow forums, asp.net forums, and a littl eon the msdn forums, as well as a few other places, and I am noticing a few things. Mainly, most people do not put any thouht into posting their forum questions. It is almost like the forums have become an "easy" way to get some homework done for you.


1) Search for you question in the forum. If you don't find your exact title, try a few of the key words to see what comes up.

2) Do your best to post in proper forums, so if your question is about Javascritpt, try to look for the client side or javascript forums, not the ado.net forum for example.

3) The title of your post is very important.... do not say things like "help needed". Instead do your best to summarize the proplem or key words as consicely as possiblt. This will have the effect of people answering your question more likley, also being looked at by people who are more likley to be able to give you fuller answers, as they "noticed" something they may be able to help with in the tile. Lastly, it helps things like #1 return better results for you and others.

4) When you post a question, especially with regards to a code issue you are having, please post a code snippet, error message, something that will help us debug/diagnose and help you. If not... we spend the first few postings back and forth trying to get that information from you.

5) When you get an answer that satisifes you and helps, please make a final post to acknoledget that, so that people arent left wondering if it's an open issue.

Keep in mind, people on the forums are taking time out of ther day to VOLUNTEER and help other people out. This is one of the great things about communities, but the kindness of people is often abused or mishandled. Please be aware and conciderate, and try to "help others help you", and not make them work to help you.

Posted by Jonathan | 0 Comments
Filed under:

Site updates

I updated Jonavi.com with the latest Rianbow pre alpha 4 release... whatever that means.


this includes membership and some other stuff.

I kind of lost my user for now, until my host fixes my remote access to sql server, and this site upgrade somehow doesn't recognize my old user? hmm... bug... or did i just forget my password and i need the db ;-)

in anycase, i can't update content reallly, yet.... but... i do have httpcompression turned on, i think, if i remembered to turn the setting on... in web.config.

i am also testing a webconftrol library of mine that allows for multiplel  enviroment app settings, and some other stuff.

check out the tab control demo which utilizes the config app.


I will also be updating RianbowBeta.com when the real alpha 4 comes out... or maybe even with this version if i can get my db access back.


While Filip and I are working on some pretty cool things, we wanted a nice configuraitoni manager.

Recently, i had come accross an article by rickstrach, with a sample of reading some config settings into a class at run time.

Well, i worked on it a bit, and extended it to support multiple enviroments, and some other suff.

as a sample of waht i mean... in my web.config app.settings.

my goal is to have only one main setting.

<add key="Env" value="Dev" /> // For example.

What this does is at first application load, it checks to make sure all config settings exist in web.config, if it doesn't it creates them for that enviroment...

i.e : 

add key="JFWC.ConfigSettingsLastUpdate" value="6/3/2006 2:42:06 PM" />
add key="JFWC.TabControlCSSClass" value="TabControl" />
add key="JFWC.TabControlMenuSkin" value="TabControlMenuHorizontal" />
add key="JFWC.TabControlMenuCssSelectorClass" value="TabControl" />
add key="JFWC.TabControlMenuOrientation" value="Horizontal" />

NOw, the setting names are actully without the JFWC. but the code attaches a naming convettion to ensure uniqueness, so it attaches assembly information to the settings.

now, if you modify a setting in web.config at app load those values are placed into the config class thorugh reflexion.

This way in code i do thing s like  tabMenu.Orientation =  Config.TabControlMenuOrientation which is actually an enumeration of the orientation type. and the config class knows this :-)

comes in handy with things like numbers so you dont have to cast them alwasy.

also it's very easy to just update one abstract class inernally all the tme when coding if  i need a new setting (remember... hard code nothing, config everything :-) ). ... welll, to a point. sometimes not.


Posted by Jonathan | 1 Comments
More Posts Next page »