Repository navigation
Releases: drift-creative-systems/encore-website
Releases · drift-creative-systems/encore-website
Release list
v2.0.0 — Encore Website (formerly Drift Website)
Renamed from Drift Website to Encore Website. 1.x sites update in place with no manual steps.
Changed
- Plugin name, slug, main file (
encore-website.php), text domain and GitHub repo are nowencore-website. - Code prefixes:
Encore_Website_*classes,ENCORE_WEBSITE_*constants,encore_website_*hooks, options and cron events,_encore_*post meta,encore_site_settingsfor the synced settings,ew-admin CSS classes,EncoreWebsiteJS object. - Theme-facing API is
encore_website_settings(),encore_website_setting(),encore_website_setting_image(),encore_website_linked_posts(),encore_website_is_synced(),encore_website_last_synced()andencore_website_form_hidden_fields(). (encore_*alone belongs to the Encore theme.) - Publish webhook is
/wp-json/encore/v1/publishwith anX-Encore-Secretheader; the Free-plan link is?encore_publish=. Form AJAX action isencore_form, honeypotencore_hp. - Secrets are sealed under a new key; 1.x values still unseal and are re-sealed by the migration.
tools/build-zip.pyno longer shipsCLAUDE.mdor.gitignore. 1.3.0's zip includedCLAUDE.md.- Encore map: the enquiry form's page-URL field is
source_page(Airtable column still "Page").pageis a WordPress admin query var, and logged-in AJAX requests runadmin_init. Encore theme 1.3.0 postssource_page; older themes' page URL is dropped.
Added
includes/class-migrate.php: runs once per site onplugins_loadedand on activation. It renames the 1.x options, post meta (including_drift_links_*) and user meta in place, re-seals the token and publish secret, deletes 1.x transients and swaps the cron hooks. It never overwrites a new name that already holds data. A failed run logs and retries on the next request.drift-website.php: header-less legacy loader. 1.x sites keepdrift-website/drift-website.phpinactive_pluginsafter an update; the loader repoints it toencore-website.php(multisite too) so WordPress doesn't deactivate the plugin.includes/compat.php, kept until 3.0:drift_*theme functions,Drift_Website_*class aliases, anddrift_website_*filters and actions passed through with deprecation notices. Thedrift/v1namespace,X-Drift-Secretheader,?drift_publish=link,drift_formaction,drift_hphoneypot andDRIFT_WEBSITE_*constants are all still accepted.
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.
Drift Website 1.1.0
Drift Website and its product theme now work as a pair.
- Product maps can name their theme (
'theme' => [ 'slug', 'name', 'zip' ]).maps/encore.phpnames the Encore theme; maps without one are unaffected. - While that theme (or a child of it) isn't active, wp-admin shows Install & activate Encore (downloads its latest GitHub release) or Activate if it's already installed.
- The Setup Wizard and its page creation are blocked until the theme is active, because its pages are built from the theme's modules.
Pairs with Encore theme 1.1.0, which shows a "coming soon" page until this plugin is active. encore-bundle.zip on the Encore release contains both. See CHANGELOG.md.
Install: upload drift-website.zip via Plugins → Add New → Upload.