Skip to content

Commit 90ea87e

Browse files
Apply suggestions from code review
1 parent 4045f51 commit 90ea87e

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

src/protocols/enforce/schema-configuration.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,18 @@ For example, if you include a single `subscription_id` property in the `Subscrip
4141
**IMPORTANT: Unplanned property omission is ONLY supported in cloud-mode Destinations. Unplanned properties will not be omitted when sending to device-mode Destinations.**
4242

4343
## Block Track Calls - Common JSON Schema Violations
44-
To block all `track` calls that generate a common JSON schema violation, go to your **Schema Configuration**, then go to **Advanced Blocking Controls** and choose **Block Event** from the dropdown. Next, you will need to [edit the underlying JSON schema](https://segment.com/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exisit in your `track` event and then trigger a `track` event. Any `track` event that generates a common JSON schema violation will be blocked.
4544

46-
Setting the dropdown to **Block Event** will ensure that all `track` events with JSON schema violations (for example, missing required properties, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select Omit from the dropdown which will simply remove the offending property from the event.
45+
> warning "JSON schema violation event blocking only supports cloud-mode destinations"
46+
> Events with invalid properties are not blocked from device-mode destinations.
4747
48-
This is an advanced feature that requires extensive testing and a squeaky clean data set + tracking plan to enable. To get a sense of which events will be blocked, or properties omitted, go to the Violations view for a source and note all events with a violation. For example, if you added a `subscription_id` required property to your `Subscription Cancelled` event in your Tracking Plan, the below track call would be blocked by Protocols, or property omitted, depending on your setting.
48+
To block all Track calls that generate a common JSON schema violation:
49+
1. In your Segment workspace, go to **Schema Configuration**, then click **Advanced Blocking Controls** and select **Block Event** from the dropdown.
50+
2. [Edit the underlying JSON schema](/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exist in your Track event.
51+
3. Trigger a Track event. Any Track event that generates a common JSON schema violation will be blocked.
52+
53+
Setting the dropdown to **Block Event** ensures that all Track events with JSON schema violations (for example, missing required properties, incorrect property value data types, or invalid regex patterns) are blocked. A less aggressive option is to select **Omit** from the dropdown which removes the offending property from the events.
54+
55+
This is an advanced feature that requires extensive testing and a squeaky clean data set/Tracking Plan to enable. To get a sense of which events will be blocked, or properties omitted, go to the Violations view for a source and note all events with a violation. For example, if you added a `subscription_id` required property to your `Subscription Cancelled` event in your Tracking Plan, the below track call would be either blocked by Protocols, or the property would be omitted, depending on your settings.
4956

5057
```js
5158
analytics.track('Subscription Cancelled', {customer_type: 'enterprise'})
@@ -63,8 +70,12 @@ Setting this dropdown to Omit Traits will ensure that traits not defined in your
6370
**IMPORTANT: Unplanned identify trait blocking is ONLY supported in cloud-mode Destinations. Events with invalid traits will not be blocked from sending to device-mode Destinations.**
6471

6572
## Block Identify Calls - Common JSON Schema Violations
66-
To block all `identify` calls that generate a common JSON schema violation, go to your **Schema Configuration**, then go to **Advanced Blocking Controls** and choose **Block Event** from the dropdown. Next, you will need to [edit the underlying JSON schema](https://segment.com/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exisit in your `identify` event and then trigger an `identify` event. Any `identify` event that generates a common JSON schema violation will be blocked.
6773

68-
Setting the dropdown to **Block Event** will ensure that all `identify` events with JSON schema violations (for example, missing required traits, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select Omit from the dropdown which will simply remove the offending property from the event.
74+
> warning "JSON schema violation event blocking only supports cloud-mode destinations"
75+
> Events with invalid properties are not blocked from device-mode destinations.
6976
70-
**IMPORTANT: JSON schema violation event blocking is ONLY supported in cloud-mode Destinations. Events with invalid properties will not be blocked from sending to device-mode Destinations.**
77+
To block all Identify calls that generate a common JSON schema violation:
78+
1. In your Segment workspace, go to **Schema Configuration**, then click **Advanced Blocking Controls** and select **Block Event** from the dropdown.
79+
2. [Edit the underlying JSON schema](/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exist in your Identify event.
80+
3. Trigger an Identify event. Any Identify event that generates a common JSON schema violation will be blocked.
81+
Setting the dropdown to **Block Event** will ensure that all Identify events with JSON schema violations (for example, missing required traits, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select **Omit** from the dropdown which will simply remove the offending property from the event.

0 commit comments

Comments
 (0)