All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
A base feature providing a landing page content type and related configuration.
Development is on GitLab and mirrored here.
"10 years ago, we started to gradually change the base game," Tekken series producer/director Katsuhiro Harada tells Gamasutra. ""I think many games/genres will need to be fundamentally reevaluated." ...
Drupal's 'local tasks' tab array doesn't always look great. It can also interfere with the theme when administering content.
This module just adds a bit of polish to the local task tabs, by fixed positioning it and adding some icons, and hover animation.
Provides a dynamic regions for layout discovery that can be output in rows and columns.
At GDC 2017 qualitative sociologist T.L. Taylor digs into the history and value of eSports communities, exploring how community engagement in your game can be a form of transformative work. ...
I've completely revamped the Drush commands for Drupal Code Builder:
- First, they're now in their own project on Github
- Second, I've rewritten them completely for Drush 9, completely interactive.
- Third, they are now geared towards adding to existing modules, rather than generating a module as a single shot. That approach made sense in the days of Drupal 6 when it was just hook implementations, but I increasingly find I want to add a plugin, a service, a form, to a module I've already started.
The downside is that installing these is rather tricky at the moment due to some current limitations in Drush 9 beta; see details in the project README, which has full instructions for workarounds.
Now that's out of the way, I'm pushing on with some new generators for the Drupal Code Builder library itself. On my list is:
- plugin types (as in the plugin manager service, base class and interface, and declaration for Plugins module)
- entity type
- entity type handlers
- your suggestions in the issue queue...
And of course more unit tests and refactoring of the codebase.
Since first setting up shop in 2010, pay-what-you-want game shop Humble Bundle has raised over $100 million for charities across the globe. ...
Along with Drupal 8 came the Libraries API and a whole new way of adding CSS and JS assets and managing libraries. In true Drupal 8 fashion, the new system uses YAML files to grant developers flexibility and control over their CSS and JS assets. This gives you the ability to overwrite core libraries, add libraries directly to templates, specify dependencies and more.
If you haven’t yet experienced the glory that is the yml file, you’ll want to get familiar. Read this great introduction to YAML then come back to this post.Creating Libraries
First step is to create your libraries.yml file at your-theme-name.libraries.yml or your-module-name.libraries.yml.
Here’s an example of how you define a Drupal 8 library.
A few things to note:
- The path to CSS and JS files are relative to the theme or module directory that contains the libraries.yml file. We’ll cover that in more depth shortly.
- The dependencies, in this case jQuery, are any other library your library depends on. They will automatically be attached wherever you attach your library and will load before yours.
- Multiple libraries can be defined in one libraries.yml file, so each library in the file must have a unique name. However the libraries will be namespaced as mytheme/mylibrary or mymodule/mylibrary so a libraries.yml file in your theme and libraries.yml file in your module can contain libraries with the same name.
Now that you know the library basics, it’s time to up the ante.Properties
The simplest way to attach libraries globally is through the your-theme-name.info.yml file. Instead of adding stylesheets and scripts ala Drupal 7, you now attach libraries like so:
Global is great and all, but perhaps the coolest libraries upgrade in Drupal 8 is the ability to attach libraries via twig templates. For example, if you have a search form block, you can define the css and js for the block, add it to a library, and add that library to the search form block twig template. Those assets specific to the search form block will only be included when the block is rendered.
And yes, you can also attach libraries with our ol’ pal php.Extending and Overriding Libraries
Another boon is the ability to extend and override libraries. These extensions and overrides take place in the your-theme-name.info.yml file.
As you might expect, libraries-extend respects the conditions of the library is being extended. Maybe you have a forum module that comes with css and js out-of-the-box. If you want to tweak the styling, you can extend the forum modules library, and add your own css file.
For overrides, you can remove or override a specific file or an entire library.Final Considerations
Before we wrap up, I'll send you on your way with a couple final considerations and gotcha's that you need to be aware of.
- The Libraries API Module is still relevant in Drupal 8, and should be used to handle external libraries that don't ship with drupal or a module or theme. It also allows libraries to be used by multiple modules or sites.
- If a file is already linked to within a library it won't get added a second time.
- Module CSS files are grouped before theme CSS files, so a module's css file will always be loaded before a theme's css file.
- Refer to the Drupal 8 Theming Guide for more info.
Thanks for reading. Now go forth and use your asset placing powers for good, not evil.
With just about two weeks to go until DrupalCon Vienna we are anticipating an amazing week of learning and collaborating ahead! There will be code sprints all week, but Friday is our dedicated sprint day when anyone and everyone can come contribute to Drupal core and participate together in guided sprints.
Last week, Equifax, one of the largest American credit agencies, was hit by a cyberattack that may have compromised the personal data of nearly 143 million people, including name, address, social security numbers, birth dates and more. The forfeited information reveals everything required to steal someone's identity or to take out a loan in someone else's name. Considering that the current US population is 321 million, this cyberattack is now considered to be one of the largest and most intrusive breaches in US history.It's Equifax that is to blame, not open-source
As Equifax began to examine how the breach occurred, many unsubstantiated reports and theories surfaced in an attempt to pinpoint the vulnerability. One such theory targeted Apache Struts as the software responsible for the breach. Because Apache Struts is an open-source framework used for developing Java applications, this resulted in some unwarranted open-source shaming.
Yesterday, Equifax confirmed that the security breach was due to an Apache Struts vulnerability. However, here is what is important; it wasn't because Apache Struts is open-source or because open-source is less secure. Equifax was hacked because the firm failed to patch a well-known Apache Struts flaw that was disclosed months earlier in March. Running an old, insecure version of software — open-source or proprietary — can and will jeopardize the security of any site. It's Equifax that is to blame, not open-source.The importance of keeping software up-to-date
The Equifax breach is a good reminder of why organizations need to remain vigilant about properly maintaining and updating their software, especially when security vulnerabilities have been disclosed. In an ideal world, software would update itself the moment a security patch is released. WordPress, for example, offers automatic updates in an effort to promote better security, and to streamline the update experience overall. It would be interesting to consider automatic security updates for Drupal (just for patch releases, not for minor or major releases).
In absence of automatic updates, I would encourage users to work with PaaS companies that keep not only your infrastructure secure, but also your Drupal application code. Too many organizations underestimate the effort and expertise it takes to do it themselves.
At Acquia, we provide customers with automatic security patching of both the infrastructure and Drupal code. We monitor our customers' sites for intrusion attempts, DDoS attacks, and other suspicious activity. If you prefer to do the security patching yourself, we offer continuous integration or continuous delivery tools that enable you to get security patches into production in minutes rather than weeks or months. We take pride in assisting our customers to keep their sites current with the latest patches and upgrades; it's good for our customers and helps dispel the myth that open-source software is more susceptible to security breaches.