in

ASP.NET Weblogs

ASP.NET Atlas Announcements

Stay informed about new developments with ASP.NET Atlas
  • "Atlas" July CTP Release

    The July CTP release of "Atlas" is now available at http://atlas.asp.net.  This release primarily fixes known bugs from the June release.

     

    If you're just starting out, be sure to check out the Atlas website where you can see live demos and videos and find all the documentation you need to get started. 

     

    Release notes for the ASP.NET "Atlas" Technology Preview July CTP release

    UpdatePanel and ScriptManager:

    • ScriptManager.RegisterControl() takes optional parameter to specify client type to create
    • Fix for UpdatePanels in Firefox

    Drag and Drop: 

    • Added public dragStart/dragEnd events to DragDropManager
    • dragStart fires with dragMode, dataType, and data as eventArgs
    • dragStop fires with empty eventArgs
    • style.position of dragVisuals will no longer default to "absolute"
    • DragDropManager do longers disposes dropTargets when unregistering them
    • FloatingBehavior now unregisters itself on dispose
  • "Atlas" June CTP Release

    The June CTP release of "Atlas" is now available at http://atlas.asp.net.  This release includes bugfixes plus some additional new functionality including dynamic update panels.

     

    Atlas continues to move forward with this release.    We expect to do another preview in approximately 6-8 weeks and are using the enthusiastic feedback from the developer community and helpful suggestion and bug reports to improve it as we move ahead.   If you're just starting out, be sure to check out the Atlas website where you can see live demos, videos and find all the documentation you need to get started. 

    Release notes for the ASP.NET "Atlas" Technology Preview June CTP release

    UpdatePanel:

    UpdatePanels can be added to a page dynamically throughout the page lifecycle, including UpdatePanels inside templates. UpdatePanels now also work inside WebParts, and WebParts can be inside UpdatePanels.

    UpdatePanel will preserve cookies set during an async postback when Response.Redirect() is called. This fixes Login control scenarios where an authorization cookie is set and the user gets redirected to the previous page.

    Networking:

    ServiceMethod uses default error handler if none specified

    XsltBridgeTransformer now works with VirtualPathProviders

    DBNull.Value now should be serialized as null

    ServiceReferences now support optional InlineProxy attribute for generating service proxies in the page rather than through a serviceurl/js script reference.

    Fix for scenarios where web service proxy contained the wrong port (webfarms, port forwarding)

    Drag and Drop

    Drag and drop will no longer produce debug output

    Interactive HTML elements (input, button, textarea, select, label, anchors with an href) can no longer be dragged directly

    Misc changes:

    Date.toFormattedString improvements

    Client-side data: SaveData fix for strongly-typed DataSets

  • "Atlas" April CTP Release

    The April CTP release of "Atlas" is now available at http://atlas.asp.net.  This is primarily a bugfix release to the March CTP and includes no new functionality. 

     

    The Atlas Wiki download has been removed until the Wiki is updated to work with the March CTP release, in the coming weeks.

     

    Also, check out the new Atlas website.   We've given it a new look with Atlas featured in some of the controls.   There is also a wealth of great learning material available, including webcasts, screencasts, expert videos and updated documentation and Quickstarts.

    Release notes for the ASP.NET "Atlas" Technology Preview April CTP release

    Profile Service:

    Add more smarts for coercing Javascript data into compatible types on the Profile object

    Control Extenders:

    AutoCompleteExtender: Selection prevents AutoPostback of textBox

    There should be an error when the control referenced by the TargetControlID of the AutoCompleteExtender does not exist

    Bridge and Services:

    Web services bridge doesn't handle xml serializable return values from methods marked with response format as xml; throws exception instead.

    Data:

    DataService now can't be called cross-domain by default:
    In the same way that web service methods need to be marked with the WebOperation attribute to allow them to be called cross-domain, a DataService's select, update, insert and delete methods need to be marked with the same attribute to be callable cross-domain (a typical scenario where this is necessary are live.com gadgets). If the DataService uses the DataAdapterAttribute to point to an external data provider such as a strongly-typed DataSet, the attribute needs to use the new safeForCrossDomain and/or getVerbEnabled parameters.

    get_serviceType returns serviceUrl

    Misc:

    Atlas can't be used on no-compile pages

    UpdatePanel and ScriptManager:

    ScriptManager and ScriptManagerProxy throw exceptions at design time inside UserControls

    UpdatePanel doesn't work if page header contains invalid XML

    Menu control inside UpdatePanel causes JavaScript errors

    Assertion Failed: elements in children collection should always have nodeType = 1

    If a behavior has an ID and is within an UpdatePanel, then postbacks cause Atlas to assert

    WebParts:

    WebPart title bar has incorrect cursor when WebPartZone is inside UpdatePanel

    Verbs should render in TitleBar in FireFox and Safari, not in DropDownMenu

    WebPart.initialize() throws NullReferenceException if ChromeType is None or BorderOnly

    Syntax error in Release version of AtlasWebParts.js

    WebPartHelpMode.Modal does not work in FireFox or Safari

    Setup and Project:

    Users can now choose to continue or stop the setup if a required component is missing during installation. Example: Registrating the .asbx extension in IIS while IIS is not installed. Instructions of re-enabling a feature is provided for the case that the missing component is installed later.

    The namespace attribute xmlns in the web.config file of the Atlas project template is removed. The namespace attribute was preventing other non-ASP.NET components to read their corresponding configuration settings.

    Gadgets:

    Gadgets that contain CDATA sections in their ContentTemplate will break

     

  • "Atlas" March CTP Release

    The March CTP release of "Atlas" is now available at http://atlas.asp.net.  This release features a "go-live" license, so you can now create Atlas apps and host them on the internet.   In fact, Microsoft is sponsoring a contest for the best Atlas mash-up aps.  

     

    The Atlas Wiki download has been removed until the Wiki is updated to work with the March CTP release, in the coming weeks.

     

    Also, check out the new Atlas website.   We've given it a new look with Atlas featured in some of the controls.   There is also a wealth of great learning material available, including webcasts, screencasts, expert videos and updated documentation and Quickstarts.

    Release notes for the ASP.NET "Atlas" Technology Preview March CTP release

     

    New

    1.     WebParts enhanced with atlas:WebPartManager

    a.    WebParts drag & drop now works in both FireFox and IE, using the Atlas DragDropManager.

    b.    To enable, add a ScriptManager control to the page, and add the following section to config:

            <tagMapping>
               <add tagType="System.Web.UI.WebControls.WebParts.WebPartManager"
                    mappedTagType="Microsoft.Web.UI.Controls.WebParts.WebPartManager"/>
               <add tagType="System.Web.UI.WebControls.WebParts.WebPartZone"
                    mappedTagType="Microsoft.Web.UI.Controls.WebParts.WebPartZone"/>
            </tagMapping>

    C.    There are a few regressions from the Whidbey WebParts drag & drop features, due to issues in Atlas DragDropManager:

    1.    Pressing ESC to cancel dragging doesn't work as well

    2.    Dragging in or out of a WebPartZone inside a scrollable div doesn't work well

    2.     Build Gadgets for live.com with ASP.NET Atlas

    a.    The major features are listed below.  The samples checked into devsite\gadgets show exactly how the features are used.

    1.    Gadget server control

    2.    ContentTemplate contains HTML + Atlas Script

    3.    Scripts, Services, and Styles collections to reference external resources

    4.    resize() function to resize Gadget in Live.com

    5.    getPreference, setPreference(), and savePreferences() APIs to store preferences in Live.com

    b.    To add a gadget to live.com, simply add "gadget=true" to the query string of the page.  This generates the gadget manifest.  If the page contains more than one gadget, also add "gadgetid=DesiredID" to the query string.

    3.     Web Services

    a.    Consume third party XML and SOAP Web Services with Bridges

    b.    Batching network communication

    c.    IFrame support for communicating with another domain

    d.    Web.config entries to turn on/off webServices and authenticationService support

    e.    Profile service needs to be enabled in config - and specific properties need to be enabled as well for get/set

    f.     New bridge support

     

    4.     Data

    a.      SortBehavior

    b.      InitialData control - renders a client data source with the first data request's data provided as serialized data.

    c.      Clientside Pagination – DataNavigator control

    d.      Incremental rendering for listview

    e.      XMLDataSource to fetch xml data from the server

    f.       XSLTView to display xml data along with xslt-based transforms

    g.      XPathBinding to use xpath expressions when binding against xml nodes

     

    5.     MSI Setup

    a.    Installs VSI

    b.    Installs DLL and scripts under c:\program files\<some path> for upgrading apps built on prior CTPs

     

    6.     Globalization

    a.      Added toFormattedString on date, number, and string

     

    7.     Error Handling

    a.      Error reporting for xml-script errors (typos, unresolved references etc.) in Atlas debug mode

     

    8.     Security

    a.      Atlas can now run in Medium trust, which allows it to run on hosted servers

     

    9.     $Object(id, context)

    a.      Function added as shortcut for context.findObject(id).  If context is omitted, the Application object is used.

     

    10. Documentation

    • 3 new developer oriented (in contrast to first-time-user oriented) walkthrough topics
    • Many new QuickStart docs
    • 3 new overview topics:   Debugging, the Atlas client library, and the Atlas documentation roadmap.
    • ~70 server-side API reference topics
    • ~150 client-side API reference topics
    • New client typedescriptor browser, for viewing the Atlas client library source
    • Several shipping sample applications

     

     

    Changed or Fixed

    1.     Namespace

    a.    The atlas class library namespace has changed from Web.xxx to Sys.xxx

    2.     Data

    a.    PageNavigator now handles firstpage and lastpage commands in addition to the existing page, previouspage and nextpage.

    b.    Pseudo-columns _index and _isDirty have been renamed to $index and $isDirty to remove the ambiguity that these looked to be private. They are not private and are ok to use from user code, but they need to be specially named to avoid collisions with real columns. The JS property accessors have been renamed to get_index and get_isDirty with only one underscore and no $.

    c.     Select and update methods on DataSource have been renamed load and save. Don’t forget that you can use autoLoad if you want the data source to automatically call load when the application starts.

    d.    The _rowObject pseudo-column is gone. You can still get to that from a binding by not specifying the dataPath (that’s useful when your data item is a simple object like a string for example).

    e.    DataRow now has a state that is exactly analogous to the ADO.NET DataRowState.

    f.    DataSource and DataServices now support multiple select methods. On the client-side datasource, use the loadMethod property to set the name of the select method to use server-side (case-sensitive for the moment but I’ll fix that) if you don’t want to use the default method. Server-side, just annotate all your methods and don’t forget to add the default flag for the default method.

    g.    DataService creation from existing classes, in particular generated strongly-typed datasets (.xsd files)

    3.     JavaScript type system changes

    a.    Changed how Types and Enum are declared

    4.     ScriptManager and UpdatePanel

    a.      UpdatePanels work with ASP.NET 2.0 callbacks

    b.      ScriptManager's ErrorTemplate and UpdateProgress' UpdateTemplate use runat="server" controls.

    c.      All Atlas script files are embedded as Web Resources in the DLL - no more ScriptLibrary folder.

    d.      UpdatePanel Triggers can walk up naming containers to find the target control.

    5.     xml-script

    a.      targetElement removed, use id instead

     

     

    Added to the ‘Atlas’ March CTP DLL (not available in the Jan CTP DLL)

    ·                Microsoft.Web.Configuration.AuthenticationServiceSection :

    ·                      CTOR : public Void .ctor()

    ·                      METHOD : protected System.Configuration.ConfigurationPropertyCollection get_Properties()

    ·                      METHOD : public Boolean get_Enabled()

    ·                      METHOD : public Void set_Enabled(Boolean)

    ·                      PROPERTY : Boolean Enabled

    ·                      PROPERTY : System.Configuration.ConfigurationPropertyCollection Properties

     

    ·                Microsoft.Web.Configuration.ProfileServiceSection :

    ·                      CTOR : public Void .ctor()

    ·                      METHOD : protected System.Configuration.ConfigurationPropertyCollection get_Properties()

    ·                      METHOD : public Boolean get_Enabled()

    ·                      METHOD : public System.String get_GetProperties()

    ·                      METHOD : public System.String get_SetProperties()

    ·                      METHOD : public Void set_Enabled(Boolean)

    ·                      METHOD : public Void set_GetProperties(System.String)

    ·                      METHOD : public Void set_SetProperties(System.String)

    ·                      PROPERTY : Boolean Enabled

    ·                      PROPERTY : System.Configuration.ConfigurationPropertyCollection Properties

    ·                      PROPERTY : System.String GetProperties

    ·                      PROPERTY : System.String SetProperties

     

    ·                Microsoft.Web.Configuration.WebServicesSection :

    ·                      CTOR : public Void .ctor()

    ·                      METHOD : protected System.Configuration.ConfigurationPropertyCollection get_Properties()

    ·                      METHOD : public Boolean get_EnableBrowserAccess()

    ·                      METHOD : public Int32 get_ChildRequestBatchLimit()

    ·                      METHOD : public Int32 get_ObjectDeserializerDepthLimit()

    ·                      METHOD : public Void set_ChildRequestBatchLimit(Int32)

    ·                      METHOD : public Void set_EnableBrowserAccess(Boolean)

    ·                      METHOD : public Void set_ObjectDeserializerDepthLimit(Int32)

    ·                      PROPERTY : Boolean EnableBrowserAccess

    ·                      PROPERTY : Int32 ChildRequestBatchLimit

    ·                      PROPERTY : Int32 ObjectDeserializerDepthLimit

    ·                      PROPERTY : System.Configuration.ConfigurationPropertyCollection Properties

     

    ·                Microsoft.Web.Script.Framework.ActionCollection :

    ·                      CTOR : public Void .ctor(Microsoft.Web.Script.IScriptObject, Boolean)

     

    ·                Microsoft.Web.Script.Serialization.JavaScriptConverter :

    ·                      METHOD : public static Boolean ConverterExistsForType(System.Type)

     

    ·                Microsoft.Web.Script.Serialization.JavaScriptObjectDeserializer :

    ·                      METHOD : public static System.Collections.Generic.IDictionary`2[System.String,System.Object] DeserializeDictionary(System.String)

     

    ·                Microsoft.Web.Script.Serialization.ObjectConverter :

    ·                      METHOD : public static Boolean IsClientInstantiatableType(System.Type)

    ·                      METHOD : public static System.Object ConvertToType(System.Object, System.Type)

     

    ·                Microsoft.Web.Services.BridgeCache :

    ·                      CTOR : public Void .ctor()

    ·                      METHOD : public System.Object Lookup(Microsoft.Web.Services.BridgeContext)

    ·                      METHOD : public Void Clear()

    ·                      METHOD : public Void Initialize(Microsoft.Web.Services.BridgeTransformData)

    ·                      METHOD : public Void Put(Microsoft.Web.Services.BridgeContext)

     

    ·                Microsoft.Web.Services.BridgeContext :

    ·                      CTOR : public Void .ctor(Microsoft.Web.Services.BridgeRequest, System.String)

    ·                      METHOD : public Microsoft.Web.Services.BridgeRequest get_BridgeRequest()

    ·                      METHOD : public Microsoft.Web.Services.BridgeResponse get_BridgeResponse()

    ·                      METHOD : public Microsoft.Web.Services.ServiceRequest get_ServiceRequest()

    ·                      METHOD : public Microsoft.Web.Services.ServiceResponse get_ServiceResponse()

    ·                      METHOD : public System.Collections.Generic.Dictionary`2[System.String,System.Object] get_ResultsChain()

    ·                      METHOD : public System.String get_BridgeUrl()

    ·                      PROPERTY : Microsoft.Web.Services.BridgeRequest BridgeRequest

    ·                      PROPERTY : Microsoft.Web.Services.BridgeResponse BridgeResponse

    ·                      PROPERTY : Microsoft.Web.Services.ServiceRequest ServiceRequest

    ·                      PROPERTY : Microsoft.Web.Services.ServiceResponse ServiceResponse

    ·                      PROPERTY : System.Collections.Generic.Dictionary`2[System.String,System.Object] ResultsChain

    ·                      PROPERTY : System.String BridgeUrl

     

    ·                Microsoft.Web.Services.BridgeHandler :

    ·                      CTOR : public Void .ctor()

    ·                      METHOD : protected Microsoft.Web.Services.BridgeContext get_Context()

    ·                      METHOD : protected Microsoft.Web.Services.BridgeRequest get_BridgeRequest()

    ·                      METHOD : protected Microsoft.Web.Services.BridgeResponse get_BridgeResponse()

    ·                      METHOD : protected Microsoft.Web.Services.ServiceRequest get_ServiceRequest()

    ·                      METHOD : protected Microsoft.Web.Services.ServiceResponse get_ServiceResponse()

    ·                      METHOD : protected System.Object ConvertToType(System.Object, System.Type)

    ·                      METHOD : protected System.String get_BridgeXml()

    ·                      METHOD : protected System.String get_VirtualPath()

    ·                      METHOD : protected Void BuildBridgeContext(System.String, Microsoft.Web.Services.BridgeRequest)

    ·                      METHOD : protected Void ExecuteBridgePipeline()

    ·                      METHOD : protected Void set_BridgeXml(System.String)

    ·                      METHOD : protected Void set_VirtualPath(System.String)

    ·                      METHOD : public Boolean ResolveRequestCache()

    ·                      METHOD : public static System.Object Invoke(System.String, Microsoft.Web.Services.BridgeRequest)

    ·                      METHOD : public System.Object CallServiceClassMethod(System.String, System.Collections.Generic.Dictionary`2[System.String,System.Object], System.Net.ICredentials, System.String)

    ·                      METHOD : public System.Object Invoke(Microsoft.Web.Services.BridgeRequest)

    ·                      METHOD : public Void ProcessRequest()

    ·                      METHOD : public Void TransformRequest()

    ·                      METHOD : public Void TransformResponse()

    ·                      METHOD : public Void UpdateResponseCache()

    ·                      PROPERTY : Microsoft.Web.Services.BridgeContext Context

    ·                      PROPERTY : Microsoft.Web.Services.BridgeRequest BridgeRequest

    ·                      PROPERTY : Microsoft.Web.Services.BridgeResponse BridgeResponse

    ·