Wednesday, October 29, 2003

Just a few weeks ago, Microsoft released its Visual Studio Tools for the Microsoft Office System version 1.0.  Reza Chitsaz brought an excellent preview of the new features in "Trinity" or VSTO 2.0.

Here are some facts, based on the demos:

  • This version will still only work with Word & Excel (version 2003). Other Office tools may be supported in the future.
  • On top of Word documents, Word templates and Excel documents, VSTO 2.0 will also support Excel templates (from beta 1 on).
  • Excel and Word will now be hosted inside the IDE of Visual Studio .NET "Whidbey" while developing.
  • To avoid menu cluttering, the Excel menus will be cascaded inside Visual Studio .NET "Whidbey"'s menus. For example: when you click on the Tools menu, the first menu item will be "Microsoft Excel Tools menu" which can expand and include Excel's Tools menu in the sub menu. This will also be true for Word.
  • In Excel you'll be able to create a named range, for example 1 cell. In your code each range is accessible as an object and will have its own events. One example of an event would be the "Change" event, making it possible to trap changes to one or more cells.
  • VSTO 2.0 will be available as part of Visual Studio .NET "Whidbey" and will also be delivered with the betas.
  • An assembly can still be linked to the document, but with VSTO 2.0 it can also be embedded in the document.
  • All (rich) WinForms controls can be on a document with VSTO 2.0.
  • There are Excel specific controls (List and Range) to enable developers using their usual way of working.
  • Data binding is now natively supported, no workaround, no hacks, you bind your data to a control, just as you would do with a regular WinForms application. You can even data bind to for example a chart and other native Office controls.
  • External data can also be embedded in the document for offline working. This data is stored in a data island, which is actually a DataSet (read: XML)
  • SmartPane objects are getting smarter! They can now be created with only one line of code:
    SmartPane.Controls.Add(mySmartPaneControl)
    These SmartPanes can now also be created like building a WinForms user control. They can also host the rich WinForms controls;
  • After you apply an XML Schema to your Word document, objects are created for each element in the schema. You can use events to respond to, for example, data changes.
  • There will be a "server" class for working with Word and Excel document data on the (web)server. High scalability is a priority for VSTO 2.0, so it won't create an instance of the application. The purpose of this "server" class will be to modify the data in the data island. This makes it possible to work with the data inside the document, but you won't be able to create a completely new document on the fly with VSTO 2.0.
    Well, actually you can, but you can do it right now without VSTO: just create a Word document using WordML (XML schema for Word document)
  • ClickOnce technology is supported. It won't be the real ClickOnce which only supports executable, but the Trinity-team is making something similar for VSTO. That solution will have the same possibilities as ClickOnce. One side note: documents which are protected with DRM won't be able to get automatically updated, since DRM enforces this.
  • Security is also high priority, but I don't think they made many changes to version 1.0. Except of course for the embedded assemblies, which can only be trusted by their signature (since there is no location).
  • You'll need Office 2003 for making full use of the VSTO 2.0, both on the client and on the server.
  • VSTO 2.0 will be available as part of "Whidbey". The first test version will be made available with "Whidbey" beta 1, so it's currently not in our "goodies bag".

Gee, I'm writing too long posts here...

10/29/2003 11:13:36 PM (Romance Standard Time, UTC+01:00)  #      

I still remember one keynote from last PDC (in 2001): the one of Microsoft Research. I'll probably remember this one too. Not only does Rick Rashid knows how to deliver his presentations, the things he and his colleagues demonstrate are the result of long and hard work. Hard work for which Microsoft didn't get paid at all. Of course, it will pay of on the longer term, but Microsoft Research is probably one of the important branches to have Microsoft build great software.

The details are mostly listed in other blog posts, so I'm not going to repeat them over here.

10/29/2003 10:33:56 PM (Romance Standard Time, UTC+01:00)  #      

I didn't know that the URL was made public already but since Rob Howard posted about it, I guess there is not problem with giving you the URL where you can download the Whidbey ASP.NET hands-on labs: http://asp.net/whidbey/pdc.aspx?tabindex=0&tabid=1. There are some pretty screenshots in it of what to expect from ASP.NET.

Be sure to have a look at HOL-301 and HOL-302, these are the ones I talked/wrote about earlier. See that I didn't lie about it.

10/29/2003 8:24:22 PM (Romance Standard Time, UTC+01:00)  #      

Yesterday I finished the day by doing a hands-on lab on the new ASP.NET technology. It seems that major enhancements have been done here too.

Databinding

