Using Forms Solutions in Groove 2007

Summary: Learn about the capabilities available in the Groove Forms Tool and Groove InfoPath Forms Tool and compare the benefits of each to help you decide which tool to use in your solutions. (10 printed pages)

Joshua Mahoney, Microsoft Corporation

May 2007

Applies to: Microsoft Office Groove 2007, Microsoft Office InfoPath 2007

Contents

  • About the Groove Forms Tool

  • About the Groove InfoPath Forms Tool

  • Choosing Between Groove Forms and InfoPath Forms Tools

    • Reasons to Choose the Groove InfoPath Forms Tool

    • Reasons to Choose the Groove Forms Tool

  • Additional Resources

With the release of Microsoft Office Groove 2007, Microsoft adds a new, collaborative dimension to its electronic forms capabilities. Office Groove 2007 provides two customizable forms tools for extending data gathering and light application development to Groove Workspaces. Groove 2007 provides two Forms tools to choose from when creating custom form applications; the Groove Forms tool and the Groove InfoPath Forms tool. Each tool has its own strengths, as well as some overlapping capabilities. To help you decide which of these tools to use in your solutions, this article describes each tool briefly and then details their differences.

In the context of Office Groove 2007, "Forms" refer to custom applications within Groove Workspaces that store a collection of data records. Information workers can use existing form templates, or create custom form applications without requiring advanced coding or developer-level skills. Users can create and edit records that are stored in the workspace, and can also display those records in views that can be sorted, in a column and row format similar to Microsoft Office Excel and Microsoft Office Access. As a developer, you can take the forms tools further with scripting, custom styles, and macros.

About the Groove Forms Tool

The Groove Forms tool is a customizable tool for integrating business processes into Groove solutions. Form Designers can create and lay out all design objects directly with the built-in Forms Designer, including fields, forms, styles and views, without any coding or development knowledge. Application developers can take form applications further by writing scripts and macros to work with form and field events, the Groove object model, and records.

The following are screenshots that show some of the components of a Groove Forms tool. The Groove Forms tool resides inside a Groove workspace just like any of the other workspace tools. You can either add it to a workspace from a template, or create one.

Figure 1. Add new Forms tool to a workspace

Add new Forms tool to a workspace

Figure 2. Designing a Groove Forms tool from scratch

Designing a Groove Forms tool from scratch

The user clicks Start Here to enter the Forms Design Sandbox, and sees a Design Object Pane and design window from left to right. The user then selects options in the Design Object Pane to create Forms, Fields, Views, Styles, Macros and Scripts. Every Forms tool must contain at least one form and view, each of which must reference at least one field.

Figure 3. Forms Design Sandbox

Forms Design Sandbox

After these design objects are created and laid out, the user publishes the sandbox, which sends the tool design changes to all members of the workspace. Subsequently, the user can open a new design sandbox, make further updates, and then publish these changes.

As an application developer, you can also create macros to run in the Groove Forms tool. Macros are scripted programs, started and run by the user, that perform automated operations on a set of records. Macros can automate operations that are time-consuming and inconvenient for the user to perform on many individual records. Instead, macros perform the operations on batches of records.

When using a Groove Forms tool, users see views for viewing records, a preview window of the selected record in a view, and a toolbar for creating new records, switching views, running macros (if any,) accessing the Design Sandbox.

Figure 4. Forms in User Mode

Forms in User Mode

End users may sometimes need to use their Groove Forms data in other applications; likewise, they may sometimes need to read existing data into a Groove Forms tool. To this end, the Groove Forms tool provides several standard import and export options:

Figure 5. Import options

Import options

Figure 6. Export options

Export options

In addition to these manual approaches to data import and export, programmatic access to the Groove Forms tool data is available using the Groove Web services API. You can use this API to integrate Groove Forms tools with back-end systems and business processes in a more automated way. While Groove Web services are out of scope of this article, for more information, see the Groove 2007 SDK and other articles listed in Additional Resources.

About the Groove InfoPath Forms Tool

