Update Custom Forms to Use Enhanced Employee Gender

Enhanced Employee Gender Playbook

Version
R2025.1.1
Update Custom Forms to Use Enhanced Employee Gender

You need to migrate custom forms if any of the following is true:

  1. Your organization wants to use the new Enhanced Employee Gender functionality, and:
    • Employees are recording multiple entries for their gender information.
    • Administrators have allowed employees to record custom-assigned sex or gender identity options.
    • Administrators have enabled the Display Enhanced Gender Last Modification Information and Effective Dating client property.
  2. Your organization has a custom form that contains the legacy Gender and Gender Identity drop-down lists.

Migrate custom forms using one of the following methods:

Copy System Forms

The simplest way to migrate a custom form to the new Gender grid in Enhanced Employee Gender is to copy a system form. This method works best when a customer has a form that captures gender information identical to, or almost identical to, an existing system form. For example, a New Hire or Rehire form.

To copy a system form:

  1. Go to Workflow AdministrationRole Privileges.
  2. Locate the custom form that uses the legacy Gender or Gender Identity drop-down lists.
  3. Make a note, or take a screenshot, of the information for the form, including:
    • Parent feature
    • Form
    • Workflow
    • Category
    • Role
  4. Go to Workflow AdministrationForm Builder.
  5. Locate the custom form that uses the legacy Gender or Gender Identity drop-down lists and enter 01/01/2024 in the Effective End field.
  6. Note: Forms in processing or approval will still process, but adding the effective end date makes sure that users can’t access the form.
  7. In the left-side panel, expand System and select one of the forms listed in “System Forms Updated with Gender Grid” in System XML Forms for Enhanced Employee Gender.
  8. Click Copy in the toolstrip.
  9. Set the following form properties to match the previous custom form, except for the Reference Code:
    • Name
    • Description
    • Mode
    • Triggers HR Mapping
    • Allow Multiple Submissions
    • Send Approval Notification to Email
    • Can Bypass Data Gate
  10. Set the effective start date to one day, or the same day for which your previous form is end-dated.
  11. Click Save.
  12. Go to Workflow AdministrationRole Privileges.
  13. Verify that the form’s information from Step 3 still matches the information in this screen.

Update Form XML

Alternatively, if the customer has a custom form with several complex or custom elements, the form needs to be updated to use the new Gender grid.

Note: A text editor is recommended to complete this task.

To update form XML:

  1. Go to Workflow AdministrationForm Builder.
  2. Locate the custom form that contains the legacy Gender and Gender Identity drop-down lists.
  3. The Gender grid will be an entirely new section on the form, not a drop-down list. Therefore, it should sit at the bottom of a section, not in the middle of one.
  4. Click the XML tab and copy the XML from Dayforce into a text editor such as Notepad++.

Change 1: Add the new Enhanced Employee Gender Validation Rule

  1. At the top of the XML form are the validation rules. These rules dictate actions and validations on the form.
  2. Under the last validation rule, but above PreSaveProcess and the FormHeader, add this XML:
  3. <ValidationRule Type="AssignedSexAndGenderIdentityValidationRule" Event="OnSubmit" />

The XML now looks like this. Row 13 is highlighted, and shows the new validation rule:

XML example.

Change 2A: Remove the old Gender drop-down list XML

  1. Locate the XML for the Gender drop-down list in the form. It’s usually denoted by one of the following:
    • <Caption>lblGender</Caption>
    • <BindingProperty>Gender</BindingProperty>
    • <!-- Gender -->
  2. Take a note of the row numbers, and delete the entire section of the XML.
  3. Make sure that you remove both the caption and the drop-down list.

Change 2B: Use a <Visible> Tag on the old Gender XML

  1. Alternatively, you can use the following tag to hide the fields on the form:
  2. <Visible>NOT enhancedemployeegenderenabled</Visible>
  3. This can be seen in row 8 and row 18 in the following example. Adding these tags means that the Gender drop-down list won’t show on the form:

Change 3A: Remove the old Gender Identity XML

  1. Locate the Gender Identity drop-down list XML on the form. It’s usually denoted by one of the following:
    • <Caption>lblGenderIdentity</Caption>
    • <BindingProperty>GenderIdentityId</BindingProperty>
    • <!-- GenderIdentity-->
  2. Take a note of the row numbers, and delete the entire section of the XML.
  3. Make sure that you remove both the caption and the drop-down list.

