{"id":"692b2a0322f526dc2cf75785","title":"Technical Articles","path":"how-to/technical-articles","contentMarkdown":"# Technical Articles\n\nArticles for technical people - not generally read by general public Click on the links below👇 (most recent first) to see what's been going on!\n- [15-Jul-2026 — Integration Worker: Distributed Architecture and Security](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-15-integration-worker-architecture-and-security)\n- [10-Jul-2026 — Publishing to Facebook and Instagram: the Meta approval process](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-10-meta-approval-facebook-instagram)\n- [9-Jul-2026 — Setting up direct-to-inbox for committee replies](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-09-direct-inbox-setup)\n- [21-Jun-2026 — A Python Reference Server: the Same API on Azure, Entra and a Hybrid Overlay](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-21-python-reference-server)\n- [18-Jun-2026 — Email at Scale: Outbound via Brevo, Inbound via Cloudflare](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-03-18-multi-tenant-brevo-email)\n- [14-Jun-2026 — Brevo Member Sync: How the Information Flow Changes](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-14-brevo-member-sync-information-flow)\n- [13-Jun-2026 — How Site Search Works](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-13-site-search)\n- [29-May-2026 — Setting up a Gmail inbox for committee replies](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-05-29-gmail-inbox-setup)\n- [15-May-2026 — Setting up Cloudflare Web Analytics for your group](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-05-15-cloudflare-web-analytics-setup)\n- [28-Apr-2026 — Thirteen Years and Two Days: What This Would Have Cost via Consultancy](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-28-thirteen-years-and-two-days)\n- [27-Apr-2026 — From Mock to Production: a Pluggable Salesforce Member API](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-27-salesforce-mock-to-production)\n- [21-Apr-2026 — Using the Ramblers Salesforce Mock Server](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-21-using-ramblers-salesforce-mock)\n- [21-Apr-2026 — Ramblers Salesforce Mock Server](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-21-ramblers-salesforce-mock-server)\n- [18-Apr-2026 — WDIO → Playwright: migrating Serenity/JS to the official image, and why real-time step streaming broke](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-18-wdio-to-playwright-serenity-migration)\n- [09-Jul-2026 — Secrets, Deployment, Integration Worker, Fly Tokens, and Cloudflare Configuration](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-12-secrets-deployment-and-cloudflare-config)\n- [04-Apr-2026 — Privacy, Cookies and PECR Compliance](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-04-privacy-cookies-and-compliance)\n- [18-Mar-2026 — Single-Instance Multi-Tenant Architecture Exploration](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-03-18-single-instance-multi-tenant-exploration)\n- [11-Feb-2026 — NGX Ramblers Architecture Overview](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-02-11-ngx-ramblers-architecture)\n- [30-Jan-2026 — Environment Setup Guide](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-30-environment-setup-guide)\n- [29-Jan-2026 — Environment Setup Prerequisites](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-environment-setup-prerequisites)\n- [30-Jan-2026 — NGX Ramblers CLI Reference Guide](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-30-ngx-ramblers-cli-reference)\n- [29-Jan-2026 — Publishing Technical Articles](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-publishing-technical-articles)\n- [29-Jan-2026 — Understanding InputSource and EventPopulation](https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-input-source-and-event-population)\n- [10-Dec-2025 — Migration Guide](https://ngx-ramblers.org.uk/how-to/technical-articles/2025-12-10)\n- [29-Nov-2025 — Shai-Hulud Exploit (grok)](https://ngx-ramblers.org.uk/how-to/technical-articles/2025-11-29)\n- [29-Nov-2025 — Shai-Hulud Exploit (codex)](https://ngx-ramblers.org.uk/how-to/technical-articles/2025-11-29-codex)\n\n","contentHtml":"<h1>Technical Articles</h1>\n<p>Articles for technical people - not generally read by general public Click on the links below👇 (most recent first) to see what&#39;s been going on!</p>\n<ul>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-15-integration-worker-architecture-and-security\">15-Jul-2026 — Integration Worker: Distributed Architecture and Security</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-10-meta-approval-facebook-instagram\">10-Jul-2026 — Publishing to Facebook and Instagram: the Meta approval process</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-07-09-direct-inbox-setup\">9-Jul-2026 — Setting up direct-to-inbox for committee replies</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-21-python-reference-server\">21-Jun-2026 — A Python Reference Server: the Same API on Azure, Entra and a Hybrid Overlay</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-03-18-multi-tenant-brevo-email\">18-Jun-2026 — Email at Scale: Outbound via Brevo, Inbound via Cloudflare</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-14-brevo-member-sync-information-flow\">14-Jun-2026 — Brevo Member Sync: How the Information Flow Changes</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-06-13-site-search\">13-Jun-2026 — How Site Search Works</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-05-29-gmail-inbox-setup\">29-May-2026 — Setting up a Gmail inbox for committee replies</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-05-15-cloudflare-web-analytics-setup\">15-May-2026 — Setting up Cloudflare Web Analytics for your group</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-28-thirteen-years-and-two-days\">28-Apr-2026 — Thirteen Years and Two Days: What This Would Have Cost via Consultancy</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-27-salesforce-mock-to-production\">27-Apr-2026 — From Mock to Production: a Pluggable Salesforce Member API</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-21-using-ramblers-salesforce-mock\">21-Apr-2026 — Using the Ramblers Salesforce Mock Server</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-21-ramblers-salesforce-mock-server\">21-Apr-2026 — Ramblers Salesforce Mock Server</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-18-wdio-to-playwright-serenity-migration\">18-Apr-2026 — WDIO → Playwright: migrating Serenity/JS to the official image, and why real-time step streaming broke</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-12-secrets-deployment-and-cloudflare-config\">09-Jul-2026 — Secrets, Deployment, Integration Worker, Fly Tokens, and Cloudflare Configuration</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-04-04-privacy-cookies-and-compliance\">04-Apr-2026 — Privacy, Cookies and PECR Compliance</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-03-18-single-instance-multi-tenant-exploration\">18-Mar-2026 — Single-Instance Multi-Tenant Architecture Exploration</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-02-11-ngx-ramblers-architecture\">11-Feb-2026 — NGX Ramblers Architecture Overview</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-30-environment-setup-guide\">30-Jan-2026 — Environment Setup Guide</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-environment-setup-prerequisites\">29-Jan-2026 — Environment Setup Prerequisites</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-30-ngx-ramblers-cli-reference\">30-Jan-2026 — NGX Ramblers CLI Reference Guide</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-publishing-technical-articles\">29-Jan-2026 — Publishing Technical Articles</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2026-01-29-input-source-and-event-population\">29-Jan-2026 — Understanding InputSource and EventPopulation</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2025-12-10\">10-Dec-2025 — Migration Guide</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2025-11-29\">29-Nov-2025 — Shai-Hulud Exploit (grok)</a></li>\n<li><a href=\"https://ngx-ramblers.org.uk/how-to/technical-articles/2025-11-29-codex\">29-Nov-2025 — Shai-Hulud Exploit (codex)</a></li>\n</ul>\n"}