The Groove InfoPath Forms tool is quite similar to the Groove Forms tool. It is also a customizable Groove workspace tool for integrating business processes into Groove solutions. However, Form Designers use solutions created within Microsoft Office InfoPath 2007 by importing InfoPath templates (.XSN files) directly into the Groove InfoPath Forms tool rather than using the built in Designer in the Groove Forms tool. As a Form Designer, you enable the promotion property for fields within the InfoPath template. These fields are automatically created in the Groove InfoPath tool upon import. You can use the fields to display values from the form records in views.

Note

In the context of Groove Forms, the term view is an aggregate list view of a group of form records. The records are displayed in a format similar to a Microsoft Office Excel worksheet, with columns and rows of records that can be sorted. However, InfoPath generally works with a single form, and uses the term view to refer to alternative presentations of a single form. In this article, view means an aggregate list view of a group of form records as found in Groove.

After importing an InfoPath template, you create one or more views within the Groove InfoPath Forms tool for displaying form records. After a template is imported, end users work with the familiar interface when working with records in the Forms tool. The basic usage of the tool is the same as the Groove Forms tool, such as creating, viewing, and editing form records.

Figure 7. Record displayed in view

Record displayed in view

Modifying an InfoPath Form for Use in Groove

Tools designers using the Groove InfoPath Forms tool must use a few specific settings and observe a few restrictions when preparing an InfoPath Forms template to import in Groove.

As you prepare your InfoPath Forms template, consider which form fields you want to make available in the Groove InfoPath tool to display on forms. You must set the promotion property on the fields in InfoPath 2007 before you import in order to display and use the fields in Groove. When you promote fields in InfoPath you can then add a reference to the fields in views, and make them available for use in view filters and searches. In making this determination, it is also important to be aware of which field types you can use in Groove.

Just as you make fields available in a Groove 2007 InfoPath Forms tool by promoting them, you can remove fields from the design by demoting them in the InfoPath form template. For more information about promoting and demoting fields in Infopath and Groove, see InfoPath online help and Groove online help.

These settings and restrictions are as follows:

  • You can only import InfoPath 2007 Forms templates (.XSN).

  • Set Submit Option to send data to hosting environment.

  • Clear the check box that displays the Submit menu.

    Any Submit buttons or options on the Submit toolbar (imported as part of the InfoPath template) will not work in Groove and are not needed.

  • Set Security level to Restricted.

    To ensure that the restricted level is set explicitly, follow these steps in InfoPath 2007:

    1. On the Tools menu, click Form Options.

    2. Under Category, click Security and Trust.

    3. Under Security Level, clear the Automatically determine security level (recommended) check box.

    4. Click Restricted security level (the form cannot access content outside the form)

    Figure 8. Security settings in InfoPath 2007

    Security settings in InfoPath 2007

You should not rely on any automatically determined security level, even if it appears to be set to Restricted. Restricted security level implies no managed code and no access to content outside the form (in other words, external data sources).

  • Set version upgrade to Automatically upgrade existing forms listed in the versioning category of Form Options. Other versioning options cannot be used.

  • Do not select the Allow form users to choose whether to upgrade option.

  • Information Rights Management (IRM) is not supported in the InfoPath form.

  • Certain InfoPath client-specific UI, such as custom task pane, menu, or toolbar integration, is not supported. These are elements of the InfoPath client, and are not supported in Groove.

  • Another important consideration when using the Groove InfoPath Forms tool is that while both Groove Forms tools can export form records manually (for example, through the UI) as XML (in proprietary schema), CSV, direct to Excel, tabular text and structured text, the InfoPath tool only exports promoted fields, not the full InfoPath XML document. To export the entire InfoPath XML documents from the InfoPath Forms tool, you need to write custom code using the Groove Web services API, since the InfoPath tool does not provide this functionality.

Table 1. InfoPath field data types that you can promote and import for use in a Groove InfoPath tool

InfoPath 2007 field data types Imported in Groove 2007 as field type

Byte

Number (double)

Date (date)

Date (double)

Date and Time (dateTime)

DateTime (double)

Double

Number (double)

Entity

Text (string)

Entities

Text (string)

Float

Number (double)

Hyperlink (anyURI)

Text (string)

ID

Text (string)

IDREF

Text (string)

IDREFS

Text (string)

Int

Number (double)

Language

Text (string)

Name

Text (string)

NCNAME

Text (string)

NMTOKEN

Text (string)

