System Fields in Forms2RecordDataSet

The following table describes the system fields included in Groove Forms Tool and InfoPath Forms Tool record schemas. The Forms_Tool_EDBSeqTime system field is only present when the Groove Forms Tool or InfoPath Forms Tool is running on a Groove Data Bridge system. The Forms_Tool_IPContents system field is only present in the InfoPath Forms Tool. All other system fields are present in all Groove Forms Tool and InfoPath Forms Tool record schemas.

Element Data type Description

_RecordID

xs:double

Uniquely identifies the record within the Forms tool. The _RecordID field is automatically assigned by the Forms tool when a record is created. This field, which is stored in the Forms tool record, is not visible in the designer.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

RecordURI

xs:string

Provides access to the record through the GrooveForms2 service. This element is generated and used by the GrooveForms2 service but is not a field in the Forms tool record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation.

  • UpdateRecords operation: value required by operation. This element identifies the Forms tool record that is to be updated.

  • Events: value provided by events.

_ParentID

xs:double

Specifies the Record ID of the parent record or -1 if there is no parent record. You can specify the _ParentID when you create a record, but cannot modify its value in an existing record. This field, which is stored in the Forms tool record, is not visible in the designer.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value can be specified or defaults to -1.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

Forms_Tool_grooveFormID

xs:double

Specifies the Form ID of the form used to create the record. When creating a record, its form is specified by the record schema name and not by this element. While the Forms_Tool_grooveFormID field has a type of double, the ReadForms operation returns the form's ID as a string. Consequently, before comparing a Forms_Tool_grooveFormID value with a form's ID value, you must convert the double value to a string using maximum precision. This field, which is stored in the Forms tool record, is not visible in the designer.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

_Editors

xs:string

Specifies what workspace members can update the record. Workspace members are specified as a list of Identity URLs, separated by semicolons (;). If the field is blank, then access to update the record is controlled by the tool permissions settings. If this field specifies a list of Identity URLs, then the members listed have permission to update the record even if they would otherwise not have update permission for the record. If a member has update permission for the record based on tool permissions, then that member can update the record whether they are included or excluded from the list of Identity URLs. Note that _Editors is designed as a convenience feature and is not intended to provide additional security.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If specified, it is used to create the record.

  • UpdateRecords operation: value is optional. If specified, it is used to update the record.

  • Events: value provided by events.

_Readers

xs:string

Specifies what workspace members can read the record. Workspace members are specified as a list of Identity URLs, separated by semicolons (;). If the field is blank, then access to read the record is controlled by the tool permissions settings. If this field specifies a list of Identity URLs, then the members listed have read access to the record. All workspace members who are not listed in this field do not have read permission for this record even if the tool permissions would otherwise allow it. Unlike _Editors, which can only provide additional update access, _Readers both provides access to the members listed and prohibits it to all members not included in the list. Note that _Readers is designed as a convenience feature and is not intended to provide additional security.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If specified, it is used to create the record.

  • UpdateRecords operation: value is optional. If specified, it is used to update the record.

  • Events: value provided by events.

_Created

xs:dateTime

Specifies the date and time that the record was created.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation. Groove uses the current date and time to set the value of this field in the Forms tool.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

_CreatedBy

xs:string

Specifies the name of the workspace member who created the record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If you specify a value, you should also specify the Identity URL of the same Groove user in the _CreatedByURL. If you omit the value, the operation uses the name associated with the Identity URL that is specified in the GrooveRequestHeader.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

_CreatedByURL

xs:string

Specifies the Identity URL of the workspace member who created the record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If you specify a value, you should also specify the name of the same Groove user in the _CreatedBy element. If you omit the value, the operation uses the Identity URL that is specified in the GrooveRequestHeader.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

_Modified

xs:dateTime

Specifies the date and time that the record was last modified. Note that when Groove rolls back an update to handle conflicts, the new value can be earlier than the previous value. On the Groove Data Bridge, the Forms_Tool_EDBSeqTime field is guaranteed to be monotonically increasing.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation. Groove uses the current date and time to set the value of this field in the Forms tool.

  • UpdateRecords operation: value ignored by operation. Groove uses the current date and time to set the value of this field in the Forms tool.

  • Events: value provided by events.