Change 3B: Use a <Visible> tag on the old Gender Identity XML

  1. Alternatively, you can use the following tag to hide the fields on the form:
  2. <Visible>NOT enhancedemployeegenderenabled</Visible>
  3. This can be seen in row 7 and row 16 in the following example. Adding these tags means the Gender Identity drop-down list won’t show on the form:
  4. Copy
       <!--GenderIdentity-->
        <Label>
          <Style>IVLabel</Style>
          <Block>1</Block>
          <Row>6</Row>
          <Column>1</Column>
          <Visible>NOT enhancedemployeegenderenabled</Visible>
          <Caption>lblGenderIdentity</Caption>
          <MarkAsRequired>false</MarkAsRequired>
        </Label>
        <Field>
          <Style>IVComboBox</Style>
          <Block>1</Block>
          <Row>7</Row>
          <Column>1</Column>
          <Visible>NOT enhancedemployeegenderenabled</Visible>
          <BindingProperty>GenderIdentityId</BindingProperty>
          <DataProvider>GenderIdentities</DataProvider>
          <DisplayMemberPath>ShortName</DisplayMemberPath>
          <SelectedValuePath>GenderIdentityId</SelectedValuePath>
          <ContextDataProvider>
            <Name>GenderIdentity</Name>
          </ContextDataProvider>
          <IsRequired>false</IsRequired>
        </Field>

Change 4: Add the new Gender Grid XML

It’s important that the new Gender grid is placed in another section of the form XML. Don’t add it in the middle of another section. In the following example, Gender is under Personal Details and above Confidential Information:

Gender grid placement in form.

The following screenshot of the XML in Notepad++ shows where you would place the Gender Grid XML in a form such as the one shown above.

XML example.

Add the following XML to add the Gender grid to the form. This XML covers all of the scenarios possible for Enhanced Employee Gender.

Make sure that row numbers (<Row>X</Row>) are updated so that they follow the previous section:

  • X1 should be on the same row number (i.e., 9)
  • X2 should be updated to the next row number (i.e., 10)

This means that the Gender grid starts on Row 9. The first two <Row>X1</Row> will be Row 9, the second two <Row>X2</Row> will be Row 10.