I actually created a webpage to view data in a grid, complete with editing, sorting and paging support, filtering by data selected from a combobox and much more. I didn't have to write one single line of code!

SQL Server Caching

Everyone knows page caching in ASP.NET. There was one case you couldn't use it: when the application needs to reflect changes in a SQL database. Well, the new ASP.NET will support invalidation of the cache when data is changed in SQL Server. And it's not marketing talk, it does it already.

I found one disadvantage for this, you need to execute a command line tool to set up the database for SQL Server caching. This might be quite difficult in scenarios where don't have full access to the webserver, like for example in Shared Hosting at a hosting company (like HostBasket or WebHost4Life) scenario's. Perhaps Microsoft will change this later.

Personalization, authentication, membership

Actually, I didn't take a lab on this creating these features, but they are all supported with a minimum of coding. Quite amazing!

Internet / Intranet website

A full blown internet site with quite a cool layout is provided as template. The Intranet website template even supports personalization and authentication right when it's created. Can you imagine that different parts of a website can be moved on the page, removed or added from/to the page? All of this is already in the template, you don't have to code anything for this. I guess I can't write out exactly how excited I'm about this!

Master pages

Didn't do this in the lab either, but I feel the urge to mention it here too. You have some sort of visual inheritance in ASP.NET with Whidbey! Create a master template (which is fully compiled) and reuse it in different other pages Great!

A conclusion, the PDC is just over it's half and I can already conclude that it succeeded big time for me. Yes, it's a great succes. One major disadvantage of this conference, one will have to go back home and continue developing real world applications with Visual Studio .NET 2003 for quite some time. Perhaps I just should go back to the hotel and forget about everything that has been said here. On the bus over here, I heared two people talking: "I slept very bad tonight, I was too excited about the stuff they show us". While I had a very good night of sleep, I do understand what that guy was saying...

10/29/2003 5:13:12 PM (Romance Standard Time, UTC+01:00)  #      

Yet another quite interesting link on MSDN Belux about developing SharePoint webparts etc. It's the presentation and demo files of a talk Patrick Tisseghem gave.

10/29/2003 4:58:26 PM (Romance Standard Time, UTC+01:00)  #      

There's a new hot article by Jan Tielens online on MSDN Belux about extending the DataGrid with CodeDom.

10/29/2003 4:55:41 PM (Romance Standard Time, UTC+01:00)  #      

Due to the popularity of some sessions, I decided to do a hands-on lab instead of following a session in an overcrowded room. Due to my love for Visual Basic (hey, just shoot me :)), I chose to do the lab on new features of VB.NET in Whidbey. Here's an overview of what I think to be exciting new features:

Generics

Yes, VB.NET will support generics.

Dim myProducts As New List(Of Products)

The previous line will create a list collection of objects of the Products type.

Operator overloading

Yes, you will be able to overload operators. This enables you to specify how the compiler should treat operators, such a plus, minus, ...,  for your own type.

Shared Operator +(ByVal person1 As Person, ByVal person2 As Person2) As Couple

This will allow you to specify what must happen when 2 Person objects are added. In the previous example it will return a Couple object.

I know, I know, C# had this already since v1.0, but hey, it's coming to VB.NET too...

The "My" object

The "My" object lets a developer do things he might need to do regularly, like:

  • Retrieving information about the logged on user (domain, user name, Windows roles)
  • Retrieving application information (description, file name, name of the special folder for storing user & application bound data)
  • Retrieving information about the computer
    • Event logs
    • Keyboard information (is caps or num lock pressed)
    • Mouse information (is it a wheel mouse, how many buttons are on the mouse)
    • Screen information (resolution, boundaries)
    • Network information (connected, IP address)
    • Accessing the registery
    • Accessing printer information

Well, as you can imagine, quite a full set of things a developer might want to access.

XML Comments

After typing '@ the editor will automatically generate an XML comments template with all parameters defined for the method.

Unsigned types

Visual Basic .NET is going to support unsigned types. You know, a "word" for example is an unsigned integer: in VB.NET is will become a UInteger if I recall it correctly. This allows developers to save memory in some cases. Example: you want to store a number between 0 and 40,000. Currently you have to use a Long for that which takes 8 bytes. By using an unsigned integer you will be able to store this value in 2 bytes.

IDE tools to create data driven forms

I actually created an application with one form displaying categories of products and in detail the products themselves. In addition filtering of the detail data was also provided (on stock or unavailable). All with no code at all.

Smart tags

Smart tags (and not Smart Tasks like I wrote earlier) for great help in doing some common layouting stuff. For example changing a DataContainer control from displaying a grid into individual fields for a record can be done just by clicking.

