Repository navigation
Drift Website 1.2.0
Added
embedmap field type: keeps only<iframe>tags with anhttpssource and strips scripts,srcdocand surrounding text (Drift_Website_Media::embed()).- Encore map: Site Settings → Live Embed (
live_embed) and Merch Embed (merch_embed), bothembed. The base doc and setup script add the two Long text fields. - Sync tolerates fields missing from the base. When Airtable answers 422
UNKNOWN_FIELD_NAME,Drift_Website_Airtable::list_records_lenient()drops that field and retries (one extra API call per missing field, only while it's missing). The sync keeps the field's current WordPress values and logs which fields were skipped. Before this, one missing field failed the whole table. Fields a table can't sync without (title, slug, status field, order and sort fields, fromDrift_Website_Map::structural_fields()) are never dropped, so the table still fails safely rather than binning rows. Airtable errors now carrytypeandmessagein their error data. setup-encore-base.mjsmigrate mode:--migrate --all(or--bases,--base) finds every Encore base the token can see and adds missing tables, fields and links. It never deletes, renames or retypes anything. It stamps[Encore template vN]on the Site Settings table description and lists hand jobs per base: formulas, select options, wrong types, Created time and button fields, the Interface. Dry run by default;--applymakes the changes. Bases newer than the script, and bases without Creator access, are skipped.TEMPLATE_VERSIONis 2.docs/airtable-setup/README.md: click-by-click steps for adding the embed fields to the Interface's Publish page; Part C, updating existing bases with migrate mode and a maintenance token; Part D, band-facing instructions for the embeds.
Changed
- Licence: split. PHP stays GPL-2.0-or-later (
GPL-2.0.txt); everything else (CSS, JS, media, docs, the Airtable template and its scripts) is proprietary to Drift Creative Systems. SeeLICENSE. The Drift and Encore names are reserved. - Code comments and changelog no longer name the private projects the plugin was originally built from.
- Airtable setup docs now pass the setup token through the
AIRTABLE_TOKENenvironment variable instead of a command-line option. This keeps the token out of shell history and stops secret scanners flagging the placeholder.
Upgrading
- Pairs with Encore 1.2.0, which shows the new Live and Merch embeds.
- Existing Airtable bases: run
node docs/airtable-setup/setup-encore-base.mjs --migrate --all(dry run), then add--apply. Sites keep syncing if they update first; missing fields are skipped and logged. - Upgrading re-saves every synced post once on the next sync (WordPress work only, no extra API calls).
Licence: PHP GPL-2.0-or-later, everything else proprietary — see LICENSE.