< class="prominent-subhead ">

Code Fix: Duplicate sources created in XML

This article has been archived, and/or refers to legacy products, components or features. The content in this article is offered "as is" and will no longer be updated. Archived content is provided for reference purposes only. This content does not infer that the product, component or feature is supported, or that the product, component or feature will continue to function as described herein.

Issue Description
When binding or unbinding a control to a field, duplicate sources are created in the view definition XML.

If a control is bound to a SmartObject field, then the source has a context type of association. If it is not bound, then the context type of the source would be external. In the XML code, instead of changing the context type when a field is bound/unbound, K2 added a new (duplicate) source node to the view definition with the corresponding context type.

Repro Steps

  1. Create a SmartObject.
  2. Create an associated SmartObject.
  3. Create a View from the first SmartObject.
  4. Delete the Drop-Down control.
  5. Add a new Drop-Down control.
  6. Configure the data source to load the associated SmartObject.
  7. Bind the control to the associated field.
  8. Finish the View.

At this point the duplicate Source was created in the XML.

Correct behavior: there should be two sources (1 Primary, and 1 Association). Reproduced issue will result in three sources (1 Primary, 1 Association, 1 External).

The following can be executed in SQL to view the XML entries:










  FROM [K2].[Form].[AuditLog]



Expand the top XML result:




  1. Ensure you have K2 4.7 installed.
  2. Install the K2 4.7 February 2017 Cumulative Update.
  3. Get the K2 4.7 February 2017 Cumulative Update FP3 from Regional Support.
  4. Install the K2 4.7 February 2017 Cumulative Update FP3 to apply the fix.
  5. Clear the Browser Cache.

This a preventative fix, that will prevent the duplicates from getting created, but will not fix any issues related to duplicate sources.