Prepare
- Set a cutoff date to make all changes (the end of a month)
- It is best to pick a date in the future.
- Execute changes at the end of the last business day of the month.
- If the cutoff date has already passed, you will need to:
- Update sources on all old leads in leads_raw - data back to the cutoff date
- Set those rows to reprocess_file=true
Execute
The following steps need to be taken to ensure a smooth transition when vendors change names.
On the cutoff date, execute all changes:
1. Postgres Tables
-
Source Aliases
- Check claripedia.source_aliases table to see if the new vendor name already exists as an alias.
- If the new name exists in source_aliases, remove it. It needs to be in the sources table instead.
- Check claripedia.source_aliases table to see if the new vendor name already exists as an alias.
-
Sources
- Check claripedia.sources table to see if the new vendor name already exists.
- If new name already exists, verify that the channel is the same as the previous source (if not, change it so it is)
- If the new name does not exist, add it to the table. channel needs to be the same as the old source's channel.
- Check claripedia.sources table to see if the new vendor name already exists.
-
Source Classification
In the third_party_data.source_classification table:- Check source classification for the old vendor
- Check source classification for the new vendor
- If it already exists, target_channel needs to be same as the old vendor's target_channel
- If not, add it, and make the target_channel the same as the old vendor's target_channel
-
Lead Data Suppliers
In the claripedia.lead_data_suppliers table:- Do not delete the old lead data supplier
- Add a new lead data supplier.
- These fields will be different:
- preprocessing_key
- display_name
- source (if old source was null, use null on the new source)
- The new lead data supplier entry should have the same settings/flags as the old one:
- raw_lead_type
- channel
- get_date_from_filename
- get_campaign_from_filename
- These fields will be different:
-
Leads Schema Mapping Custom Headers
In the claripedia.leads_schema_mapping_custom_headers table:- Do not delete the old mappings for the old preprocessing_key (previous vendor name)
- Make a copy of all mappings under the new preprocessing_key (new vendor name)
2. Dropbox Folders
- Rename all Insyncing Dropbox leads subfolders (under property folders) - rename to the new preprocessing_key
- Do NOT update Data Archive folders. We want to preserve the history of files as they were loaded originally.
- Update all Dropbox IDD links on Monday boards:
- SA+TVA Ops Monthly Tasks
- MTSA Source Reports Properties
3. Engineering Changes:
-
APIs - Request updates to:
- third_party_data.prod_third_party_vendors - update vendor_name and display_name
- third_party_data.prod_third_party_data_config table - update vendor_name on all existing entries (Ops can do this but only after Engineering updates the third_party_vendors table)
-
DMUI - 3rd Party entry page
- Display name on page
- vendor_name that the entry is mapped to in third_party_data_config table
-
Github
- DAG names
- Code - update the lead data supplier that the leads are being mapped to (and source if necessary)
- Code - update any other references to the vendor name
-
Airflow
- DAG names
- Code - update the name of the Github DAGs that are being called
- Jobs/Jumphost server Log file names
-
Scraper - Request updates to:
- Scraper bucket filenames
- Lead Data Supplier used for ETL ingestion of leads
- Rename all existing customers in WALLE_CONFIG_DATA
- Rename all existing customers in WALLE_CONFIG_INIT
4. Monday boards
- Vendor Details board entry
- Monday vendor email fire text (automations on OB Tasks and Monthly Tasks)
- Rocketlane vendor email fire text and task names (coordinate with CS Specialist)
- Vendor dropdowns on OB Tasks and Monthly Tasks
- OB Tasks - rename all existing tasks
- Monthly Tasks - rename all existing tasks
QA
After changes are made, QA the data for all clients.
- Leads QA 2 - ensure leads are appearing under the new vendor name
- Leads Attribution QA - ensure the new lead data supplier is receiving attribution
- DMUI Attribution - if the vendor has a hardcoded source, check DMUI attribution to ensure new source is attributing. Check a random sampling of about 3-5 properties.