NMTOKENS

Text (string)

NormalizedString

Text (string)

Rich Text (XHTML)

Text (string)

Short

Number (double)

Text (string)

Text (string)

Token

Text (string)

True/False (boolean)

Check Box (string)

UnsignedByte

Number (double)

UnsignedInt

Number (double)

UnsignedShort

Number (double)

Note

The following details pertaining to the InfoPath Rich Text (XHTML) field data type: When mapped to the Text (String) field data type in Groove, all rich text formatting is stripped out. This field type cannot be demoted**.** Demotion is when the value of a promoted field is written back to the InfoPath XML document.

Beyond creating views to display records in the InfoPath Forms tool, you can also create macros. You can use macros to automate actions on promoted fields in the InfoPath Forms Tool. For example, a project manager could periodically run a macro that updates a status field on a task form if the estimated completion date is past due.

Given the above requirements for using InfoPath templates in Groove, the Groove InfoPath Forms tool is optimal for simple data capture processes, or using existing InfoPath solutions and design experience. If you are already using InfoPath as part of your business processes, the Groove InfoPath Forms tool provides a great way to carry those processes into the Groove collaborative environment. Capturing status reports, or timecards, as part of project work, are good examples of data capturing processes that fit the design of the Groove InfoPath Forms tool.

Choosing Between Groove Forms and InfoPath Forms Tools

Some readers might wonder why there are two forms solutions in Groove. The Groove Forms tool was part of the Groove platform for several releases, and is used by many customers to support specific business applications. InfoPath, on the other hand, is the electronic forms platform for the 2007 Microsoft Office system. When Microsoft acquired Groove Networks, Inc., a decision was made to provide some integration between the two forms environments, even though the initial implementation would be limited in scope. Below are some of the decision criteria that you can use to determine which choice is the best solution for a given application.

Reasons to Choose the Groove InfoPath Forms Tool

  • You already have an existing InfoPath Solution that meets the Groove settings and restrictions described previously or that you can easily modify to meet them.

    A simple example is to use the Status Reports template available with in InfoPath 2007. The Status Reports template is a ready-to-use InfoPath solution that becomes even more valuable in the context of a Groove workspace. With a few modifications to the Status Reports template (see the settings and restrictions for using an InfoPath template in Groove in the previous section), you can use it in Groove to capture status report entries in the context of other project work within a Groove workspace.

  • You want to use an existing Microsoft Office Word document or Microsoft Office Excel workbook in a Forms tool.

    The Import Wizard in InfoPath can convert an Office Word document or Office Excel workbook into an InfoPath template, which you can then use in the Groove InfoPath Forms tool.

  • You require forms that generate XML documents that conform to a prescribed W3C XML schema. You can generate an InfoPath form from any valid schema written in the W3C XML schema language. However, you cannot do this with the Groove Forms tool. This can be an important requirement for those processes that involved pre-defined data formats or that have data exchange requirements.

  • You want to develop a form template that can also be used with InfoPath outside of Groove.

    To continue with the Status Reports example, you may want to gather status reports from people who do not have access to Groove. For those contacts you could send the status reports template to them by e-mail and have them reply with the completed form. Or, you could add the status reports template to a Forms Library in a SharePoint site and provide the contacts with access to that library. In this way, you can have a consistent data collection mechanism across the Office system to handle users’ various modes of access.

    The same InfoPath template cannot be used in a SharePoint Forms Library without modification due to the settings required to use an InfoPath template in Groove.

  • You want to use form features that are available in InfoPath (for example, repeating sections), that are not easy to reproduce in a Groove Forms design.

    There are some controls that are easy to use in InfoPath that are not available in the Groove Forms tool. Although it is possible to provide similar functionality in a Groove Forms tool, it can only be done by developing complex script code.

    Using the Status Reports example again, the Work Items repeating table is a good example of a task that is easy to implement with InfoPath, but requires complex script code to implement in a Groove Forms tool.

    Figure 9. InfoPath Repeating Table

    InfoPath Repeating Table

    Other InfoPath controls that are difficult to implement (or unsupported) in the Groove Forms tool are Repeating and Optional, Ink Picture and Advanced and Custom controls.

  • You want to extract and archive Groove forms data on a SharePoint site and have it be accessible with InfoPath.

    As mentioned in the previous point, you need to use the Groove Web services API to extract data from the InfoPath Forms tool. Using Web services, you can extract and then push InfoPath documents to a SharePoint Forms Library. Users can access documents as they do in a Forms Library, using browser-based forms or the InfoPath client.