_ModifiedBy

xs:string

Specifies the name of the workspace member who last modified the record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If you specify a value, you should also specify the Identity URL of the same Groove user in the _ModifiedByURL. If you omit the value, the operation uses the name associated with the Identity URL that is specified in the GrooveRequestHeader.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

_ModifiedByURL

xs:string

Specifies the Identity URL of the workspace member who last modified the record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value is optional. If you specify a value, you should also specify the name of the same Groove user in the _ModifiedBy element. If you omit the value, the operation uses the Identity URL that is specified in the GrooveRequestHeader.

  • UpdateRecords operation: value ignored by operation.

  • Events: value provided by events.

Forms_Tool_EDBSeqTime

xs:dateTime

This field is only present when the Web Service is provided by a Groove Data Bridge. The field records the local system date and time that the record was last modified on the Groove Data Bridge system. Each change to the Forms_Tool_EDBSeqTime is guaranteed to be monotonically increasing. Consequently, this field can be used to coordinate Groove activity with external databases. The _Modified fields, which contains the date and time that the record was last updated, can decrease when a record change is rolled back to handle conflicting updates.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation. Groove Data Bridge uses the current date and time to set this field.

  • UpdateRecords operation: value ignored by operation. Groove Data Bridge uses the current date and time to set this field.

  • Events: value provided by events.

_UnreadFlag

Xs:double

Indicates whether the workspace member specified in the GrooveRequestHeader Identity URL has read the record. This value is associated with the Groove workspace member and is tracked separately for each member. You can update the unread status of a record using the UpdateUnreadMark operation. The unread information is maintained by the Forms tool but is not stored as a field in the record.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: value provided by operation.

  • CreateRecords operation: value ignored by operation. When you create a record, Groove automatically marks the record as read by the workspace member creating it and marks it as unread for all other workspace members.

  • UpdateRecords operation: value ignored by operation. When you update a record, Groove automatically marks the record as read by the workspace member updating it and marks it as unread for all other workspace members.

  • Events: value provided by events.

Forms_Tool_IPContents

FileAttachment

This field is only present in InfoPath Forms Tool forms; it contains the InfoPath X-document that defines the values of the form fields for the record. When creating a record in the InfoPath Forms tool, each record must contain a value for this system field. When updating a record in the InfoPath Forms tool, specifying the value of this field is optional, but if specified, it overrides the values of all other fields. Although the XSD complex type defined for this element in the schema allows any number of FileAttachment elements, the Forms_Tool_IPContents element cannot contain more than one FileAttachment element.

The usage of this element depends on the context:

  • QueryRecords and ReadRecords operations: if the IncludeFileAttachmentContent parameter has a true value, this element is provided and its FileAttachmentContents subfield is also included. If IncludeFileAttachmentContent has a false value, this element is provided, but there is no value for the FileAttachmentContents subfield.

  • CreateRecords operation: value is required by operation. CreateRecords uses the Forms_Tool_IPContents element to set the values for all fields in the record. If any elements associated with designer-specified fields are specified, their values are ignored. The X-document must specify a name that matches the InfoPath Form ID and a solutionVersion that matches the InfoPath template version. See the ReadInfoPathTemplate operation for more information.

  • UpdateRecords operation: value is optional. If you specify the value, then the X-document in FileAttachmentContents is used to update all fields in the InfoPath Forms tool. The RecordURI element is required to identify the record, but if the operation specifies any other elements in the record schema, these other values are ignored. If you omit the Forms_Tool_IPContents value, then the other elements in the record schema are used to set those fields and to update the X-document stored in the InfoPath Forms tool. If you specify the Forms_Tool_IPContents value, then the InfoPath Form ID and template version must match those defined for the form. See the ReadInfoPathTemplate operation for more information.

  • Events: value is not provided by events.

See Also

Reference

GrooveForms2 Web Service
Forms2RecordDataSet Complex Type
Relationship between Groove Forms Tool Types and Forms2RecordDataSet Elements
Relationship between InfoPath Tool Types and Forms2RecordDataSet Elements
Forms2RecordDataSet SOAP Message Example

Concepts

Accessing Forms Tool Records