Form Auto-Mapping: Pull & Push Data Synchronization Guide
Overview
The Form Auto-Mapping feature allows administrators to synchronize data between forms that share matching machine codes. This guide explains how to properly use the Pull and Push functionality.
⚠️ IMPORTANT: Prerequisites
Before using Pull or Push functionality, you MUST:
-
Create entries in the receiving form(s) first
• Entries must exist for each entity you want to sync data into
• Use the normal form submission process to create these entries
• Entries with entry_id = 0 are in the default state and may not display properly
-
Ensure forms have matching machine codes
• Fields that should sync must have identical machine codes
• Machine codes are set in the Form Builder > Element Properties
-
Enable Auto-Mapping on relevant forms
• Form Settings > Enable Auto-Mapping checkbox
How to Use Pull Data
Pull Data imports matching field values FROM other forms INTO the current form.
Steps:
-
Open the Form Builder for the form you want to pull data INTO
-
Make changes to your form structure (if needed)
-
Click the "Save Form" button
-
In the sync dialog, select "Pull Form Data In"
-
Choose whether to:
• Keep Data - Preserves existing data, only fills empty fields
• Delete Old Data - Removes all existing data before pulling
-
Click the appropriate button
⚠️ WARNING:
Pull will overwrite entry data for ALL entities that:
-
Have matching machine codes in other forms
-
Share the same entity_id/company_id
-
Have existing entries (entry_id > 0)
How to Use Push Data
Push Data exports matching field values FROM the current form INTO other forms.
Steps:
-
Open the Form Builder for the form you want to push data FROM
-
Make changes to your form structure (if needed)
-
Click the "Save Form" button
-
In the sync dialog, select "Push Form Data Out"
-
Choose whether to:
• Keep Data - Preserves existing data in receiving forms
• Delete Old Data - Removes data before pushing
-
Click the appropriate button
⚠️ WARNING:
Push will overwrite entry data in ALL other forms that:
• Have matching machine codes
• Share the same entity_id/company_id
• Have existing entries (entry_id > 0)
Do Not Sync Option
Select "Do Not Sync" if you only want to save form structure changes without triggering any data synchronization.
Best Practices
-
Test in a non-production environment first
• Data overwrites cannot be easily undone
• Verify machine codes are correct before syncing
-
Create entries before syncing
• Use the form submission process to create initial entries
• Ensure all entities have at least one entry in each form
-
Review affected entities
• Pull/Push affects ALL entities with auto-mapping enabled
• If you only want to sync specific entities, disable auto-mapping temporarily on others
-
Use consistent machine codes
• Document your machine code naming conventions
• Use descriptive names (e.g., "company_name", "contact_email")
-
Backup data before large syncs
• Database backups allow recovery if something goes wrong
Common Issues & Solutions
📌 Issue: Data not appearing after Pull/Push
Solution:
-
Verify entries exist in both source and destination forms
-
Check that machine codes match exactly (case-sensitive)
-
Ensure forms are not in "audit mode"
-
Confirm auto-mapping is enabled on all relevant forms
📌 Issue: Wrong data being overwritten
Solution:
-
Review machine code assignments
-
Multiple fields with the same machine code will sync to each other
-
This is by design, but may be unintended
📌 Issue: Some entities are not syncing
Solution: [THIS IS A CONTINUUM GRC EMPLOYEE SETTING ONLY.]
-
Check the entity_form_relation table for entity assignments
-
Entities must be assigned to forms (entity_id in the relation table)
-
Forms with entity_id = 0 sync to all entities
Technical Details
What happens during Pull:
-
The system identifies all forms assigned to the same entities
-
Finds fields with matching machine codes
-
Copies data values from source forms to the destination form
-
Updates element_status_indicator for changed fields
-
Syncs cascade (child) forms automatically
What happens during Push:
-
The system identifies all forms assigned to the same entities
-
Finds fields with matching machine codes in other forms
-
Copies data values from the current form to other forms
-
Updates element_status_indicator in receiving forms
-
Syncs cascade (child) forms automatically
Machine Code Sync Rules:
-
Only active forms (form_active = 1) participate
-
Only forms with auto-mapping enabled sync
-
Forms in "audit mode" are excluded from sync
-
Cascade forms are synced recursively
-
entry_id = 0 represents the default/template state
Support & Questions
If you encounter issues with auto-mapping:
-
Check application logs for sync messages
-
Verify database tables: ap_form_entries, ap_form_elements [THIS IS A CONTINUUM GRC EMPLOYEE SETTING ONLY.]
-
Review machine code assignments in Form Builder
Enjoy the power of Continuum GRC.