This DTO has been deprecated as part of the Relativity Services API (RSAPI) Deprecation and is no longer supported. For more information and alternative APIs, see RSAPI deprecation process.

Field properties

Depending on the field type, you must set different properties on the Field DTO when creating fields that can later be added to RDOs.

This page contains the following sections:

For detailed information about the Field DTO properties, see kCura.Relativity.Client.DTOs namespace reference in the Services API. For more general information about fields, see on the Relativity Documentation site.

Required properties for all field types

These properties must be set for all field types:

  • Name
  • FieldTypeID
  • ObjectType (specified as the DescriptorArtifactTypeID property of ObjectType)
  • IsRequired
  • AllowGroupBy
  • AllowPivot
  • IgnoreWarnings
  • Width

The following section lists additional required properties depending on the field type (FieldTypeID).

Additional required properties by field type

Code sample

This code sample demonstrates how to set up required properties for any possible field type when creating a field. Note that the field type and name are set based on the passed in testField object. The created field is associated with an object type specified by the passed in artifactTypeID.

Copy

private kCura.Relativity.Client.DTOs.Field SetupFieldParams(TestFieldType testField, int artifactTypeID)
{
       var fieldToCreate = new kCura.Relativity.Client.DTOs.Field();
       fieldToCreate.Name = testField.FieldName;
       fieldToCreate.FieldTypeID = testField.DTOFieldType;
       fieldToCreate.ObjectType = new kCura.Relativity.Client.DTOs.ObjectType() { DescriptorArtifactTypeID = artifactTypeID };
       fieldToCreate.IsRequired = false;
       fieldToCreate.AllowGroupBy = false;
       fieldToCreate.AllowPivot = false;
       fieldToCreate.IgnoreWarnings = true;
       fieldToCreate.Width = "";

       if (!fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.MultipleObject }))
       {
              fieldToCreate.Linked = false;
              fieldToCreate.AllowSortTally = true;
              fieldToCreate.Wrapping = true;
       }

       if (!fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.File, kCura.Relativity.Client.FieldType.MultipleObject, kCura.Relativity.Client.FieldType.SingleObject }))
       {
              fieldToCreate.OpenToAssociations = testField.OpenToAssociations;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.MultipleObject, kCura.Relativity.Client.FieldType.SingleObject }))
       {
              fieldToCreate.AssociativeObjectType = testField.ObjectType;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.LongText, kCura.Relativity.Client.FieldType.FixedLengthText }))
       {
              fieldToCreate.IncludeInTextIndex = testField.IncludeInTextIndex;
              fieldToCreate.AllowHTML = false;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.LongText, kCura.Relativity.Client.FieldType.FixedLengthText, kCura.Relativity.Client.FieldType.SingleChoice, kCura.Relativity.Client.FieldType.MultipleChoice }))
       {
              fieldToCreate.Unicode = false;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.LongText }))
       {
              fieldToCreate.AvailableInViewer = false;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.FixedLengthText }))
       {
              fieldToCreate.Length = 255;
              if (objectTypeID.Value == (int)ArtifactType.Document)
              {
                     fieldToCreate.IsRelational = false;
              }
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.SingleChoice, kCura.Relativity.Client.FieldType.MultipleChoice, kCura.Relativity.Client.FieldType.SingleObject, kCura.Relativity.Client.FieldType.MultipleObject }))
       {
              fieldToCreate.AvailableInFieldTree = false;
       }

       if (fieldToCreate.FieldTypeID.In(new kCura.Relativity.Client.FieldType[] { kCura.Relativity.Client.FieldType.YesNo }))
       {
              fieldToCreate.YesValue = "Yes";
              fieldToCreate.NoValue = "No";
       }

       return fieldToCreate;
}