Autocorrecting mistakes

Visual Basic .NET will actively help you correcting (stupid) mistakes. Suppose you defined a read-only property, but created a Get and Set method in the property. Visual Basic .NET will at design-time tell you there is something wrong, just as it did before. But now, VB.NET helps you by identifying 2 solutions: the first one is removing the "Readonly" from the property, the second one is removing the "Set" method. You just pick the solution you want and VB applies it. And oh yes, this feature has to be triggered manually by using a smart tag on the squizzles (blue line) that appear under the error line.

Edit and continue

Well, it actually works on the PDC bits of Whidbey. Believe me, I tried it. However, I did not push it to the limits. And you can also reposition the line that will be executed by dragging the yellow arrow.

Partial types

You do not longer need to create a type (class) in one file. From Whidbey on, you can create one part of the type in one file and another one in another file. This is especially great if you have several developers working on one type. I know I could have used this in more than one project I worked on.

Code snippets

For many common tasks, Whidbey provides code snippets. Many applications need to save some content to a file in the My Documents folder. Instead of coding this every time again or copy-pasting it from a library, just use the code snippets (right click in the code and go the code snippets popup menu). Code snippets can contain template fields. These template fields are used for data that must probably be changed (in our example this would be the file name and the actual content that you will save). You can switch between these template fields by using the Tab key.

Best of all, a developer can create his own code snippets and define his own template fields in every snippet.

I'm not sure where the snippets are stored and if they can be shared amongst several developers (in a database, for example).

Isn't this great?

10/29/2003 2:34:47 AM (Romance Standard Time, UTC+01:00)  #      

Today on the PDC, Microsoft also announced "Whitehorse" which will also be a part of Whidbey. "Whitehorse" will assist in making enterprise deployment of SOA applications easier. A network administrator will design the datacenter layout and specify restrictions set on each part of the datacenter. For example, he can defined that webservers in the DMZ do not allow XML web services installed on it. Another example: he can define that internal application servers must use Impersonation for their data access. The solution architect on his side, specifies which parts of a solution must be installed on specific servers. If there is a conflict between the datacenter restrictions and the solution, Whitehorse will identify it during architecture and solve the issue itself if possible.

There is probably a lot more to know about Whitehorse, but it seems promissing that developers and IT Pro's will be able to work together in a constructive manner for deploying applications in the datacenter.

10/29/2003 2:01:21 AM (Romance Standard Time, UTC+01:00)  #      

After the keynote of Eric Rudder, there was another one by Gord Mangione (who was assisted by Tom Rizzo) about SQL Server "Yukon" and the WinFS (part of Longhorn). Both seem to have some quite nifty features and use cases. For WinFS, I think we might need to get a bit acquainted to the possibilities: having all data accessible by using and querying properties sounds nice. It goes a  lot further than just indexing the data with Microsoft's Indexing Service.

In SQL Server "Yukon", it's quite nice use compiled managed code in the database server itself. And the fact that it mixes smoothly with T-SQL and XML (for example XQuery), not only for execution but also for debugging, makes it a great product.

Quite a remarkable notice for SQL Server Reporting Services should be made too. After Analysis Server, this might become a very handy part. It isn't even limited to SQL Server data, you can use any OLE DB, ODBC and ADO.NET supported database in the Reporting Services, like Oracle, ODBC databases, etc... Reports can be published in HTML, Word, XML, PDF, and so on. More info on Reporting Services can be found at http://www.microsoft.com/sql/spotlight/reporting.asp and http://www.microsoft.com/sql/reporting/default.asp. Definitely take a look at this...

10/29/2003 1:53:09 AM (Romance Standard Time, UTC+01:00)  #      
 Wednesday, October 22, 2003

Patrick, the local SharePoint guru, wrote an article about using InfoPath data after it's saved to a SharePoint forms library. He explains how to process it with .NET and strongly typed classes.

<quote>
Some time ago, I had the opportunity to have a talk at the Belgium MSDN community regarding opportunities for .NET developers to extend the Windows SharePoint Services. In addition to the Web Part development (see also my 2 articles on building Web Parts), and the access to the SharePoint object model and related XML Web Services, I demonstrated how to create document event handlers in VS.NET that hook up to a SharePoint form library. The goal of the .NET code was to process the incoming InfoPath XML. In this article I provide an overview of how to accomplish this. In addition, it shows you how you can avoid complex XPath statements within your .NET code by generating an object model out of your InfoPath form and de-serialize the incoming XML to an object created from the root class. I hope it gives you some ideas to improve your productivity when developing these types of applications.
</quote>