Reasons to Choose the Groove Forms Tool

  • You cannot guarantee that all users have InfoPath 2007.

    To use the Groove InfoPath Forms tool, all users must have InfoPath 2007 installed.

  • You want to use the integrated Groove object model, by implementing simple workflow, using lookups in script code, sending instant messages, for example.

    The Groove Forms tool can offer a more integrated experience within a Groove workspace because the Groove Forms tool has access to objects in Groove using a script API that the Groove InfoPath Forms tool does not have access to. With the script API you can access Groove specific features such as workspace members, form records, sending instant messages, displaying dialog windows, navigating to records and views, retrieving data using lookups and more.

    Some features and functionality the script API enables are:

    • Populating fields in forms with Groove user information.

    • Using Form events that call customized scripts, such as when a form is initialized or before a form is saved.

    • Creating light, in-tool workflow, such as driving creation of form records based on user action or form events, and sending instant messages with links to specific form records.

    • Reading and updating form record data.

    • Using lookup data in scripts for dynamic display, calculations and relating forms to each other, and so on.

    • Using DHTML features such as hiding and showing fields on forms and altering the form layout dynamically.

  • You require a multi-form solution with hierarchical form relationships.

    Some of your form applications may benefit from establishing a hierarchical, parent-child, relationship between the records that can be displayed in a threaded view. A simple example is the Groove Discussion tool, which is built on Groove Forms. There is a hierarchical relationship between the Topic and Response forms, where Response forms are the child of Topic forms. When you create a Response record for a selected Topic, a relationship is formed that is displayed in the view.

    Figure 10. Discussion tool demonstrates threaded topics and responses

    Discussion tool with threaded topics and responses

  • You can also have more complicated relationships using this parent-child model. For example, consider a simple project management application with the forms Project, Tasks, Issue and Comment. Project is a top-level form that can have N number of Task forms as a child records. Task and Project can have N number of Issue forms as children. Comment can be the child of any of the other forms, and even of itself. Using views you can organize these relationships for the end user to easily see all of these relationships.

  • Your form requires lookup (a way to look up and use) data in another form or forms

    The Groove Forms tool provides the ability to look up data within the same Forms tool, a separate Forms tool in the same space, or Forms tool in a different workspace. The retrieved data can populate fields on a form, and be used in scripts and macros.

    To continue using the project management example you could add a Keyword and Customer form. You can use the Keyword form to create lists of keywords that can look up and then populate another field on the forms, like a Category field. The Customer form can create a list of customers to populate a customer field on the Project form. Using a script, you could use a lookup to retrieve all the tasks associated with a Project record and display them dynamically in an HTML table on the Project record. Lastly, you could even break the application out for easier management by creating a separate Customer forms tool that resides in one workspace, and then have the project management tool in multiple workspaces using lookups to the Customer tool for specifying customers on projects.

Conclusion

Microsoft Office Groove 2007 provides customizable form-based tools for data gathering, tracking and light workflow applications. There are two forms tools in Groove. Determining which is the right tool for your solution depends on your requirements. Understanding the differences between these tools can help you pick the best way to solve a problem.

A simple matrix can serve as a quick reminder of the differences between the Groove InfoPath Forms tool and the Groove Forms tool:

Table 2. Differences between form tools.

Groove InfoPath Forms Groove Forms
  • Repeating Controls and Groups, and Ink Picture control

  • W3C XML Schema support

  • Templates can be used outside of Groove (E-mail, SharePoint libraries, etc.)

  • Integrate data with SharePoint Forms Libraries (requires custom code)

  • Lookups

  • Groove Object Model accessed using script API

  • Hierarchical form relationships

Features available in both Forms tools include:

  • Record manager (stores collection of form records)

  • Customizable views

  • Macros (written in script to work with form records)

Additional Resources

For more information about Microsoft Office Groove 2007 Forms, development and in general, be sure to take advantage of the following resources: