All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!

Commerce PartPay integrates PartPay with Drupal Commerce payment and checkout system.
FeaturesCommerce PartPay supports gateway hosted billing methods.
Available Payment MethodsPartPay
PartPay is a payment solution hosted by PartPay; your site won’t see credit card details so
you have fewer requirements for compliance. It’s safer and simpler to implement.
This module is a Twig extension that converts a term ID (TID) to a language-aware taxonomy term name.
Quicklink attempts to make navigations to subsequent pages load faster. It:
Esports team owners and professionals are reportedly convinced that many organizations are overvalued, and because of that, a market correction is looming on the horizon. ...
The German Consumer Protection Authority (VZBV) is taking Nintendo to court over Nintendo's digital preorder policies, specifically over the strict rule that eShop preorders cannot be canceled. ...
Battlefield 5 developer EA Dice has rolled back a recent change to the game†s †time to kill†(TTK) after the earlier alteration skewed the game's multiplayer difficulty in favor of newer players a little too much. ...
Twitter Sync is a module that allows you to sync a account on twitter and create a small block view of the firsts tweets. Also provides a synchronization saving the status on a bundle that the modules creates, so you will have a status id and screen name of each tweet in case for further custom implementations.
Note:
This is a
release, module still under construction. Feel free to contribute with issues.
Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.
DrupalCon Give thanks with your Drupal Family at DrupalConWhat better way to connect with your Drupal family and give thanks for Drupal's impact than at DrupalCon? Still need to register? Coming on your own? Now's a great time to lock in a good price.
If your organization is sponsoring your trip, consider investing those end of year budgets in your registration... and invest in Drupal's success while you do it. Your team can also sign up for or renew your Supporting Partnership for steep discounts on ticket prices.
The schedule is available now; check out the specialty sessions and register before prices go up!
Kicking off planning for DrupalCon AmsterdamMembers of the Drupal Association team traveled to Europe to meet with Kuoni Congress and, the DrupalCon Europe advisory committee do a kick-off meeting and deep dive on the event planning for DrupalCon Amsterdam. This was our opportunity to dive deep into the event with the team, and it was a tremendously productive 2-day session.
More news about Amsterdam will be coming soon, so check back at https://events.drupal.org/amsterdam2019 soon!
(Image courtesy of Baddy Breidert)
Drupal.org Updates New telemetry data about Drupal usageIn November we also re-architected the way we parse data from sites that call back to Drupal.org for updates. This allowed us to learn more about how Drupal is used in the wild. This graph shows the current distribution of PHP versions for Drupal 8 sites. Notably only about 20% of Drupal 8 sites are still using PHP 5, so the migration effort for the community may not be as big as some expected when PHP 5 reaches end of life.
Finding a new Technical Program ManagerAs Tim has stepped into the role of interim executive director, we've been looking to bring a new team member onboard to backfill some of his technical responsibilities. In November we interviewed candidates for our Technical Program Manager position. We're excited to have our new team member join in the new year!
Drupal.org/community changes live!The changes outlined to the Drupal.org community home page that we outlined in our October update are now live. This new entry point to the Drupal community addresses the many different needs that a new member of our community might have, and the different personas that they might represent. The home of the community will continue to evolve over time, so expect to see more updates soon, and please offer your feedback here.
Drupal Association Updates Executive search firm selectedAs you know, we've begun the process of looking for our next Executive Director. In November we interviewed executive search firms to help us with this process, and in early December we announced that we've selected Lehman Associates to help us with our search. If you would like to read the candidate profile, or contact Lehman Associates to offer candidate suggestions or provide other feedback, please use the button below.
———
As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who make it possible for us to work on these projects. In particular, we want to thank:
If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.
Follow us on Twitter for regular updates: @drupal_org, @drupal_infra
Developers and organizations alike continue to use Drupal for large-scale projects due to its modular architecture, solid data model, community, security team, stability, and good-fit for many “ambitious” projects. However, historically, Drupal has caught considerable flak for its unintuitive development process - that might finally be changing.
I have been teaching Drupal development at Debug Academy ( https://debugacademy.com ) for over 4 years now. One recent development piqued my interest, especially in regards to teaching newcomers how to build sites using Drupal, and that is the new layout builder in Drupal core. The layout builder was released as an experimental Drupal core module in Drupal 8.6.
Drupal 8.6, and the layout builder (experimental at the time), were released on September 5, 2018, and our summer semester was scheduled to end on September 9th. Due to a combination of excitement and a desire to teach what I firmly believe to be the soon-to-be standard technique for building Drupal websites, we did not wait to use it. We built the entire website except for internal landing pages themselves before September 5th, the day the layout builder was released and 4 days before the conclusion of our semester. We combined custom block types with the new layout builder to finish building the website.
And my, it was easy to understand and to teach. Since then, we’ve integrated the layout builder more deeply into our subsequent semester and the results bode well for Drupal’s future. The client loved the new layout builder functionality, and the students who were newest to programming felt more comfortable than ever when laying out our custom landing pages. But don’t take my word for it, let’s take a look at the data.
How pages are built in Drupal Common use cases for page creation include:Advanced custom pages
Developers can build individual pages (routes) using raw PHP to pass information from various sources (such as internal or external APIs) to the page.
Standardized pages as content
Users create content (“nodes” in Drupal nomenclature) with standard layouts for displaying the content’s data.
Pages with custom overrides
Developers can override pages’ default output and pass additional data to specific pages with PHP.
Semi-structured content
Users can embed standardized “blocks” of content in or around otherwise standardized pages.
Drag & Drop content placement
Content editors can drag & drop specific types of content through UI onto pages.
Advanced custom pages
Custom route built in PHP utilizing Drupal’s API
HTML with Twig
Standardized pages as content
Create pages using the UI. Similar to creating a blog post.
Without writing any code, site builders can also create pages featuring different types of fields using Drupal’s content type system.
Pages with custom overrides
Create pages using the UI. Similar to creating a blog post.
Pass additional variables (such as a newsletter block) to the page with PHP
Render variables using Twig
Write any markup (HTML) directly in the Twig file
Semi-structured content:
Create “paragraph” types (sets of fields)
Embed “paragraph” content within a field on the content type
Drag & Drop content placement (the new layout builder!)
Create pages using the UI. Similar to creating a blog post.
Use drag & drop to place / remove layouts, sections, fields, blocks, and more!
Can be done per content type and (optionally) overridden per page
Drupal provides an abundance of solutions to problems content editors face. Different tools require different skillsets, so although Drupal has solutions for everything, let’s do a deeper comparison of the Drupal 8 content editing options to see what is available, what it can do, and how accessible it is to you and your team. The new layout builder is highlighted in the rightmost column:
Advanced custom pages
Standardized pages as content
Pages with custom overrides
Semi- structured content
Drag & Drop content placement (new layout builder!)
How to: initial set up
Git
PHP
Twig
YML
Site building
Site building
Git
PHP
Twig
YML
Site building
Site building
Site building
How to: add'l pages w/same layout
Depends on implementation
Content editing
Content editing
Content editing
Content editing
How to: add'l pages w/custom field layouts
Git
PHP
Twig
YML
Site building
N/A
Git
PHP
Twig
YML
Site building
*Content editing
*
pre-grouped sets of fields must all be displayed sequentially
Content editing
How to: add'l pages w/custom layouts, including mixing & matching blocks, fields, & more
Git
PHP
Twig
YML
Site building
N/A
Git
PHP
Twig
YML
Site building
N/A
Content editing
How to: Component-based design support using Drupal blocks within content area
Custom code only
N/A
Custom code only
“Pre-grouped” fields can be designed as components, but placement is very restricted
Fully supported
Uses core/contrib
Core
Core
Core
Contrib (paragraphs)
Core (experimental - full release expected in 8.7!)
In practice: what do the numbers show?Through our courses we have been able to collect data about how the switch from other approaches (namely PHP / Twig & paragraphs) to the new layout builder has impacted the learning curve, productivity, and ongoing maintenance of projects. Debug Academy’s Jack Garratt ran the numbers for us. For the sake of our analysis, a “task” refers to the smallest unit of work assigned to a developer (Debug Academy student, in this case):
The data: before the layout builder (“Tasks to homepage”)Let’s take a look at the data following the number and type of task from the start of the project until the completion of the frontpage and set up of internal pages. In the first data set, we’ll look at our projects before use of the layout builder.
We assigned our students to implement PHP pre-process hooks to create Twig variables for Views blocks, blocks provided by contrib modules (e.g. newsletter), as well as extracting other non-block data from the website. Note: There are alternatives in Drupal’s contrib space to using PHP, such as the contributed module Twig Tweak; we do not encourage using Twig Tweak in our projects. The project builds are a success; however, it is also not the most readily grasped by non-web developers and clients.
The breakdown is below:
Task Type
Pre-layout Builder
Up to & including homepage (without layout builder)
Twig
17 (task per section per page)
Site Building
14
Configuration in Code/Site installation and setup)
7
CSS/SASS
6
PHP/Custom Module
10
Initial Theme setup
3
Set up reusable inner page layouts (4 content types)
Twig
8
PHP
4
CSS/SASS
4
PHP and Twig tasks constitute a significant number of the total amount of work completed by our students. Out of the 17 Twig tasks, we deemed that 10 required using PHP to pass various blocks to the homepage for a variety of use cases, such as embedding Twitter or a Donately form within the page’s content.
On subsequent projects, our students are constructing the pages in the Layout Builder.
The data: using Drupal’s new layout builder (“Tasks to homepage”)The Layout Builder UI has access to the aforementioned block types. If there is a specific need that cannot be readily replicated with custom block types with the requisite fields, developers can still use Twig to add that functionality. However, we found that creating and styling custom block types in Drupal 8 core as reusable components (see component based design) greatly streamlined our process and eliminated the need for many higher complexity tasks.
What we soon realized was that writing PHP and Twig was less needed in terms of individual page construction, but still rather helpful in crafting custom blocks (components).
Task Type
Pre-layout Builder
Up to & including homepage (with the new layout builder)
Twig
5 (task per component type)
Site Building
18
Configuration in Code/Site installation and setup)
7
CSS/SASS
6
PHP/Custom Module
0
Initial Theme setup
3
Set up reusable inner page layouts (4 content types)
Twig
1 (we’re reusing component types)
PHP
1
CSS/SASS
1
One of the consequences of the de-emphasis on using Twig to create basic pages with custom HTML in favor of the layout builder is allowing a more beneficial division of labor. Teams may create more tasks that involve basic page building to get their newer developers familiar with the Drupal UI. Moreover, companies can train their clients in how to create basic pages with customized blocks (video block, stylized quote block, or a button block to name a few), which minimizes the instructional curve. Essentially, the tasks to create highly customized pages no longer require coding. One consequence of using the layout builder for basic page creation in this manner is that it will free up more experienced developers to focus on other tasks or minimizing oversight of newer developers.
The data: full comparison, beyond the homepageThe above charts compare “time to homepage” and “time to generic inner page”. Where you really start to see the benefits are when you’re creating a website with many pages. Let’s look at the combined charts, calling special attention to the newly added last row(s) “Creating additional pages with custom layouts”:
Task Type
Pre-layout Builder
With Layout Builder
Up to & including homepage
Twig
17 (task per section per page)
5 (task per component type)
Site Building
14
18
Configuration in Code/Site installation and setup)
7
7
CSS/SASS
6
6
PHP/Custom Module
3
0
Initial Theme setup
3
3
Set up reusable inner page layouts (4 content types)
Twig
8
1 (reusing component types)
PHP
4
1
CSS/SASS
4
1
Creating additional pages with custom layouts
Twig
37
2
PHP
16
4
Content Editing
47
69
Site building
45
17
Thanks to a combination of component based design and the new layout builder, content editors can create truly custom layouts without writing a line of code. They can, for example, drop a video embed in between the body field and the author field, move the author field to the footer, and arrange other fields in 3 columns without writing a line of code.
Summary & Conclusion:This specific project built with the layout builder required:
88% less PHP tasks
64% less site building tasks
87% less Twig tasks (thanks to component based design)
46% more content editor tasks
The numbers are clear. Drupal’s layout builder has the potential to bring down the cost of ownership of Drupal websites significantly by enabling content editors and less senior developers to build more of the website. Because of which, the new layout builder will make Drupal more accessible to newer developers and smaller organizations with ambitious goals for their web-powered presence.
It’s time to get up to speed in Drupal 8!Debug Academy's real projects are the source of the above data, and we encourage you to take a look at our programs. There has never been a better time to add Drupal to your skillset.
We will continue to incorporate cutting edge tech in our courses, including the new layout builder, Composer, Drush, Drupal Console, Object Oriented Programming with PHP7, and much more, all applied to a real, unique, team project! At the end of it all we help students continue to the next phase of their careers! Visit https://debugacademy.com to sign up for one of our free info sessions - our next semester begins January 27th!
P.S. thanks to Dries Buytaert for providing feedback on this post!
Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.
Lock in your DrupalCon tickets before the end of the yearDrupalCon Seattle is shaping up to be an outstanding conference. If your organization is sponsoring your trip, now's a great time to use your 2018 budget to register to attend. Your team can sign up for or renew your Supporting Partnership for steep discounts on ticket prices. Coming to DrupalCon on your own? The schedule is available now, so peruse the offerings and register before prices go up!
Drupal.org Updates A new taxonomy for DrupalCon sessionsAs you've seen if you clicked the link to the schedule above, events.drupal.org was updated to support session submission by tag, rather than track, earlier this year. This provides more flexibility in finding the content you're interested in, and encourages sessions which cross the boundaries of traditional tracks.
Prototyping a new Try Drupal experienceIn October we put together a visual prototype of our proposed revamp of the Try Drupal program. This includes a better, more targeted user experience for each persona, as well as the opportunity for more organizations to participate. More details will be shared soon as we get further along, but for a sneak preview you can review the operational update from our recent public board meeting.
Improving the experience of using ComposerIn October significant progress was made on the initiative to Improve Drupal Core's use of Composer. In particular, kicking off the primary issue for building this better support into Core, as well as moving the issue for supporting Semantic Versioning for Contrib from a plan to the implementation phase. These changes will improve the user experience for Drupal users with composer based workflows, and especially for Drupal users who start sites without Composer, and then switch to Composer based workflows. This also lays the groundwork for necessary steps for supporting the Drupal 9 roadmap.
Promote Drupal Releasing the first draft of the Drupal Brand BookIn October, with the feedback of the Promote Drupal volunteer team, we developed and released the initial draft of the Drupal Brand book. This is one of the materials created by the Promote Drupal initiative, in order to unify the brand presentation for Drupal across agencies, internal sales, and regions. This will be updated with a vision statement for Drupal's business strategy and market position.
A new Community SectionIn October we also spent time creating a beta experience for a new Drupal.org/community landing page. This page focuses on the onboarding process, helping visitors identify their need and persona, so they can get to the segment of the community that is relevant to them. (Hint: this beta experience has since gone live!) If you have feedback about making the community portal better, you can leave your suggestions in the drupal_org_community issue queue.
———
As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who make it possible for us to work on these projects. In particular, we want to thank:
If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.
Follow us on Twitter for regular updates: @drupal_org, @drupal_infra
A button field attachable to any entity. The button fires the paystack payment dialog box. On successful payment, you can fire any rule using the rules event "after successful payment "shipped with the module.
Paystack requires the secret and public keys. The module provides a configuration page to add the keys at admin/config/user-interface
#How to use
The pricing page is one of the key pages in a website, therefore it is important to have a clear and professional design that communicates the product benefits and pricing tiers your business offers. In today’s article we are going to learn how to recreate the new Sooperthemes pricing page. The Sooperthemes pricing page has a clean design style that mainly consists of rows, columns and text. Throughout this article we are going to work with the following elements: