All RPGs and Storygames by Tod Foley are now available at DrivethruRPG. Bring these games to your table!
This module allows you to login in users by their ip address.
You can define a regex pattern for specific ip addresses like "/127\.0\.0\.0/" for the localhost ip address or "/192\.[0-9]*\.\.[0-9]*\.[0-9]*/" for addresses like "192.*.*.*".
For 2019, I've set up three main goals: improve my English, find a "real" Drupal Team to work with and launch this website. So, I've reached one of my goals. Checked! To be honest, I think it was the easiest one. Improving my English and finding a community-oriented Drupal agency will be harder. But I'm working on it!
This module provides the ability to control the visibility of the page title block on either an individual node or content type basis.
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
DrupalCon Seattle Driesnote presentation
Last week, many Drupalists gathered in Seattle for DrupalCon North America, for what was the largest DrupalCon in history.
DrupalCon Seattle was not only the largest, but also had the most diverse speakers. Nearly 50% of the DrupalCon speakers were from underrepresented groups. This number has been growing year over year, and is something to be proud of.
I actually started my keynote by talking about how we can make Drupal more diverse and inclusive. As one of the largest and most thriving Open Source communities, I believe that Drupal has an obligation to set a positive example.
I talked about how Open Source communities often incorrectly believe that everyone can contribute. Unfortunately, not everyone has equal amounts of free time to contribute. In my keynote, I encouraged individuals and organizations in the Drupal community to strongly consider giving time to underrepresented groups.
Improving diversity is not only good for Drupal and its ecosystem, it's good for people, and it's the right thing to do. Because this topic is so important, I wrote a dedicated blog post about it.Drupal 8 innovation update
I dedicated a significant portion of my keynote to Drupal 8. In the past year alone, there have been 35% more sites and 48% more stable modules in Drupal 8. Our pace of innovation is increasing, and we've seen important progress in several key areas.
With the release of Drupal 8.7, the Layout Builder will become stable. Drupal's new Layout Builder makes it much easier to build and change one-off page layouts, templated layouts and layout workflows. Best of all, the Layout Builder will be accessible.
Drupal 8.7 also brings a lot of improvements to the Media Library.
We also continue to innovate on headless or decoupled Drupal. The JSON:API module will ship with Drupal 8.7. I believe this not only advances Drupal's leadership in API-first, but sets Drupal up for long-term success.
These are just a few of the new capabilities that will ship with Drupal 8.7. For the complete list of new features, keep an eye out for the release announcement in a few weeks.Drupal 7 end of life
If you're still on Drupal 7, there is no need to panic. The Drupal community will support Drupal 7 until November 2021 — two years and 10 months from today.
After the community support ends, there will be extended commercial support for a minimum of three additional years. This means that Drupal 7 will be supported for at least five more years, or until 2024.Upgrading from Drupal 7 to Drupal 8
Upgrading from Drupal 7 to Drupal 8 can be a lot of work, especially for large sites, but the benefits outweigh the challenges.
As announced a few months ago, Drupal 9 is targeted for June 2020. June 2020 is only 14 months away, so I dedicated a significant amount of my keynote to Drupal 9.
Making Drupal updates easier is a huge, ongoing priority for the community. Thanks to those efforts, the upgrade path to Drupal 9 will be radically easier than the upgrade path to Drupal 8.
In my keynote, I talked about how site owners, Drupal developers and Drupal module maintainers can start preparing for Drupal 9 today. I showed several tools that make Drupal 9 preparation easier. Check out my post on how to prepare for Drupal 9 for details.Thank you
I'm grateful to be a part of a community that takes such pride in its work. At each DrupalCon, we get to see the tireless efforts of many volunteers that add up to one amazing event. It makes me proud to showcase the work of so many people and organizations in my presentations.
Thank you to all who have made this year's DrupalCon North America memorable. I look forward to celebrating our work and friendships at future events!
For security reasons, payment method configurations can be define in the site's setting.php file instead of storing them in the database using the code below.
$conf['payment_method_instance_id']['settings']['property'] = 'value';
$conf['authnet_aim|commerce_payment_authnet_aim']['tran_key'] = 'YourTransactionKey';
This module integrates https://github.com/aFarkas/lazysizes with https://www.drupal.org/docs/8/core/modules/responsive-image
You've got less than one week to get your session proposals in, so submit your ideas today. Get a sneak peek at next year's DrupalCon location, or come back to the camp you know and love.Why Twin Cities Drupal Camp? Great speakers – we've hosted nine years of keynotes and sessions from well-known Drupal contributors all over the country Great location – located in downtown Minneapolis in a beautiful, modern college campus, with a tall sunny atrium, comfortable classrooms and professional setups Great weather – summer in Minneapolis is not to be missed, and June has always been a beautiful month. Sidewalk cafes, rooftop bars, food trucks, music, lakes, and sun Great socials – outdoor parties with food trucks and karaoke, board game parties with free food and drink, and a welcome gathering with a little of everything Great (free) trainings - each year we host 3-5 trainings from some of the best groups in the country, free for all conference attendees Great networking - we bring 200 to 300 people each year, from universities and colleges, nonprofits, businesses, government, arts, and agencies of all kinds Great reputation - ask a friend or co-worker who's attended in the past, they will surely tell you why to attend.
As always, all accepted presenters get a free ticket to Camp. We'd sure love for you to come see us this June, and that's made a heck of a lot easier by getting your free ticket once your session is accepted. So, please send your sessions to us and we'll let you know first thing in May if we found a place for your talk.
Switches the main content renderer to provide API responses with custom elements markup.
The module turns Drupal into an API backend that provides rendered main content only. It does not change how the main content is rendered, for that the custom elements module or a custom solution can be used.
The module plays well together with the custom elements, but does not depend on it.
In March, Gabriele Maira Manifesto’s Lead Drupal Engineer, and I, gave a talk at DrupalCamp London’s CxO day on how to build a successful Drupal agency. It was a highly-calorific meal with plenty to chew over for anyone looking to improve their agency’s ability to win new Drupal work and successfully deliver projects. Here, the. Continue reading...
At the Lab section of our name: "Ramsalt Lab" we tried to put Drupal on steroids to test and see how much can we get out of Drupal performance wise and we will now publish a series of blog posts that together make a coherent How-to guide on Drupal performance.Experience, general web performance and Drupal optimization articles
For gathering all the data in this document, we did some heavy research. We have studied a lot of general website performance, Drupal optimization articles and we have done a lot of tests and put in the organization's over 100 years of total Drupal experience into play. A highlight that we would like to point out is this great presentation in DrupalCon 2018 Nashville that you can download its pdf and take a look for yourself.Chapters in the "Faster Drupal" blog series
As a starting point, note that it’s a much easier bet to start with a Drupal 8 installation instead of Drupal 7 since you can get much better results built-in. But in many cases, the current project is already on Drupal 7, so we try to cover both cases. Some of the items are, to say the least, “Obvious” but this list is supposed to be as coherent as possible. For most of this, we consider you have full access to your server and can set up the things listed here, so based on that, let’s kick things off with Caching. Then for the second blog article, we will look into asset distribution, CDN, compression, and aggregation. Thirdly we’ll be taking a look at one of the greatest enemies of performance: Images! Fourth step we will cover some techniques for Database/Web Server Tweaks & Improvements and lastly some general tips and HowTo’s for optimizing theming in Drupal.Improving Caching in Drupal:
Use Redis: Integration of Drupal with the Redis key-value store. It provides cache, lock, and path optional backends
Redis Drupal module
Not happy with Redis for some unknown reason? Try Memcache
For a simple drupal installation, we can take advantage of these two modules:
Drupal Memcache + Drupal Memcache Storage modules
Use Varnish Cache: If you want to improve the performance of your website without using Varnish is like trying to cook without a pan! Varnish is an advanced and very fast reverse-proxy system. In the common configurations Varnish will handle all caches regarding anonymous page-views, and sometimes even static files and pages for logged in users via per-role-caches and ESI (Edge Side Includes) for your site.
Varnish Drupal module (not required for caching, but essential for cache purging).
But hey I’m on shared hosting and don’t have access to any fancy Varnish HTTP cache thingy? Well then use Boost module
Drupal Boost module
Take advantage of PHP Cache (APC): With APC caching your PHP script executions can run more efficiently, by cutting down on dynamic PHP executions.
Let’s all agree we all love CloudFlare: CloudFlare is a FREE reverse proxy, firewall, and global content delivery network and can be implemented without installing any server software or hardware. At least based on Cloudflare module’s page, on average, CloudFlare-powered websites load 30% faster, uses 60% less bandwidth, and process 65% fewer requests. CloudFlare-powered websites are protected from many forms of malicious activity including comment spam, email harvesting, SQL injection, cross-site scripting, and DDoS (denial of service) attacks.
Drupal CloudFlare module
The Purge (Not the movie): So by now you cached the hell out of your website and now you just want to change something on your website? The purge module facilitates cleaning external caching systems, reverse proxies and CDNs as content actually changes. This allows external caching layers to keep unchanged content cached infinitely, making content delivery more efficient, resilient and better guarded against traffic spikes.
Drupal Purge module
Did you know you can cache your views? In Drupal 7 Enable “Views Caching” in each Views manually and in Drupal 8 there’s a module that helps a lot with that.
Drupal Views Advanced Cache module
Using Panels? Enable Panels caching in each Panel
Drupal 8: Do you like BigPipe in Drupal 8 core? How about some sessionLess BigPiping? (No pun intended)
Sessionless BigPipe module
Use views with minimum pagination navigation to save some SQL time (just first, previous, next, last links instead of (1,2,3,4,5…). In Drupal 7 you also need to use:
Views Litepager module
A long cache lifetime can speed up repeat visits to your page, Serve static assets with an efficient cache policy
Read more on Google developers
Drupal 7: People need to login to your website and you still would like some caching? AuthCache to the rescue
Authenticated User Page Caching module
Drupal 7: You like Drupal 8 core cache tags and cache max-age? But maybe for Drupal 7?
Drupal 8 Cache Backport module
Drupal 7: Need different caching per block? Fear not
BlockCache Alter module
Drupal 7: Already setup Memcache and Redis? Add some Entity Caching
Entity Cache module
Drupal 7: Render Cache is also quite powerful but has some issues on the cache clearing level, so use with caution.
Render Cache Drupal module
Consider using Google QuickLink Library if possible. Enables faster subsequent page-loads by prefetching in-viewport links during idle time at the cost of increased page loads for the client.
Google QuickLink Drupal module
Okay, that was a long list of things to consider/do for just caching, but hey we are here to make something extra performative.
In the next upcoming part that will be published in about a week, we will focus on Drupal Aggregation / CDN / Compression
Written by Sohail Lajevardi
Developer at Ramsalt Lab
Module provides a pre-processor to only index content that matches the selected taxonomy terms.
- WebP is a modern image format that provides superior lossless and lossy compression for images on the web. WebP create smaller, richer images that make the web faster.
- Provided a configurable feature to enable WebP conversion for any image.
- As all browsers are currently not supporting Webp format image, a care has been taken so that the browser that won’t support will render the original image uploaded (JPEG/PNG/GIF).
- Can be used for both Developed and new development project without any impact.
Recent Aaron Winborn Award winner, Leslie Glynn, talks about what keeps her coming back to DrupalCon, her love for illuminating people, and when the heck will Tom Brady retire?
This blog has been re-posted and edited with permission from Dries Buytaert's blog.
Upgrading from Drupal 8 to Drupal 9 should be easy if you regularly check for and remove the use of deprecated code.
With Drupal 9 targeted to be released in June of 2020, many people are wondering what they need to do to prepare.
The good and important news is that upgrading from Drupal 8 to Drupal 9 should be really easy — radically easier than upgrading from Drupal 7 to Drupal 8.
The only caveat is that you need to manage "deprecated code" well.
If your site doesn't use deprecated code that is scheduled for removal in Drupal 9, your upgrade to Drupal 9 will be easy. In fact, it should be as easy as a minor version upgrade (like upgrading from Drupal 8.6 to Drupal 8.7).What is deprecated code?
Code in Drupal is marked as "deprecated" when it should no longer be used. Typically, code is deprecated because there is a better alternative that should be used instead.
For example, in Drupal 8.0.0, we deprecated \Drupal::l($text, $url). Instead of using \Drupal::l(), you should use Link::fromTextAndUrl($text, $url). The \Drupal::l() function was marked for removal as part of some clean-up work; Drupal 8 had too many ways to generate links.
Deprecated code will continue to work for some time before it gets removed. For example, \Drupal::l() continues to work in Drupal 8.7 despite the fact that it was deprecated in Drupal 8.0.0 more than three years ago. This gives module maintainers ample time to update their code.
When we release Drupal 9, we will "drop" most deprecated code. In our example, this means that \Drupal::l() will not be available anymore in Drupal 9.
In other words:
- Any Drupal 8 module that does not use deprecated code will continue to work with Drupal 9.
- Any Drupal 8 module that uses deprecated code needs to be updated before Drupal 9 is released, or it will stop working with Drupal 9.
If you're interested, you can read more about Drupal's deprecation policy at https://www.drupal.org/core/deprecation.How do I know if my site uses deprecated code?
There are a few ways to check if your site is using deprecated code.
If you work on a Drupal site as a developer, run drupal-check. Matt Glaman(Centarro) developed a static PHP analysis tool called drupal-check, which you can run against your codebase to check for deprecated code. I recommend running drupal-check in an automated fashion as part of your development workflow.
If you are a site owner, install the Upgrade Status module. This module was built by Acquia. The module provides a graphical user interface on top of drupal-check. The goal is to provide an easy-to-use readiness assessment for your site's migration to Drupal 9.
If you maintain a project on Drupal.org, enable Drupal.org's testing infrastructure to detect the use of deprecated code. There are two complementary ways to do so: you can run a static deprecation analysis and/or configure your existing tests to fail when calling deprecated code. Both can be set up in your drupalci.yml configuration file.
If you find deprecated code in a contributed module used on your site, consider filing an issue in the module's issue queue on Drupal.org (after having checked no issue has been created yet). If you can, provide a patch to fix the deprecation and engage with the maintainer to get it committed.How hard is it to update my code?
While there are some deprecations that require more detailed refactoring, many are a simple matter of search-and-replace.
You can check the API documentation for instructions on how to remedy the deprecation.When can I start updating my code?
I encourage you to start today. When you update your Drupal 8 code to use the latest and greatest APIs, you can benefit from those improvements immediately. There is no reason to wait until Drupal 9 is released.
Drupal 8.8.0 will be the last release to deprecate for Drupal 9. Today, we don't know the full set of deprecations yet.How much time do I have to update my code?
Contributed module maintainers are encouraged to remove the use of deprecated code by June of 2020 so everyone can upgrade to Drupal 9 the day it is released.
Drupal.org project maintainers should keep the extended security coverage policy in mind, which means that Drupal 8.8 will still be supported until Drupal 9.1 is released. Contributed projects looking to support both Drupal 8.8 and Drupal 9.0 might need to use two branches.How ready are the contributed modules?
As it stands today, 44% of the modules have no deprecation warnings. The remaining 56% of the modules need to be updated, but the majority have less than three deprecation warnings.
This module _will_ (haven't created it yet!) support jekyll style front matter (https://jekyllrb.com/docs/front-matter/) via an endpoint for node CRUD operations.
Well it makes a rather nice (IMO) experience for blogging where you can simply post to a site in a human readable format.
Another amazing DrupalCon has passed, and Kanopi had a great time collaborating with the community. Kanopians gave three talks, hosted one summit, participated in two others, led first-time contributor workshops, hosted three BOFs, and two of our engineers (Sean and Jim) passed their Acquia certifications. Our boss Anne even made her first commit.
If you missed our talks, fear not. The recordings are below:Deep Cleaning: Creating Franchise Model Efficiencies with Drupal 8
COIT offers cleaning services and 24/7 emergency restoration services and their 100+ locations serve more than 12 million homes & businesses across the United States and Canada. But their own website was a huge mess. In this case study we will cover the more technical parts of this Drupal 8 implementation.How to Work Remotely and Foster a Happy, Balanced Life
Presenters: Anne Stefanyk
In this session, we talk about how to be the best remote employee, and provide strategies and ideas if you are a leader of a remote team. We talk about key tactics to keep you (and all other staff) inspired, creative, productive and most importantly, happy!