Form designer is duplicating sections

Eileen Hessmill
Mega Expert

(Recently upgraded to Jakarta.)

I added a UI Policy for the incident.short_description to make it mandatory in dev. Works fine. Once I imported the change to Test, the Incident form of one of our domains showed multiple sections (see below). Using the Form designer I deleted the unwanted sections and saved, but it just added another set of sections.

I went back to Dev where it still looked good to add a new section with the intention to write over all the extra sections in test, but now the form designer is adding sections to the dev instance. I've tried just deleting the sections, but they aren't removed after the save. Am I doing something wrong with the Form designer? All the other domains look ok.

find_real_file.png

This is what it should look like:

find_real_file.png

1 ACCEPTED SOLUTION

Snehal2
Kilo Guru

 

Even I faced this Issue when I tried reordering the field from one section to other on Incident form. When ever I tried deleting the duplicate sections that were created, It was again getting created automatically again and again. 😞 And when I saw in the table where sections are created, there the duplicate sections that were created were not visible.

Solution To fix this:

  • Go in update set where this modifications are captured.
  • Then open the update set record, select the Show related record link.
  • And from there delete the duplicate sections created by you.

Note: Never use Form Design for reordering the fields or any thing . Instead use Configure ->Form Layout.

Hope this will help the needy...

Mark it correct if worked for u as well so that it will be helpful to others as well

 

Regards,

Snehal M

View solution in original post

10 REPLIES 10

 Overview:  Possible Solution to Prevent and Clean Up sys_ui_form Duplicates

Problem

When we promote update sets between environments (e.g. Dev → Test → Prod), we sometimes encounter duplicate sys_ui_form records, especially when:

  • A form is modified (fields added, sections moved, etc.)
  • The same table/view exists in the different domain scopes
  • An update set creates a sys_ui_form record with a new sys_id, rather than updating the existing one

This leads to:

  • UI glitches
  • Manual deletions
  • Required cache clears

 Goal

To ensure sys_ui_form records are consistent and deduplicated across environments — with preserved sys_id continuity — by:

  1. Comparing post-commit data against the previous environment
  2. Removing duplicate records (same table/view, different sys_id)
  3. Automatically clearing the form cache

 Solution Architecture

Component

Purpose

Location

Scripted REST API

Exposes sys_ui_form data (table, view, sys_id)

Dev & Test

REST Message

Queries the upstream environment for source-of-truth

Test & Prod

Cleanup Script

Runs post-commit to find and remove duplicates

Test & Prod

Promotion Path Logic

Target Env

Calls

API Hosted In

Purpose

Test

Dev

Dev

Clean up Test after Dev promotion

Prod

Test

Test

Clean up Prod after Test promotion

 Component Details

  1. Scripted REST API
  • Exposes the current environment’s sys_ui_form records
  • Returns table, view, sys_id, scope, and domain
  • Used as the "source of truth" by downstream environments
  1. REST Message
  • Defined in Test and Prod
  • Calls the upstream REST API to get the list of valid records
  • Used by the cleanup logic to find mismatches
  1. Cleanup Script
  • Runs after update set commit
  • Compares local sys_ui_form records to upstream list
  • Deletes any with matching table/view but different sys_id
  • Clears form cache to prevent rendering issues

Benefits

  • Ensures consistency: Matching sys_ids across environments
  • Eliminates duplicates: Prevents UI issues and form layout conflicts
  • Automates manual work: No more hunting down rogue forms
  • Scales well: Easily expanded to handle sys_ui_view, sys_ui_section, etc.
  • Supports governance: Promotes source-of-truth model across environments

 Security Notes

  • The REST API is locked to basic auth or OAuth and only exposes necessary data
  • Scoped app structure keeps logic modular and deployable

Implementation Summary

Step

Responsible Team

Notes

Deploy Scripted REST API

Platform/DevOps

In Dev and Test environments

Configure REST Messages

Platform/DevOps

In Test and Prod

Run cleanup script post-commit

DevOps/Release

Via scheduled job or background script

Optional Enhancements

  • Extend to sys_ui_section and sys_ui_view
  • Add preview mode (log-only) for visibility before deletion
  • Bundle all logic in a deployable Scoped App

joseph_mate
Kilo Contributor

I'm trying to develop a plugin. I see this too when I try to install the plugin from an XML file. It only happens to forms with multiple sections.



As a work around, I have to remove sections, add sections, until it eventually it fixes itself. Good luck! I hope they fix it soon!


thanks so much! I think I was making it worse by deleting sections...they seem to multiply every time I deleted them. But I'll keep trying. In the meantime, we have a HI ticket entered for it.


I have tried "playing with it until it works" before, but then I often find that the changes don't get promoted properly to test and prod. It's something support should deal with and if they get enough of them, raise a PRB, find the root cause and fix the underlying issue.


Snehal2
Kilo Guru

 

Even I faced this Issue when I tried reordering the field from one section to other on Incident form. When ever I tried deleting the duplicate sections that were created, It was again getting created automatically again and again. 😞 And when I saw in the table where sections are created, there the duplicate sections that were created were not visible.

Solution To fix this:

  • Go in update set where this modifications are captured.
  • Then open the update set record, select the Show related record link.
  • And from there delete the duplicate sections created by you.

Note: Never use Form Design for reordering the fields or any thing . Instead use Configure ->Form Layout.

Hope this will help the needy...

Mark it correct if worked for u as well so that it will be helpful to others as well

 

Regards,

Snehal M