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
· PROPERTY : Microsoft.Web.Services.ServiceRequest ServiceRequest
· PROPERTY : Microsoft.Web.Services.ServiceResponse ServiceResponse
· PROPERTY : System.String BridgeXml
· PROPERTY : System.String VirtualPath
· Microsoft.Web.Services.BridgeModule :
· CTOR : public Void .ctor()
· Microsoft.Web.Services.BridgeRequest :
· CTOR : public Void .ctor(System.String, System.Collections.IDictionary)
· METHOD : public System.Collections.IDictionary get_Args()
· METHOD : public System.String get_Method()
· METHOD : public System.String get_ServiceUrl()
· METHOD : public Void set_Args(System.Collections.IDictionary)
· METHOD : public Void set_Method(System.String)
· METHOD : public Void set_ServiceUrl(System.String)
· PROPERTY : System.Collections.IDictionary Args
· PROPERTY : System.String Method
· PROPERTY : System.String ServiceUrl
· Microsoft.Web.Services.BridgeResponse :
· CTOR : public Void .ctor()
·