ActivityPub for Drupal
After a couple of weeks of coding and testing, I've tagged a first alpha release of the ActivityPub module for Drupal! It implements the protocol so that you can communicate with other Drupal sites or platforms which support ActivityPub. Remote accounts on for example Mastodon or Pixelfed can follow any user on a Drupal site now and read content, like posts and reply from their platform. It's only the tip of the iceberg of what's possible with AP, but the main focus at this point is discovery of content and users on remote platforms and performing typical social responses (reply, favorite, announce).
The core of the implementation uses Drupal plugins to map fields and content types to activity types. Being in alpha means that the interfaces will most likely change as bugs are fixed and new features will be implemented, but I'll document those when I tag a new version. For more information, installation and configuration, check the README which I will continue to update as well.
Main features
- Enable ActivityPub per user, discovery via the Webfinger module
- Map Activity types and properties to content types and create posts to send out to the Fediverse.
- Create comments from Create activities from remote users to content
- Accept follow requests, Undo (follow), Outbox, Inbox and followers endpoints
- Send posts via drush or cron, with HttpSignature for authorization
Follow me!
Have an account on Mastodon, Pixelfed or Pleroma? Then you can follow me via @swentel@realize.be. Discovery probably works on most other platforms as well, but I haven't interacted with those yet, and I hope other people will download and start testing with those as well.
October Seattle Drupal User Group Meeting
We will meet at 6:30 pm on Thursday, October 22. Note that this is the fourth Thursday of the month, not the usual third
Agenda- Introductions
- Announcements
- Drupal news
- Reports about what we liked and learned at BADCamp
- Demos and discussions about debugging with XDebug
Online; the URL for the meeting will be shared in the SeaDUG Slack workspace and with anyone who signs up for the event.
OSTips - E-Commerce Inside Drupal Made Easy
![E-Commerce Inside Drupal Made Easy](http://web.archive.org./web/20201012223424im_/https://www.ostraining.com/images/OSTipsBLOGhdr.jpg)
Acquia Engage 2020 Award Nominations
Third and Grove is honored to have three clients making the final round for the Acquia Engage 2020 awards.
A standard for progressive decoupled Drupal
Local Behat Testing with Lando and Pantheon
If you've followed Pantheon's Build Tool Instructions and used Pantheon's Example Drops 8 Composer as the base to take advantage of CircleCI then you've encountered Behat tests. Behat tests are extremely valuable for testing site functionality before new code goes to production or a shared code stream. However, on a custom site these default tests provided by Pantheon are likely to fail if you've made even a benign change like deleting Tags vocabulary on a Drupal standard installation.
CMS Buyers Guide
![CMS Buyers Guide](/web/20201012223424im_/https://www.drupal.org/sites/default/files/styles/d08/public/2020-10/%D8%AF%D8%B1%D9%88%D8%A8%D8%A7%D9%84%209%20%D8%A7%D9%84%D9%88%D8%B6%D8%B9%20%D8%A7%D9%84%D8%B1%D8%A7%D9%87%D9%86%20%D9%88%D9%83%D9%8A%D9%81%D9%8A%D8%A9%20%D8%A7%D9%84%D8%AA%D8%AD%D8%B6%D9%8A%D8%B1%20%D9%84%D9%87%20%281%29-min.png?itok=IMEEHHSe)
At the core of any successful digital transformation is finding the ideal CMS that best fits your enterprise short and long-term digital objectives.
However, this decision making process can take a lot of time and effort.
To simply this process, our team developed this guide to help you identify the CMS that best suits your enterprise and your end-users based on the criteria that is relevant to your business requirements.
The CMS Buyers Guide will feature:
- Vendor and product viability
- Budget concerns
- CMS capabilities
- Best practices and standards
- ... and much more.
Download the CMS Buyers Guide by filling out the form to the right.
Control Spam in Drupal with Honeypot and/or Antibot
![Control Spam in Drupal with Honeypot and/or Antibot](http://web.archive.org./web/20201012223424im_/https://www.ostraining.com/images/HoneyPot-drupalSpam.jpg)
From its conception, the fundamental (ground) idea of the internet was the exchange of information through code snippets of a markup language. This is still the ground principle that moves the internet these days. There are, of course, a lot of other things you can do over the internet, but it all comes down to an exchange of information.
With this kind of freedom, it is not surprising, that people abuse this for their own benefit. Spam comments are a form of abusing this privilege.
The combination of the Drupal modules Honeypot and Antibot will ensure that your site is “almost” 100% protected from spam (at least the ones produced by robots).
Keep reading to learn how to Control Spam in Drupal with Honeypot and/or Antibot!
Stop your builds failing with git pre commit hooks
Have you ever happily pushed your latest piece of work ready for others to test only to have it fail the build on coding standards? If so, git pre commit hooks could be your friend!
by saul.willers / 8 October 2020It's pretty standard practice these days for CI build pipelines to include linting steps to ensure things like coding standards pass. Depending on how the build is configured, failing coding standards can result in the entire build failing.
Because linting is generally not resource intensive, running it locally can be a useful time saver. But it's an easy step to forget. Thankfully it can be automated to run before every git commit with a pre-commit hook.
First we need a script to fire before the commit. This is placed in the project repo somewhere like .git-hooks/pre-commit:
#!/bin/sh
make lint-php
exit $?
We use Makefiles to call our custom lint-php rule, but this could be a Robo command or any other task running which fires your coding standard check.
Next, the script needs to be executable:
chmod +x .git-hooks/pre-commit
Then let git know about this script by running the following command:
git config core.hooksPath .git-hooks
That's it, our coding standards check will now automatically run whenever we do a git commit and stop the commit from proceeding if there is a fail.
If you've got a WIP or something you wish to commit regardless of any errors use git commit --no-verify
Hopefully this saves you from pushing coding standard fails in the future.
SEO and Analytics for Zero-Click Searches
Commerce Shipping release adds shipment confirmation emails and improved JSON:API support
Several months have passed since we've tagged our first Commerce Shipping release candidate, which added support for "billing same as shipping" address copying and resolved a variety of bugs.
Since then we've kept a close eye on the issue queue. Even though it isn't part of the core Commerce project itself, we consider it an essential contributed module in our ecosystem. We've resolved a few more "last mile" bugs and recently packaged the module's second release candidate.
Shipment confirmation emails
Thanks to the hard work of several community contributors, we now support sending a "shipment confirmation" email to notify customers when their ordered items are shipped.
This behavior is controlled by a setting at the shipment type level:
![Shipment confirmation email setting](http://web.archive.org./web/20201012223424im_/https://www.centarro.io/sites/default/files/styles/hero/public/2020-10/shipment-confirmation-email-setting.png?itok=QrQqfoy3)
Similar to order receipts, it's also possible to resend the shipment confirmation from an order's shipments tab:
Read moreLess than a week away from BADCamp liftoff!!
Debunking 4 CMS Migration Myths
![](http://web.archive.org./web/20201012223424im_/https://mobomo.s3.amazonaws.com/uploads/2020/10/Blog_featured-migration-300x210.png)
Here’s a dirty secret: most businesses are unsatisfied with their website. Research shows that 34% of website owners are unsatisfied with the amount of business their website generates for them. Loudhouse data suggests that 62% of business owners believe a more effective website would increase their sales. And millions of business websites deal with slow load times, inconsistent customer experiences, and problematic UI/UX issues.
There’s a reason that 36% of small businesses STILL don’t have a website. Creating an amazing, design-driven, customer-centric website is challenging. So, what do you do when your website isn’t making the cut? You look towards the source — your Content Management System (CMS). Every year, thousands of private and public entities migrate their website to a new CMS.
Lullabot Podcast: A Look Into the Past, Present, and Future of Lullabot
Matt and Mike have former CEO Matt Westgate on to talk about his transition to Tugboat, and also speak with new CEO Seth Brown to talk about what's upcoming for Lullabot.
How to redirect a user after login in Drupal the proper way
![How to redirect a user after login in Drupal](http://web.archive.org./web/20201012223424im_/https://www.thesavvyfew.com/sites/default/files/styles/737x420/public/media-image/arrow-direction.jpg?itok=KGx8qc9B)
Automatically redirecting a user after logging into your Drupal website is a common requirement. In Drupal 7, you would probably have used hook_user_login() to perform this task, but with Drupal 8 came a more robust way to handle this. Our…
Read moreDrupal 9.1.0-alpha1 will be released the week of October 19th
Reposted from the Core group on groups.drupal.org
In preparation for the minor release, Drupal 9.1.x will enter the alpha phase the week of October 19th, 2020. Core developers should plan to complete changes that are only allowed in minor releases prior to the alpha release. The 9.1.0-alpha1 deadline for most core patches is October 16. (More information on alpha and beta releases.)
-
Developers and site owners can begin testing the alpha after its release.
-
The 9.2.x branch of core will be created, and future feature and API additions will be targeted against that branch instead of 9.1.x. All outstanding issues filed against 9.1.x will be automatically migrated to 9.2.x.
-
Once 9.2.x is branched, alpha experimental modules will be removed from the 9.1.x codebase (so their development will continue in 9.2.x only). The Config Environment module is an alpha stability module in 9.1.x.
-
All issues filed against 9.0.x will then be migrated to 9.1.x, and subsequent bug reports should be targeted against the 9.1.x branch.
-
During the alpha phase, core issues will be committed according to the following policy:
Drupal 9.1.0-alpha1 will be released the week of October 19th
In preparation for the minor release, Drupal 9.1.x will enter the alpha phase the week of October 19th, 2020. Core developers should plan to complete changes that are only allowed in minor releases prior to the alpha release. The 9.1.0-alpha1 deadline for most core patches is October 16. (More information on alpha and beta releases.)
-
Developers and site owners can begin testing the alpha after its release.
-
The 9.2.x branch of core will be created, and future feature and API additions will be targeted against that branch instead of 9.1.x. All outstanding issues filed against 9.1.x will be automatically migrated to 9.2.x.
-
Once 9.2.x is branched, alpha experimental modules will be removed from the 9.1.x codebase (so their development will continue in 9.2.x only). The Config Environment module is an alpha stability module in 9.1.x.
-
All issues filed against 9.0.x will then be migrated to 9.1.x, and subsequent bug reports should be targeted against the 9.1.x branch.
-
During the alpha phase, core issues will be committed according to the following policy:
Drupal 9: All questions answered here
“The big deal about Drupal 9 is … that it should not be a big deal” - Dries Buytaert (Founder and Project Lead of Drupal)
June 2020 marked the onset of the long-awaited version 9 of the Drupal CMS. And just like every product, the moment this new CMS rolled out, it raised a lot of interest in the Drupal community as well as among Drupal users. The interest was to understand the new version of Drupal with a view to unlocking the new digital opportunities. Logically this interest gave rise to a number of questions in the head of users, right from the ways to migrate to what this new release actually means to a user.
There are some common concerns about Drupal 9 that every Drupal user is battling with in some way or another way. Therefore, in this blog, we have initiated to unpack the burning questions about Drupal 9 which will put all your questions at peace and will surely help you unleash the best user experience on your website.
![Girl sitting right next to a big white tablet](http://web.archive.org./web/20201012223424im_/http://opensenselabs.com/sites/default/files/inline-images/intro%27.png)
1. What’s new in Drupal 9?
Get Up to Speed with the AMP module for Drupal – A brief Tutorial
As the number of mobile users are increasing rapidly on a daily basis, it is essential to provide a speedy performance and uninterrupted user experiences for mobile users. AMP (Accelerated Mobile Pages) helps in improving the page load time for mobile experiences. Launched in October 2015 by Google, the open-source AMP project has been remarkably successful at expediting content to mobile devices. In this article we will talk about how you can install and configure the AMP module for your Drupal website. The Drupal AMP module supports Drupal 8 and Drupal 9.
![Drupal AMP](http://web.archive.org./web/20201012223424im_/https://www.specbee.com/blogs/sites/default/files/inline-images/Amp-01.jpg)
AMP is an open-source HTML framework developed by Google’s AMP Open Source Project. AMP Pages provides mobile users with faster loading pages. Because Google is a sucker for speed and high performance, AMP also helps boost your SEO ranking. Google serves the AMP pages directly without going through the website which makes the page load lightning fast. The Drupal AMP Module provides valid AMP markup and a way to match the standards required for an AMP Page. This module converts the CSS into inline CSS. Currently, the AMP module only supports the conversion of the node pages.
Examples of medical websites that rely on Drupal
A little earlier, we have written several articles about website building on Drupal. This time we made a selection of medical websites that attracted our attention. There will be few clear examples of medical websites with screenshots and author comments. Just move on to the article, and you will see everything with your own eyes.
Read the article “Examples of medical websites that rely on Drupal” and be healthy!