Big news announcements up-front:
CLR Team coming to C# Group – Monday, May 2nd
David Chappell coming to present the Indigo Roadshow at MS Building (instead of New Horizons) – May 18th
MSDN Event – May 19th
The job market really seems to be picking up – we had several people with job openings, including Microsoft itself!
The first presenter – Shawn Wildermuth was running late so Michael Earls stalled for time by showing us site maps and tab controls in ASP.Net 2.0 (both taking advantage of MasterPages). A sitemap is an xml file which defines the layout of a website. A cool feature of sitemaps is a new feature called security trimming – the ability to hide tabs or parts of a site based on a user’s security role. As far as the tab control itself, just include the new Asp:Menu control and you’re pretty much good to go! Michael showed us a quick live demo (complete with demo gremlin) of a three page site using a tab control. By setting the SiteMapDataSource control, you can tie your MasterPage to the sitemap.
Shawn Wildermuth showed up about twenty minutes late but he brought food so everyone forgave him. Shawn elected to give up his time slot to Alan Griver – the group manager for Visual Studio Data. Alan’s group is in charge of data views, designer connections to data, the SQL query tool, XML tools, Visual FoxPro, the Reporting Services report writer, SQL CLR integration, and more.
Last Thursday the VB team announced that VB is going to support refactoring in Visual Studio 2005. Alan’s first demo showed off a very simple VB app. VB Refactoring supports creating a constant, creating a local variable, creating a method, reordering parameters, inline temps (removing local variables). Not available with the latest Beta 2 download, you can download and install the refactoring support from http://msdn.microsoft.com/vbasic. The quick little demo (a tiny little app that calculates the area of a cylinder) was actually very impressive, complete with animations during the refactoring process. The slick refactoring capabilities are courtesy of Refactor! for Visual Studio 1.0. The out of the box VB.Net 2005 capabilities can be purchased for Visual Studio 2002, 2003, and C# 2002 – 2005 from Refactor!
The next demo Alan showed us involved the benefits of the background compilation. The example was the creation of a property with get and set methods. When the property was changed to a readonly property, the background compiler was able to symmantically check the code and show that the readonly property should have a set method. A smart tag showed up informing us of two methods for fixing the problem – removing the readonly attribute or removing the set method. Very nice.
The snippets demo was very nice as well – small amounts of code prewritten and insertable, complete with editable fields you can tab through. The example shown was the creation of an HTML e-mail. The fields were the TO, FROM, BODY, SUBJECT, and SMTPSERVER attributes. A snippet editor will be available but Alan wasn’t sure if the editor would be included in the package or if it would be a download from the new 2005 community site. An important point about snippets is that they can include comments
A tangential conversation covered the Ladybug project – a community bug tracking and submission initiative where the community at large can contribute enhancement and bug reports (and vote on them) which are fed directly into Microsoft’s internal bug tracking system. Another method of submitting feedback to Microsoft and the Microsoft user community is the Community menu option built directly into Visual Studio. There are links directly into Ladybug and into the Microsoft forums/newsgroups.
The next demo focused on a few neat Winforms tricks.
- The first nice thing was the addition of the ability to specify a default data source type – once you pick SQL Server you don’t have to pick it again unless you need to change to something else.
- Another nice addition is the ability to change views in the server explorer. This means you can change the default view to see an object view (tables, views, stored procedures, functions), a schema view, and more. This is to give you the same views you’d get in the datasource tools themselves. You can, for the first time, see Oracle packages.
- When you use the wizard to create a new datasource, the connection string you specify is automatically saved to the app.config file.
- The ALT+SHIFT+ENTER key combo gives you a full screen view
- The Data Sources window allows you to pick columns and tables. New to Beta 2 is the ability for the Data Sources window to autodetect relationships within the data (ex. Customers -> Orders table relationship) and render them as such
- The databinding example (complete with a demo of the winform layout enhancements) was really impressive. By dragging a few fields and an entire table (child relationship) onto the form, the text boxes, labels, and data grid view were all generated automatically. Even more impressive, a manually created text box can be data bound simply by dragging a data field onto the control.
- The neat ability to data bind a combo box was really impressive – dragging a foreign key field from the parent child relationship onto the form creates a record bound to the parent record. By dragging the foreign key table onto the control causes a new binding source to be created – automatically binding the combobox to the table.
- Windows projects can be made into single instance applications (preventing multiple copies from running at the same time) by simply checking a box in the project properties dialog
- Application Events allow VB projects to be aware of app events like NetworkStatusChanged, StartupNextInstance (when the second or beyond instance of a program is started), and UnhandledException (an exception of last resort)
- The new XSD data designer is really slick – strongly typed and complete with the ability to get to user data or create new stored procedures.
- The XML editor is also really slick – if you specify a schema file (XSD or DTD) VS2005 will automatically create snippets for you. This way, if you open a node with 10 required child nodes and several attributes, simply by specifying the parent node you’ll automatically get an auto-generated snippet inserted into the code with tabbable fields.
- XSLT can now be debugged from within projects. Microsoft has hooked XSL into the debugger by having it generate IL. This enables you to step from a C# debug session to an XSLT session back to a C# debug session.
The MY keyword works like a “speed dial” into the framework. For example, to play a song in the background (different thread) all you have to do for the thread generation is use the MY keyword with the Computer.Audio namespace. To get to configuration values saved in App.Config, just use the My.Settings namespace to have Intellisense access to the elements of the config files. Eventlogging is now built into the VB framework using the My.Application.Log namespace. You can easily see how the My keyword has the potential to greatly speed the development process. In fact, the MY namespace is actually extensible so companies can extend the MY keyword with their own business objects.
The final demo was of Object binding. Alan opened a new instance of Visual Studio and created a pair of classes using the new Class Designer (anyone remember WhiteHorse?). The Class Designer allows for a drag and drop GUI that allows quick class outlines. Drop a blue box on the screen to represent a class and use the simple list editor below to add methods and properties. Drag associations between the classes and “foreign keys” are created for you. The code is automatically generated. Back to the demo –> the new ClassLibrary was compiled and then included in the original data binding demo. From that point forward, the Intellisense and data binding worked exactly like the database data binding worked. Also, changing the code will automatically update the drawing.
Alan was a great presenter, willing to redirect his demos to answer everyone’s questions. The presentation was a quick overview of a tremendous amount of stuff, and there was no slideshow presentation for the .Net UG to post on their website.
We had great turnout tonight – 78 people came to hear Alan’s presentation. A familiar face at the UGs – Marcy the DataGrid girl is back in town. Everyone say “Hi!” I’m sure some of them showed up to hear Shawn too, but he’s a local boy now and doesn’t have the same mystique he once had. I wonder if Shawn’s still a Red Sox fan? Isn’t that a requirement of living in Boston?
— Matt Ranlett
posted with BlogJet