Bulk Edit | Yext Hitchhikers Platform
Bulk (Entity) Edit allows users to edit multiple entities at once.
Bulk Editing large numbers of entities is computationally expensive. In order to ensure that the system provides a strong user experience when editing large numbers of entities, the behavior of Bulk Edit varies slightly, depending on the count of entities being edited.
The “merged view” is a view of the selected entities which merges the value across the entities for each field. Under the hood, the system looks at the values for each of the selected entities in the set, and determines the behavior of the field based on the values across the set. There are two different types of merged views.
Non-List Merged View
For field types which are not lists, the system simply computes whether the value is the same across the selected entities, or whether it is different. If the value is the same, the system will display that value as the field value; otherwise, the system will display
<various content> as the field value.
List Merged View
For List field types (including multi-option select fields), the system will attempt to compute the list items across the selected entities.
As long as the union of list items across the selected entities is under 50 (see thresholds below), any item which exists in a list on at least one of the selected entities will be populated in the list, and the checkbox will represent the items presence across the selected entities:
- If the item is in the list across all entities, the checkbox will be selected
- If the item exists in the list on only a subset of selected entities, the checkbox will be in the indeterminate state, with a light gray dash.
Checking a checkbox and saving will result in the value being included in the list across all selected entities. Unchecking the checkbox and saving will result in the value being removed from the list across all selected entities.
Merged View Thresholds
As mentioned above, it is computationally expensive to calculate this merged view. As such, in order to ensure that the user can edit the selected entities without waiting for the merge computation, above certain thresholds, the merged view is not calculated at all.
|Threshold||Field Types Affected|
|Number of entities edited is >10,000||All|
|Union of list items across the selected entities exceeds 50 total items||List field type only|
Above these thresholds, a user will simply see placeholder text indicating that the field values were not merged; upon clicking to update, the user will see an empty value, and the user can then provide the value(s) and save across the selected entities.
Unmerged List Behavior
For List fields, there are two options provided for when the merged view is not calculated. Once a user has added their new list item(s), they can choose to overwrite the lists across the selected entity profiles, or to simply append the new items to the end of each list. The latter option will preserve the existing lists on any of the selected entities, and simply append the new item(s) to those lists.
Synchronous vs. Asynchronous Apply
It is important that users are able to edit their entities in bulk without the application of the update hindering the usability of Yext Content. As such, Bulk Edit has a threshold at which the application of updates goes from synchronous to asynchronous.
When editing under 2,500 entities, any update will be applied synchronously. Once the user saves an update, the system will apply the update to the selected entities, and the user will need to wait for these updates to apply before they can continue to use Content.
When editing over 2,500 entities, all updates will be applied asynchronously, through the Entity Jobs system, which is the system for asynchronous entity updates (also used by Connectors). The user will click to save, and will see a toast where they can view the progress of the update as it is asynchronously applied to the selected entities.
Conflicting updates are treated such that “last update wins”. For example, in the following scenario:
- User selects a large set (> threshold) of entities to Bulk Edit. Entity 123 is included in the set.
- User edits the Description field from Bulk Edit, starting an asynchronous job to update the field value.
- User navigates to Entity 123 in Entity Edit, and updates the Description field.
The update in Step 3 would clobber the update in step 2, since it was made at a later point in time.
Limitations of Asynchronous Bulk Edit
Some features are not currently supported when editing over 2,500 entities, as these features are not yet supported in the Entity Jobs (asynchronous updating) system. These features include:
- Scheduling Updates
- Suggesting Edits
- Applying Templates
If you wish to perform these actions for >2,500 entities, you will need to do so in batches of <2,500 entities at a time.