Start a new topic

Conditional Authoring Mode SemQL for publisher ID based editing

Hi,

 I have a requirement as below:

(Data Model : Customer : Fuzzy Entity- connected to Contact Entity( Basic Entity- used as reference data for Customer)

 If ContactName field is populated from backend through PublisherID = 'RAS' then no should be able to author that in MDM UI ( No Direct authoring).

 But if that is not the case Data Steward should be able to author that from MDM.

 Proposed Solution:

 In Editing Form, for the FDN_Contact field > General Section> Authoring Mode properties, I have created below SEMQL which is syntactically correct.

--------------------------

Case when MasterRecord.FDN_ContactName  is NOT NULL and MasterRecord.PublisherID ='RAS'

 THEN 'force-read-only'

  else 'auto'

end

--------------------------------------------

Can anyone confirm if this approach will fulfill my requirement or I need to take different approach.

Please Suggest.


Regards,

Kousik

1 Comment

Your approach is correct and aligns with Semarchy xDM best practices for conditional authoring.

How It Works

Authoring Mode in Semarchy forms can be set dynamically using SemQL.

By using your SemQL expression in the Authoring Mode property, you are conditionally setting the field to 'force-read-only' when:

MasterRecord.FDN_ContactName is not null AND

MasterRecord.PublisherID = 'RAS'

In all other cases, the field is set to 'auto' (editable if allowed by workflow/role). 

CASE 
  WHEN MasterRecord.FDN_ContactName IS NOT NULL 
       AND MasterRecord.PublisherID = 'RAS'
    THEN 'force-read-only'
  ELSE 'auto'
END

 Result

If ContactName is populated from PublisherID = 'RAS':
The field is read-only in the UI—users cannot edit it.

If not:
The field is editable as usual.


Additional Recommendations

Make sure the Authoring Mode property is set on the correct field in the correct form (editing form for Customer).

Test with multiple scenarios to confirm the behavior:

ContactName populated with PublisherID = 'RAS'

ContactName populated with other PublisherIDs

ContactName null

Login to post a comment