Atlas Control Toolkit (And Why It is Really Cool)

Earlier this week we released the April CTP refresh of Atlas (which, like the March CTP drop, supports a go-live license). 


Yesterday we then made available the first download of our new Atlas Control Toolkit, which runs on top of the core Atlas bits and provides a bunch of cool free Atlas-enabled controls that make even more common Ajax scenarios no-brainer easy to implement.  You can run the samples from the Atlas Control Toolkit online here.  You can then download the Atlas Control Toolkit here.


I’m really jazzed about the Atlas Control Toolkit for three reasons:


1) It is the start of what is going to be a very large set of controls that make common Ajax scenarios super easy.  Want to add nested drop-downlists to your page?  Use the new CascadingDropDownList extender.  Want in-line popup support within a page? Use the new PopupControl.  Want to implement smooth show/hide support?  Use the new Collapsable Panel.  Want to add water-marking support to input controls?  Use the new TextBoxWaterMark extender.  All of these controls can be used on a page without having to write any code or custom JavaScript, and have Visual Web Developer and Visual Studio toolbox and WYSIWYG support built-in.


This first release is just the beginning -- our goal is to have the Atlas Control Toolkit contain between 50-100 useful, high-quality Atlas controls over the next few months.  You’ll be able to add the assembly into any project and be able to immediately get great Ajax value out of it with very little effort.


2) It provides an easy developer framework to build Atlas-enabled controls.  Included within the Toolkit are a set of .VSI templates that help get developers started building Atlas controls, as well as a set of base-classes that you can use to easily build your own useful re-usable controls with minimal code required.  The toolkit is designed to help make the overall control developer experience straight-forward – when you create a new control it will provide templates for the client-side Atlas JavaScript component, a server control class that can integrate with it, as well as a class that you can use to provide WYSIWYG designer and rich property grid editor support within VS 2005 and Visual Web Developer. 


Click here to then see a page that has the TextBoxWaterMark control on it in WYSIWYG mode within Visual Web Developer (notice how the extender control points at the TextBox, and is able to add properties in the property grid to the TextBox it is pointing at).


All of the controls in the toolkit are obviously shipped with full source as well, so you can look to see how they are built and re-use techniques/source when building your own controls.


3) We are going to use a collaborative, open-source, model to develop it.  Specifically, we are going to setup a source control repository on the Internet and allow both Microsoft and non-Microsoft developers to work on the project together.  This means you’ll be able to contribute controls of your own to the toolkit, make improvements to existing ones, and fix bugs.  We’ll then publish regular binary drops (with source of course) that any ASP.NET developer will be able to download and use within their sites (if popular your control might even be used billions of times a day). 


We are still finalizing the exact details of the project, and are getting servers built-out now to support it.  We’ll be publishing more details later this month.  This has been something the team and I have wanted to try for awhile, and we really looking forward to getting it going.


To learn more about Atlas, obviously check out the Atlas site.  I also posted some pointers to great Atlas content here a few weeks ago (including a pointer to a sample of how you can use the Atlas Client Libraries with PHP).


Hope this helps,




P.S. There is also now a dedicated forum for the Atlas Control Toolkit here.


