26 Jan 2026
Drupal.org aggregator
Talking Drupal: Talking Drupal #537 - Orchestration
Today we are talking about Integrations into Drupal, Automation, and Drupal with Orchestration with guest Jürgen Haas. We'll also cover CRM as our module of the week.
For show notes visit: https://www.talkingDrupal.com/537
Topics
- Understanding Orchestration
- Orchestration in Drupal
- Introduction to Orchestration Services
- Drupal's Role in Orchestration
- Flexibility in Integration
- Orchestration Module in Drupal
- Active Pieces and Open Source Integration
- Security Considerations in Orchestration
- Future of Orchestration in Drupal
- Getting Involved with Orchestration
Resources
- Orchestration
- N8N
- Drupal as an application
- Tools
Guests
Jürgen Haas - lakedrops.com jurgenhaas
Hosts
Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi
MOTW Correspondent
Martin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted a Drupal-native way to store, manage, and interact with people who might not all be registered users? There's a module for that.
- Module name/project name:
- Brief history
- How old: created in Apr 2007 by Allie Micka, but the Steve Ayers aka bluegeek9 took over the namespace
- Versions available: 1.0.0-beta2, which works with Drupal 11.1 or newer
- Maintainership
- Actively maintained, latest release just a day ago
- Security coverage: opted in, but needs a stable release
- Test coverage
- Number of open issues: 73 open issues, but all bugs have been marked as fixed
- Usage stats:
- 10 sites
- Module features and usage
- Listeners may remember some mention of the CRM module in the conversation about the Member Platform initiative back in episode 512
- As a reminder, something other than standard Drupal user accounts is useful for working with contact information for people where you may not have all the criteria necessary for a Drupal user account, for example an email address. Also, a dedicated system can make it easier to model relationships between contacts, and provide additional capabilities.
- It's worth noting that this module defines CRM as Contact Relationship Management, not assuming that the data is associated with "customers" or "constituents" as some other solutions do
- At its heart, CRM defines three new entity types: contacts, contact methods, and relationships. Each of these can have fieldable bundles, and provides some default examples: Person, Household, and Organization for contacts; Address, Email, and Telephone for contact methods; and Head of household, Spouse, Employee, and Member for relationships
- Out of the box CRM includes integrations with other popular modules like Group and Context, in addition to a variety of Drupal core systems like views and search
- As previously mentioned CRM is intended to be the foundational data layer of the Member Platform, but is also a key element of the Open Knowledge distribution, meant to allow using Drupal as a collaborative knowledge base and learning platform
26 Jan 2026 7:00pm GMT
Très Bien Blog: …and now I'm recovering
…and now I'm recovering
After just a month of use I can see that my relationship with Claude Code is unhealthy. Like I mentioned when I tried Claude Code for a month, even when it was wasting my time I was having fun. Pretty big red flag.
theodore
26 Jan 2026 12:44am GMT
25 Jan 2026
Symfony Blog
Symfony 6.4.32 released
Symfony 6.4.32 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project. Tip…
25 Jan 2026 12:08pm GMT
Symfony 7.3.10 released
Symfony 7.3.10 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project. Tip…
25 Jan 2026 11:15am GMT
Symfony 7.4.4 released
Symfony 7.4.4 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project. Tip…
25 Jan 2026 11:02am GMT
24 Jan 2026
Drupal.org aggregator
Dries Buytaert: Automatically exporting my Drupal content to GitHub
This note is mostly for my future self, in case I need to set this up again. I'm sharing it publicly because parts of it might be useful to others, though it's not a complete tutorial since it relies on a custom Drupal module I haven't released.
For context: I switched to Markdown and then open-sourced my blog content by exporting it to GitHub. Every day, my Drupal site exports its content as Markdown files and commits any changes to github.com/dbuytaert/website-content. New posts appear automatically, and so do edits and deletions.
Creating the GitHub repository
Create a new GitHub repository. I called mine website-content.
Giving your server access to GitHub
For your server to push changes to GitHub automatically, you need SSH key authentication.
SSH into your server and generate a new SSH key pair:
ssh-keygen -t ed25519 -f ~/.ssh/github -N ""
This creates two files: ~/.ssh/github (your private key that stays on your server) and ~/.ssh/github.pub (your public key that you share with GitHub).
The -N "" creates the key without a passphrase. For automated scripts on secured servers, passwordless keys are standard practice. The security comes from restricting what the key can do (a deploy key with write access to one repository) rather than from a passphrase.
Next, tell SSH to use this key when connecting to GitHub:
cat >> ~/.ssh/config << 'EOF'
Host github.com
IdentityFile ~/.ssh/github
IdentitiesOnly yes
EOF
Add GitHub's server fingerprint to your known hosts file. This prevents SSH from asking "Are you sure you want to connect?" when the script runs:
ssh-keyscan github.com >> ~/.ssh/known_hosts
Display your public key so you can copy it:
cat ~/.ssh/github.pub
In GitHub, go to your repository's "Settings", find "Deploy keys" in the sidebar, and click "Add deploy key". Check the box for "Allow write access".
Test that everything works:
ssh -T git@github.com
You should see: You've successfully authenticated, but GitHub does not provide shell access.
The export script
I created the following export script:
#!/bin/bash
set -e
TEMP=/tmp/dries-export
# Clone the existing repository
git clone git@github.com:dbuytaert/website-content.git $TEMP
cd $TEMP
# Clean all directories so moved/deleted content is tracked
rm -rf */
# Export fresh content older than 2 days
drush node:export --end-date="2 days ago" --destination=$TEMP
# Commit and push if there are changes
git config user.email "dries+bot@buytaert.net"
git config user.name "Dries Bot"
git add -A
git diff --staged --quiet || {
git commit -m "Automatic updates for $(date +%Y-%m-%d)"
git push
}
rm -rf $TEMP
The drush node:export command comes from a custom Drupal module I built for my site. I have not published the module on Drupal.org because it's specific to my site and not reusable as is. I wrote about why that kind of code is still worth sharing as adaptable modules, and I hope to share it once Drupal.org has a place for them.
The two-day delay (--end-date="2 days ago") gives me time to catch typos before posts are archived to GitHub. I usually find them right after hitting publish.
The git add -A stages everything including deletions, so if I remove a post from my site, it disappears from GitHub too (though Git's history preserves it).
Scheduling the export
On a traditional server, you'd add this script to Cron to run daily. My site runs on Acquia Cloud, which is Kubernetes-based and automatically scales pods up and down based on traffic. This means there is no single server to put a crontab on. Instead, Acquia Cloud provides a scheduler that runs jobs reliably across the infrastructure.
And yes, this note about automatically backing up my content will itself be automatically backed up.
24 Jan 2026 1:54pm GMT