The .NET Platform
Development Tools
COM & COM+
Data Access
Web Development
XML Technologies
Windows Servers
Wireless & Mobile
Security issues
Design & Process
Career Development
Analysis & Comment
Disposable Objects
You are not logged in: login here to access all areas.
The forthcoming 2007 Microsoft Office System offers many new opportunities for software developers. Matt Nicholson looks at the new user interface and the Open XML file format, finds out what's happened to VSTO, and explores the possibilities opened up by SharePoint Server 2007 and Groove 2007.
Author: Matt Nicholson
Last updated: Aug 2006
For the end user, the changes that will come with 2007 Microsoft Office System may seem limited to a bright new user interface and some useful new features. However, this new version offers the potential to transform the working life of anyone involved in implementing a project or fulfilling a business process. The new user interface Excel 2007 shows off its new conditional formatting feature. Open XML file format Customising ribbons Of VBA and VSTO Working with SharePoint In the Groove The Discussion tool in Groove 2007. Groove comes with a number of workspace ‘tools’ ready-built that support not only file-sharing but also discussions, shared calendars, meetings organisers and so forth. However it also has a built-in forms designer where you can build tools specific to your needs. Alternatively, new to Groove 2007, you can import forms created by InfoPath 2007. Third party controls
The ‘authoring’ applications, namely Word, Excel, PowerPoint and more recently InfoPath, together with Outlook and OneNote for organising day-to-day information, are now just part of the complete Office System. Underlying these are Windows SharePoint Services and SharePoint Server which complement the recently acquired Office Groove application in supporting team collaboration. Microsoft FrontPage becomes SharePoint Designer 2007, while Microsoft Access will be able to work with SharePoint data. There will be a new version of Visual Studio Tools for Office (VSTO) which will allow you to customise even more Office applications from managed code. All of this brings new opportunities for application developers.
That said, the most obvious change is to the user interface. Gone are the endless drop-down menus that always seem to hide the feature that you want beneath the ‘more’ option at the bottom. Instead there is a new tabbed ‘ribbon’ control wide enough to give you a much more meaningful representation of what each command will achieve. Commands are grouped in a more logical fashion and many support ‘live preview’ which means that, as you pass your mouse across the option, your document changes to reflect the result of selecting it.
Which commands are displayed in the ribbon also depends on context. Select an area that you’ve formatted as a table in Excel 2007, for example, and the ribbon changes to display the commands that you might need when working on tables. Select a cell outside the table and the ribbon reverts to displaying more general formatting commands.
There are also new ‘document themes’ that help you maintain a consistent use of fonts, colour and design across documents that you and your colleagues create in Excel, PowerPoint and Word 2007. There is a new graphics engine that is shared by all applications, while SmartArt makes it easy to insert professional-looking diagrams. Although at first the differences can be unsettling, they do on the whole make the Office applications considerably more productive, and there is much to help organisations maintain a consistent and professional look across all their documents.
For the application developer, perhaps the most significant change is the adoption of an XML-based file format as the default for Word, PowerPoint and Excel 2007 documents. Although you can save documents in a format that is compatible with earlier versions of Office, with the familiar ‘doc’, ‘ppt’ and ‘xls’ file extensions, the default is the new Open XML format recognisable by the ‘docx’, ‘pptx’ and ‘xlsx’ file extensions.
These are actually ZIP files, as you can see if you change the file extension. Inside you find a number of XML documents, called ‘XML Parts’, which represent various aspects of the document. In Word 2007, for example, the ‘styles.xml’ Part contains details of the styles used by the document. Each slide in a PowerPoint presentation is stored as a separate XML Part.
What makes the Open XML file format so significant for developers is that it opens up the possibility of directly editing Word, PowerPoint and Excel documents without having to go through the corresponding application. Instead you can write .NET code that directly manipulates the XML Parts within the document where it resides on the server, using all the facilities offered by the .NET Framework for manipulating XML. You can insert text, change values in a spreadsheet or manipulate document properties.
Taking this further, you can insert an XML Part that contains custom data into a document, and you can then access that data from code or, thanks to the new Content Controls supported by Word 2007, from within the document itself. Content Controls allow data to be displayed and edited within a Word 2007 document, and can be set so they can't be deleted by the end user. This opens up all sorts of possibilities, particularly when it comes to automating workflow.
The Open XML specification has been submitted to the ECMA standards body. It does compete with the OpenDocument Foundation (ODF) format, which is supported by Sun Microsystems’ StarOffice product and is an ISO standard. However both are based on XML which should make translation possible, and indeed Microsoft has announced the Open XML Translator project for this purpose, an open source initiative hosted at the SourceForge web site.
Much of the user interface of these applications can be customised, and is indeed defined using XML. You can add your own tabs to the ribbon command, for example, that contain new controls made up of buttons, text boxes, check boxes, drop-down combo boxes and so forth, simply by editing the appropriate XML. You can then reference these from your Visual Studio code. This can be done at the document level, by referencing the appropriate XML Part within the Open XML file, or at the application level, in which case the functionality becomes part of the application.
You can also develop your own task panes. Introduced with Office XP, these appear down the right-hand side of the screen and offer additional functionality, typical examples being the Research pane or the Search pane. Office 2003 allowed you to create your own task panes, a feature that has been further enhanced for Office 2007.
Using Visual Studio Tools for Office (VSTO), task panes become programmable surfaces on which you can drop ActiveX controls, Windows Forms and so forth. These can make full use of the .NET Framework, so they could, for example, pull data from your customer database, or from a Web service.
Programming the Office applications has traditionally been done using Visual Basic for Applications (VBA), However Office 2003 saw the introduction of Visual Studio Tools for Office (VSTO) 2003, a version of Visual Studio .NET that allowed you to add program code to Microsoft Word or Excel 2003 documents using either C# or Visual Basic .NET.
With the appearance of Visual Studio 2005, VSTO 2003 was replaced with the current version, namely VSTO 2005. This adds a visual designer that opens Excel and Word 2003 documents and templates as work surfaces directly within the Visual Studio environment. You can, for example, drag controls from the Visual Studio Toolbox directly onto the document. VSTO 2005 also adds the ability to create application-level add-ins for Outlook 2003, which appear as options on the Tools menu, and to add business logic to InfoPath 2003 forms.
There will be a new version of VSTO to accompany Office 2007. Codenamed ‘Cypress’ or ‘v3’, the Community Technology Preview is available now for download from the Microsoft Office Developer Center. This allows you to build application-level add-ins for PowerPoint and Visio 2007, as well as not only InfoPath and Outlook 2007 but also Word and Excel 2007 (these last apparently being one of the most requested features for VSTO). InfoPath support will include the ability to design InfoPath 2007 forms from within the Visual Studio environment.
Looking further ahead there will be a VSTO ‘Orcas’ to accompany the next version of Visual Studio (also codenamed ‘Orcas’). This will include visual designers for both the new ribbon control and for custom task panes.
Nevertheless, there is still a place for VBA, and indeed all the Office 2007 desktop applications still come with the VBA development environment (now on version 6.4) built in – either as an option on the Tools menu or as a new Developer tab on the Ribbon control. By contrast VSTO is a stand-alone version of Visual Studio that needs to be licensed in its own right, either at the same cost as Visual Studio 2005 Professional Edition or as part of an MSDN Professional or Premium subscription.
One of the things you notice as you start to use the Office 2007 applications is the presence of ‘Finish’ and ‘Publish’ options on the new file menu, alongside the more usual ‘Save’ and ‘Print’. Explore further and you will discover that the Publish option allows you to ‘Save to a Document Management Server’ and ‘Create a Document Workspace’.
These are present because Microsoft has realised that, for most organisations, documents are rarely stand-alone pieces of work but more often part of a workflow. Orders are checked, fulfilled, billed and paid. Presentations may be drafted, amended, approved and distributed. With 2007 Microsoft Office system, much of this can be automated.
The key to this is Microsoft Office SharePoint Server (MOSS) 2007. SharePoint Server is essentially a set of pre-built and highly customisable ASP.NET applications that sit on top of Windows SharePoint Services and SQL Server. Windows SharePoint Services (WSS) 2.0 ships as part of Windows Server 2003 R2 or can be downloaded free of charge from the Microsoft Web site, and underlies SharePoint Server 2003. SharePoint Server 2007 is built on top of WSS 3.0 and can work with either SQL Server 2000 or 2005.
WSS is primarily a document store, providing version and access control and exposing a rich object model. It comes with a Collaboration application which delivers an ASP.NET Web site that supports document tracking, discussions, shared calendars, email integration and presence (notifying you of the current status of the users). MOSS 2007 adds further applications implementing enterprise content management (replacing Content Management Server 2002), personalisation, search, business process integration (including support for BizTalk Server) and business intelligence through KPIs (Key Performance Indicators) and Dashboards.
A SharePoint site is most usually used to coordinate a team of people, either working in a single organisation or loosely connected through an ‘extranet’. A SharePoint site is controlled by a Site Definition: an XML document that describes how the site should behave. Site Definitions are configured through browser-based administrative pages, however individual users are usually given considerable control over the site that is delivered to them. After all, these are ASP.NET 2.0 applications which can make full use of .NET Personalisation and Web Part technologies. SharePoint sites support a SafeControl list which identifies Web Parts that can be added to the site by end users.
SharePoint opens up a wide range of options for software developers. Site Definitions can reference custom Web pages, Web Parts, workflow assemblies (Windows Workflow Foundation is hosted by WSS 3.0) and custom event handlers, all of which you can create using Visual Studio or the new Office SharePoint Designer 2007 which replaces FrontPage and includes a workflow designer.
MOSS 2007 also comes with a number of Shared Services that can be referenced by SharePoint sites. These include not only indexing and search services, but also Excel Services which can render an Excel document saved to SharePoint as a Web Part (called Excel Web Access) and as a Web service that can be accessed by your application. This is accompanied by InfoPath Form Services which renders InfoPath forms as HTML. Indeed InfoPath forms can become an integral part of your workflow as they are also able to access XML data held within Word, Excel and PowerPoint documents thanks to the Open XML file format.
And finally there is Office Groove 2007. Although new to the Office system, Groove has been around since 2000 when Ray Ozzie’s company Groove Networks shipped the first beta version. Microsoft bought Groove Networks last year and Ray Ozzie has now replaced Bill Gates as Microsoft’s chief software architect.
Groove takes a peer-to-peer approach to collaboration, in contrast to SharePoint which is a client/server solution. Using Groove you create workspaces on your desktop which you can invite other people to join. Once they accept your invitation – and if necessary install their own copy of Groove – the workspace is duplicated on their desktop, and from then on each copy of Groove endeavours to keep each copy of the workspace up-to-date by transmitting encrypted ‘deltas’ between members that contain just the information that has changed.
If you go off-line then you can continue to work with your copy of the workspace, although obviously it can’t synchronise with the other copies until you connect back to the Internet. This is done through a central Groove relay service that provides a ‘store-and-forward’ service.
This article can only briefly introduce the many possibilities opened up for the software developer by this new version of Microsoft Office. Although unlikely to be released for some time yet, it is certainly worth downloading the current betas of Office 2007 and VSTO ‘Cypress’ or ‘v3’ and getting yourself ahead of the game.
Component vendors such as Dundas, ComponentOne, FarPoint and Infragistics will be looking to adopt the Office 2007 look-and-feel for the Windows Forms versions of their custom controls. We spoke to Andrew Flick, product manager of NetAdvantage for Windows Forms at Infragistics, who told us that the company will be incorporating the Office 2007 look-and-feel into NetAdvantage 2006 Volume 3 which is scheduled for release in October this year – possibly before Office 2007 itself ships: “We feel confident that the way Office 2007 is looking now is the way it will look when it ships.”
Andrew continued, “For example, our WinToolBars component will give developers the opportunity to change a property setting that will switch the control to an Office 2007 ribbon style. This ribbon will have all the expected features such as the new file menu portrayed as a 'big circle'. We’ll make it easier to support the new mouse-over effects, and we’ll have a full suite of scheduling controls that implement the numerous enhancements that you see in Outlook 2007.”
He added, “Upgrading to the new WinToolBars ribbon control will involve creating tabs and groups and then, because of the way the control is architected, developers will be able to re-use their existing tools inside the ribbon. It’ll be a very easy transition. Customers who’ve already built applications with NetAdvantage will get these components as part of their subscription, and will be able to update their user interfaces with relative ease.”
Click here for our Privacy Statement. Copyright © Matt Publishing. All rights reserved. No part of this site may be reproduced without the prior consent of the copyright holder.