Solution Development in Groove 2007

In our last blog post we talked about our overall goals for future releases of Microsoft Office Groove continuing to better inter-operate with and complement Office SharePoint. This post will summarize the solution development options available today in Groove 2007 and some of our early thinking about solution development in Groove longer term.

Releasing Groove 2007 for the first time as a new member of the Office suite was a lofty goal with a very tight timeline. With a relatively fixed amount of development resources, tradeoffs had to be made. And as the Groove team put on their Microsoft hats, the availability of technologies from across Microsoft required rethinking certain features in Groove and how they were implemented.

John Milan, a Microsoft SharePoint MVP who has developed Groove and SharePoint solutions, laments about one particular Groove 3.1 extensibility feature removed in Groove 2007 in this post on his blog:

Fundamentally this is a powerful architecture because it can centralize data on your desktop-- the flip side of SharePoint powerful architecture centralizing data on your server. In fact, it used to be Groove could house the .NET framework in its environment and thereby give developers a rich user experience with sophisticated peer-to-peer networking for gathering and updating all this data. I'd even go so far as to argue that Groove, because of its ActiveX and then .NET support, was a compelling vision of a Rich Internet Application framework.

Yes, I did say 'was', for you'll notice that the .NET framework is no longer accessible within Groove and their forms environment is too primitive for robust development. As a developer, I would love to see .NET reappear within Groove and give me the ability to integrate with desktop applications and the powerful peer-to-peer workgroup synchronization.

We definitely understand the pain that removing support for running "in-proc" .NET apps in the Groove 2007 client has caused some partners and customers, and are exploring options on how we might again address this need in the future. Like most software products, it typically takes several releases to fully implement the product vision. This will certainly be true for Groove’s platform capabilities as we continue to align with SharePoint and leverage other Microsoft technologies.

However, it is important to remember that there are options available today in Groove 2007 for solution development:

  1. Custom Forms using the Groove Forms Tool
  2. Custom Forms using the Groove InfoPath Forms Tool
  3. Groove Web Services
  4. Groove Data Bridge

Customers and Partners have built a range of solutions using various combinations of these options. Let’s talk about each option and identify real world solutions that use them.

The Groove Forms Tool enables building custom DHTML forms and has been available for more than 5 years. This tool supports record hierarchies (parent/child records) because it includes an embedded (lightweight) database and supports both Java & VB scripts. Partners, customers, and Microsoft have built customized forms to track data and support the collaborative process happening in Groove workspaces.

Groove 2007 introduced the brand new Groove InfoPath Forms Tool to enable InfoPath 2007 forms in Groove workspaces. Since InfoPath is Microsoft’s strategic platform for enterprise forms development, providing Microsoft customers who have deployed InfoPath solutions the ability to extend them to Groove workspaces was a logical extension of that strategy. By making a few simple changes to the InfoPath 2007 form, you’re ready to use it in Groove 2007. We will continue to improve the support for InfoPath forms in future releases of Groove.

Custom forms built using either forms tool can be saved as a Groove tool template (.gta) for re-use. In addition, you can package those tool templates along with out-of-the-box tools (like the Files and Discussion tools) and even documents together as a workspace template (.gsa) for additional flexibility and reuse.

Groove Web Services (“GWS”) provides an interface for pushing data to, or pulling data from, Groove workspaces. Custom applications can be developed which reside on the desktop along with the Groove client or on a server. The Groove Web Helpers, built by several of our development experts including Bob Novas and Paresh Suthar, provide enhancements to the capabilities offered by GWS and the opportunity to save development time through re-use. The Groove Data Bridge (“GDB”) is an optional component of Groove Server 2007 that provides a server platform to host custom Groove apps built using GWS. GDB acts like an “always-on” member of a workspace and provides a way for Groove workspaces to interface with enterprise systems. GDB also provides other capabilities such as workspace backup. Information about all of these options can be accessed on the Groove MSDN Developer Portal located at www.msdn.microsoft.com/groove .

Groove partner Hommes & Process built an interesting client-side app called GrooveIT! which enables Outlook 2007 email, contacts, and calendar items to be pushed to Groove workspaces along with support for configuring rules in Outlook to do this automatically. GrooveIT! was built using Groove Forms and Groove Web Services.

Team Direction (where John Milan works) re-architected their .NET-based Groove Project Edition solution that was bundled with Groove 3.1. Team Direction’s Intelligant Plus solution for Groove 2007 smartly bridges project data tracked in Groove workspaces with the enterprise project plan tracked using Microsoft Project 2007. Using Groove forms, Team Direction built a custom task tracking form for Groove, and they use Groove Web Services to connect task data in Groove with Intelligant Plus or their add-in for Microsoft Office Project 2007. We think Team Direction made a very sensible decision by designing Intelligant Plus to utilize and bridge the unique capabilities of Groove 2007, Project 2007, and SharePoint 2007. Team Direction is a great example of a Microsoft partner who has embraced the “better together” relationship between Groove and SharePoint and leveraged their skills with both products to deliver a unique solution for customers.

With Groove continuing to integrate with SharePoint, what are the implications for developing customized collaboration solutions that leverage both products? We already know that SharePoint will continue to evolve as the central hub for enterprise data. Groove will continue to be the decentralized client-based location for a synchronized copy of that data as well as the place to capture content not intended for publishing and distributing via a central server solution like SharePoint.

How can custom solutions utilize the best capabilities of each product? How does this product evolution impact how you will design and implement your collaboration solutions? What extensibility options would you like to see available in future releases of Groove and SharePoint? What other Microsoft technologies should Microsoft consider enabling or supporting to enhance the customizability of Groove and SharePoint?

We are interested in your feedback.

Matt and Abbott