P.P.S. Shawn has a good post walking through how to use the CascadingDropDownList control here.


  • Wonderful! Thanks a lot Scott for the useful stuff..

  • Wow. Collaborative, Open source - Thanks Scott.

  • Awesome -- thank you Mr. Guthrie and Microsoft!

  • You have some great examples in the toolkit already and to think that this is just the beginning of many controls to come (and would I say, for free), I am already overjoyed.

    Thanks for a job well done. Atlas will really rock!

  • You guys are doing a awesome job. Can you give any hint what the 50-100 other controls are about.

  • These controls are amazing Scott! Can't wait to see the rest of them.

    Having these controls open will allow me/my company to incorporate these controls earlier since it will allow us to fix any potential bugs.

  • Scott - your blog is excellent, keep it up.

    I am looking for an example showing how to drag and drop an item from one list to another using Atlas. The ReorderList control seems to display all of the behaviors required but I'm not sure it will respond to a drop of an item from a different list.

    Are there any examples available of drag & drop between two different lists?


  • This popup control is Cool!! Calendar :)

  • Very nice. I'm excited about the open source model.

  • :) i`m happy and sad - happy - because this controls are great, and sad - because i had to invent meny things by myself in pre-Atlas times :D

  • Hi Mark,

    These controls will be cross browser supported -- so definitely more than just IE (all of them already work in FireFox today and we are working hard on Safari support now).



  • Hi CowgaR,

    We are looking hard at accessibility now. The browser does make some of this difficult in ceretain circumstances when you use Javascript -- but Accessibility is definitely something we are very focused on.



  • Hi Lucian,

    Having a good set of basic drag/drop controls is one of the things we are planning. We have fancier controls today (web parts, etc) that support drag/drop, but don't have controls for more basic/generic scenarios. That is definitely something on the list though.



  • Many thanks to all of you guys. This technology is great.

    But, as for all techno, there are things that should not be done even if the techno allows it.

    Could you please list somewhere the do's & donts of Ajax/Atlas ?

    Once again, great job!


  • Approximately when will Atlas be ready for use in production?

  • Hi Paketim,

    We now support a "Go-Live" license for Atlas -- which means you can now go live in production (a number of customers already have).

    Hope this helps,


  • Like the controls very much and look forward to seeing more of them. But the thing I like most is making the project open-source. Is this something Microsoft is going to do more of or is this an isolated project ?

    All that is missing is GPL-ing the project, but that is probably to far-fetched :)

  • As asked already, I bet everyone would love to hear the names of some of the other controls that are in-progress. Thanks for all the hard work!

  • Scott:

    Love the Atlas stuff, except I am having trouble using the Toolkit control on my Atlas template. They controls do not show up. How do I get them. I have the basic controls from the\Atlas folder, but cannot get the controls fromt the toolkit.

    Thanks for the help!


  • Are you going to add a modal window to your collection atlas type controls?

  • Hi Scott,

    Yep -- I'm pretty sure a modal window will make the controls collection.



  • These controls are great. We need full key board support while filling the forms. Users should be able to fill the forms without using mouse.

  • Hi Brad,

    Thanks for pointing me at this article. I had a few folks from the team respond with some of the posts they've done about Safari support (which is lacking in the current build). That is definitely something we are planning to add.



  • Go Atlas. Excellent work. Looking forward to using it.

    Great PR on that bash over on the ARS thread BTW. I always wonder where all that productivity goes when the snipers come out to play.

    Rock on!

  • I like the idea behind the toolkit, but it still has to many issues to be considered for production enviroments.

    1) The cross browser issues, in an Intranet case this wouldnt matter though... if that conforts anyone :-)

    2) There is some serious performance vibes when you go through the demos. The response time on the cascading drop down is pretty slow for such small amount of data, the toggle button has wierd massover flickers, you get the impression its going to the server everytimg to get the mouseover or something like that.

    3) Reorder list.... the drag is nice, but since you can only order one item at a time, this is nothing special... the post back should not be there per move, it should wait until you have a save or update changes, and do them all at once.

    It has been said that with atlas you need to be careful using the panels as they have performance issues... this is a shame, becuase if you look at ajax professional or magic ajax... ajax pro goes much farther in terms of perforamnce, but is a little more difficult to use, and magic ajax does nearly the same as atlas, only performs better.....

    the issues in the control don't seem to be nessesarily atlas issues, but more an issue with the control design implementing the ajax.

    However... the toolkit does show the power and flexibilty of Atlas which is nice. But it has a ways to go.

  • Hi Scott,

    Had a quick question for you. The atlas stuff thtat actually post the page asyncronously using update panel, does it support the new feature in .net 2.0 for preventing fradulent postback? Esentially i am talking about addding in EnableEventValidation = true in Page ,which causes the control causing the postback to first call ClientScriptManager.ValidateEvent to prevent fradulent postback.


  • All controls are very cool :)

  • Hi Zeeshan,

    Yep -- it supports using the new event validation feature.



  • Arrrrrrggggg.

    Why UpdatePanel don't work with a Microsoft's ShowModalDialog ????

  • Seb.49,

    Can you try posting this question on the Atlas Control Forum on Someone there will be able to help.



  • Hello Scott,

    I've tried a CollapsiblePanel control. It works but two CollapsiblePanel panels don't work.

    Second panel disappears from screen.

    I hope I do something wrong.

  • Hi Michael,

    You should be able to have multiple collapsable panels on the page. Can you try posting your source code in the forum on the Atlas Control Toolkit? Someone from the team will then be able to help.



  • Most of these controls don't work unless conditions are exactly as they are on the MS machines where they were developed. Now that we have persuaded management to allow us to convert parts of our app to ajax we face a deadline and MS Ajax controls are battling us all day, every day, and even while we sleep. Please fix these controls and release an update.

  • Frustrated >> what specifically are you running into? Have you posted for him on the AJAX forums on

    If you have a question that has gone un-answered, please send me an email with a pointer to it and I can have someone help you.



Comments have been disabled for this content.