Copy
    <!--Gender Information-->
    <Panel>
      <Style>IVPanel</Style>
      <Caption>lblGender</Caption>
      <Row>X1</Row>
      <Column>0</Column>
      <ColumnSpan>4</ColumnSpan>
      <Visible>enhancedemployeegenderenabled OR enhancedgendereffectivedatingenabled</Visible>
    </Panel>
    <Label>
      <Style>InLineHelpLabel</Style>
      <Caption>lblInlineHelpConfidentialInformationGenderSection</Caption>
      <Row>X1</Row>
      <Column>0</Column>
      <ColumnSpan>4</ColumnSpan>
      <Visible>enhancedemployeegenderenabled OR enhancedgendereffectivedatingenabled</Visible>
    </Label>
    <CascadeGrid>
      <Block>1</Block>
      <Row>X2</Row>
      <Column>0</Column>
      <ValidationTitle>Gender</ValidationTitle>
      <ItemSource>List_EmployeeAssignedSexAndGenderIdentity</ItemSource>
      <Visible>enhancedemployeegenderenabled AND NOT enhancedgendereffectivedatingenabled</Visible>
      <GridColumn>
        <BindingProperty>GeoCountryId</BindingProperty>
        <HeaderCaption>lblCountry</HeaderCaption>
        <MarkAsRequired>True</MarkAsRequired>
        <DataProvider>AssignedSexAndGenderIdentityConfigCountries</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>GeoCountryId</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <DynamicFilter>
          <ChildBinding>GeoCountryId</ChildBinding>
        </DynamicFilter>
      </GridColumn>
      <GridColumn>
        <BindingProperty>GeoStateId</BindingProperty>
        <HeaderCaption>lblFormStateProvince</HeaderCaption>
        <DataProvider>AssignedSexAndGenderIdentityConfigStates</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>GeoStateId</SelectedValuePath>
        <IsRequired>false</IsRequired>
        <IsReadOnly>false</IsReadOnly>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ChildBinding>GeoStateId</ChildBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsStateDisabledForCountry</DynamicFilterDisableChildBinding>
      </GridColumn>
      <GridColumn>
        <BindingProperty>AssignedSexCountryAwareId</BindingProperty>
        <HeaderCaption>lblAssignedSex</HeaderCaption>
        <DataProvider>AssignedSexCountryAware</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>Id</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <IsRequired>false</IsRequired>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ParentBinding>GeoStateId</ParentBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsAssignedSexDisabled</DynamicFilterDisableChildBinding>
      </GridColumn>
      <GridColumn>
        <BindingProperty>GenderIdentityCountryAwareId</BindingProperty>
        <HeaderCaption>lblGenderIdentity</HeaderCaption>
        <DataProvider>GenderIdentityCountryAware</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>Id</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <IsRequired>false</IsRequired>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ParentBinding>GeoStateId</ParentBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsGenderIdentityDisabled</DynamicFilterDisableChildBinding>
      </GridColumn>
    </CascadeGrid>
    <CascadeGrid>
      <Block>1</Block>
      <Row>X2</Row>
      <Column>0</Column>
      <ValidationTitle>Gender</ValidationTitle>
      <ItemSource>List_EmployeeAssignedSexAndGenderIdentity</ItemSource>
      <Visible>enhancedgendereffectivedatingenabled AND enhancedemployeegenderenabled</Visible>
      <GridColumn>
        <BindingProperty>GeoCountryId</BindingProperty>
        <HeaderCaption>lblCountry</HeaderCaption>
        <MarkAsRequired>True</MarkAsRequired>
        <DataProvider>AssignedSexAndGenderIdentityConfigCountries</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>GeoCountryId</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <DynamicFilter>
          <ChildBinding>GeoCountryId</ChildBinding>
        </DynamicFilter>
      </GridColumn>
      <GridColumn>
        <BindingProperty>GeoStateId</BindingProperty>
        <HeaderCaption>lblFormStateProvince</HeaderCaption>
        <DataProvider>AssignedSexAndGenderIdentityConfigStates</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>GeoStateId</SelectedValuePath>
        <IsRequired>false</IsRequired>
        <IsReadOnly>false</IsReadOnly>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ChildBinding>GeoStateId</ChildBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsStateDisabledForCountry</DynamicFilterDisableChildBinding>
      </GridColumn>
      <GridColumn>
        <BindingProperty>AssignedSexCountryAwareId</BindingProperty>
        <HeaderCaption>lblAssignedSex</HeaderCaption>
        <DataProvider>AssignedSexCountryAware</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>Id</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <IsRequired>false</IsRequired>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ParentBinding>GeoStateId</ParentBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsAssignedSexDisabled</DynamicFilterDisableChildBinding>
      </GridColumn>
      <GridColumn>
        <BindingProperty>GenderIdentityCountryAwareId</BindingProperty>
        <HeaderCaption>lblGenderIdentity</HeaderCaption>
        <DataProvider>GenderIdentityCountryAware</DataProvider>
        <DisplayMemberPath>ShortName</DisplayMemberPath>
        <SelectedValuePath>Id</SelectedValuePath>
        <IsReadOnly>false</IsReadOnly>
        <IsRequired>false</IsRequired>
        <DynamicFilter>
          <ParentBinding>GeoCountryId</ParentBinding>
          <ParentBinding>GeoStateId</ParentBinding>
        </DynamicFilter>
        <DynamicFilterAllowNullParentBinding>true</DynamicFilterAllowNullParentBinding>
        <DynamicFilterDisableChildBinding>IsGenderIdentityDisabled</DynamicFilterDisableChildBinding>
      </GridColumn>
      <GridColumn>
        <BindingProperty>EffectiveStart</BindingProperty>
        <HeaderCaption>lblEffectiveStart</HeaderCaption>
        <IsRequired>true</IsRequired>
      </GridColumn>
      <GridColumn>
        <BindingProperty>EffectiveEnd</BindingProperty>
        <HeaderCaption>lblEffectiveEnd</HeaderCaption>
        <IsRequired>false</IsRequired>
      </GridColumn>
    </CascadeGrid>

Change 5: Update Row numbers under the Gender Grid

  1. Make sure that row numbers are updated after the Gender grid.
  2. If the Gender grid is on Rows 10 and 11, then your next row should be 12 and so on.
  3. Note: Make sure that you don’t accidentally set the row numbers incorrectly.

Review Changes

  1. Copy the XML from your text editor back into Dayforce.
  2. Preview the form and then make further changes, if needed.
  3. Click Save. The form is now updated.