10/22/2003 10:15:41 PM (Romance Standard Time, UTC+01:00)  #      
 Wednesday, October 15, 2003

In Bart De Smet's second article on MSDN Belux about hosting the ASP.NET Runtime in your own applications, you will learn how to create an application that enables running an ASP.NET application from a cd-rom.

10/15/2003 11:53:23 AM (Romance Standard Time, UTC+01:00)  #      
 Tuesday, October 14, 2003

Probably I'll be one of the latest to find it, but KC Lemson pointed out a URL of a "lastest files on Microsoft Downloads" RSS feed...

KC Lemson is a program manager at the Microsoft Exchange team. Keep up with his blog from some tips and tricks about Outlook and Exchange. There are some nices ones already...

10/14/2003 4:05:37 PM (Romance Standard Time, UTC+01:00)  #      
 Monday, October 13, 2003

A preliminary session schedule is available for the Microsoft Belux Developer-Tech Days 2004. This 2 day conference is for developers and IT Professionals...

10/13/2003 11:34:01 PM (Romance Standard Time, UTC+01:00)  #      
 Saturday, October 11, 2003

It seems people tend to like collections of links to community tools and articles. MSDN Belux also has a list of international community stuff at http://www.microsoft.com/belux/nl/msdn/community/newsletter.mspx. The latest newsletter is the October edition, but the previous ones are still available. I use them as a reference guide for finding back some specific information that I know the community talked about...

10/11/2003 9:32:45 AM (Romance Standard Time, UTC+01:00)  #      
 Tuesday, October 07, 2003

Just received an e-mail from Infragistics to inform of a new release of their NetAdvantage Suite 2003. Currently their website does not contain the new information, but in that same e-mail they state the information will be put on their website shortly. Here are some of the new features they talk about:

  •  .NET charting - NEW chart types and multi-charts, layering accessibility, data drilldown, zoom and scroll, data adapters, logarithmic axes, and many user-requested features! More, better Help files and samples!
  •  .NET Framework (PLF) - All Text-entry embeddable editors are now INK-ENABLED via our PLF, and therefore our .NET grid, tree and selected scheduling controls are ink aware too (when using our ink-aware embeddable editors).
  • .NET grid - NEW Major features include Excel export, fixed columns, Row Layout (Form view of a grid row data), enhanced Summary Row, and Ink-enabled in-cell editing when using our ink-aware embeddable editors. 
  •  .NET editors - NEW have a new dropdown button which allows any control to be dropped down from a button-click. Now our .NET tree, dayview, weekview and multimonthview have embeddable editor support. 
  •  .NET menus - NEW handedness built-in. Menus, dropdown controls and tooltips render directionally according to pen settings for Tablet PC application development!
  •  .NET GUIs - NEW button and label, better than the Microsoft inbox!  

New ASP.NET Products and Enhancements Include: 

  • ASP.NET Calendaring - NEW By popular developer request, calendar month view and NEW dropdown date chooser! The dropdown date chooser displays an eye-pleasing graphical calendar in a web application. It can be used as a stand-alone tool for date validation or integrated into our ASP.NET grid for a rich thick-client
    user experience in thin-client delivery. 
  •  ASP.NET charting - NEW chart types and multi-charts, layering accessibility, data drilldown, zoom and scroll, data adapters, logarithmic axes, and many user-requested features! More, better Help files and samples!
  • ASP.NET grid - NEW Performance improvements put our grid on par with the Microsoft inbox web grid, plus our new ASP.NET date chooser can be used in-cell in our grid! 
  • ASP.NET menu and tree - NEW menu scrolling, flexible display options, HTML intellisense, 2003/XP/standard looks provided in easy to use style presets, Enhanced Client-side object model, and much more.

Plus, you can buy a subscription that includes the FULL SOURCE CODE of all their .NET components. Their license agreement highly restricts the use of the source code but I see it as an excellent learning source. To be completely honest, I must admit that I used Infragistics components and controls for over 5 years now. This might influence my view on their products. And I haven't worked with other component suites, like for example ComponentOne's Studio.

10/7/2003 10:09:19 PM (Romance Standard Time, UTC+01:00)  #      

© Copyright 2010 Tom Mertens
Theme design by Bryan Bell

newtelligence dasBlog 1.8.5223.2
RSS 2.0|Atom 1.0|CDF  Send mail to the author(s) | Page rendered at 7/30/2010 12:08:27 AM (Romance Standard Time, UTC+01:00)