All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
With Europe threatening $25,000,000 fines and Facebook losing $80,000,000,000 of stock value, are you paying attention to data privacy yet? If millions and billions of dollars in news headlines never grabbed you, maybe you've noticed the dozens of e-mails from services you'd forgotten ever signing up for, declaring how much they respect your right to control your data. These e-mails are silly and possibly illegal, but they nonetheless welcome us to a better world of greater privacy rights and people's control of their own data that we web developers should embrace.
The huge potential fines (for large companies, the sky's the limit at four percent of global revenue) come from the European Union's General Data Protection Regulation, and they signal that the GDPR is more than a suggestion. If you're not a European-based company, the European Union does not intend to discriminate: You're still liable when citizens of member states use your services or are monitored by you.
Don't lose sleep for Facebook's wealthy stockholders. That sizeable dip in Facebook stock was not due to the impending GDPR enforcement, but came in the wake of the Cambridge Analytica scandal. Since then, the privacy-invading monopoly so many rich people are betting on regained its market cap and then some. (GDPR-related lawsuits are just starting.)
There's a lot of good resources for GDPR-proofing existing sites (see the bottom of this article); the work ranges from trivial for most sites to monumental tasks for web developers who, fortunately for me, aren't me (and who have finished their labor, I hope, as GDPR enforcement took effect today).
The fun and exciting part starts when we get to build new sites or new features on existing sites and from the beginning put privacy by design into practice (which also is in the law). And yes, I'm referring to complying with a continental government's regulations as fun and exciting.
This goes well beyond an organization's web site, of course. Web developers may be the ones to introduce it to organizations, though, so we should be prepared. Here's the gist.
Organizations must request any personal data in clear and plain language describing the specific pieces of information and how it will be used, such that consent can be given freely and unambiguously through an affirmative action.
This means you need to be always thinking of why you are collecting information, and not collecting information you don't need at all, and deleting any personal information you no longer need. You can collect nearly anything if you get clear consent, but if you have a legitimate business interest for the data you collect, you'll have even fewer requirements, and the people who use your site or service will have a smoother experience.
You further need to allow people to export their personal data, to rectify inaccurate data, and to challenge decisions you make on the basis of their personal data. If you don't have a legitimate business interest for the data (or it's overridden by people's rights), then you must also provide a mechanism for people to erase their data.
If your business interests involve spying, lying, or trying to manipulate people into bad financial, personal, and political decisions— maybe re-think your business. At the very least, try to avoid becoming part of the infrastructure for a police state.
It's GDPR day, a wonderful opportunity to think ethically, and explore another way to put your customers, clients, or constituents first!Resources
From most thorough to most practical.
- The whole regulation
- The regulation, as a web site, with a page per section
- The business case for complying when not legally obligated
- Official document "The GDPR: New Opportunities, New Obligations" (PDF)
- UK information commisioner's guide to GDPR for small and medium organizations
- General Data Protection Regulation Drupal module, with a built-in checklist and tools for tracking and deleting sensitive data
A Drupal 7 module for use with the chosen module. This module allows the user to maintain the order of multiple select fields that have chosen enabled.
Original work on this project was started here.
Search is an important facet of any large website these days. We’d talked previously about why you want to take full control of your site search. Bombarding your users with a mess of links won’t do anyone any favors. One of our favorite solutions for this problem is Apache Solr and recently we had the opportunity to set it up on Drupal 8. Let’s take a moment to go through a bit of what that solution looked like and some thoughts along the way.
Valve has kicked off a Spring Cleaning event that encourages players to spend some time with the less played or forgotten games in their Steam Library. ...
Set which blocks and which layouts should be available for placement in Layout Builder.
This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.
Since the release of Drupal 8.0.0 in November 2015, the Drupal 8 core committers have been discussing when and how we'll release Drupal 9. Nat Catchpole, one of Drupal 8's core committers, shared some excellent thoughts about what goes into making that decision.
The driving factor in that discussion is security support for Drupal 8’s third party dependencies (e.g. Symfony, Twig, Guzzle, jQuery, etc). Our top priority is to ensure that all Drupal users are using supported versions of these components so that all Drupal sites remain secure.
In his blog, Nat uses Symfony as an example. The Symfony project announced that it will stop supporting Symfony 3 in November 2021, which means that Symfony 3 won't receive security updates after that date. Consequently, by November 2021, we need to prepare all Drupal sites to use Symfony 4 or later.
Nothing has been decided yet, but the current thinking is that we have to move Drupal to Symfony 4 or later, release that as Drupal 9, and allow enough time for everyone to upgrade to Drupal 9 by November 2021. Keep in mind that this is just looking at Symfony, and none of the other components.
This proposal builds on top of work we've already done on in the context of making Drupal upgrades easy, so upgrades from Drupal 8 to Drupal 9 should be smooth and much simpler than previous upgrades.
If you're interested in the topic, check out Nat's post. He goes in more detail about potential release timelines, including how this impacts our thinking about Drupal 7, Drupal 8 and even Drupal 10. It's a complicated topic, but the goal of Nat's post is to raise awareness and to solicit input from the broader community before we decide our official timeline and release dates on Drupal.org.
This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.
Last weekend, over 29 million people watched the Royal Wedding of Prince Harry and Meghan Markle. While there is a tremendous amount of excitement surrounding the newlyweds, I was personally excited to learn that the royal family's website is built with Drupal! Royal.uk is the official website of the British royal family, and is visited by an average of 12 million people each year. Check it out at https://www.royal.uk!File attachments: royal-uk-742x1114.jpg
Mediacurrent team members will be heading to the mountains in North Carolina for a two day Drupal-filled event for all levels of Drupal skills. Asheville Drupal User Group is a small but dedicated community of Drupalers who will host their 8th annual Asheville Drupal Camp on July 13-15th at UNC Asheville. Mediacurrent will be sponsoring the event and will have 6 team members presenting sessions. We even have Mediacurrent Lead Drupal Architect, April Sides as one of the organizers of the event. From technical Drupal developing to making friends in a remote work place, check out what Mediacurrent has in store for Asheville Drupal Camp 2018:Demystifying Decoupled Drupal with Contenta CMS
Speakers: Mark Shropshire, Open Source Security Lead at Mediacurrent and Bayo Fodeke, Senior Drupal Developer at Mediacurrent
Contenta is an open source API-first Drupal distribution that makes out of the box decoupled Drupal accessible. This session will demonstrate installing Contenta, working with included features, using demo content and consumers, and working with the Contenta community.
- Install Contenta
- Know how to contribute back to Contenta
- Know how to connect a frontend application to a Contenta backend
Speakers: Brian Manning, Project Manager at Mediacurrent and Kelly Dassing, Senior Project Manager at Mediacurrent
Pivots come in a variety of shapes and sizes. They can be a minor change that’s quickly integrated into scope, or a major departure that alters the entire course of the project. When you encounter these shifts, it’s vital you strategize, communicate, and continue to capture the vision of the client so the final product is a solid foundation for your client’s goals and KPIs—not a point of resentment.
- Kicking off the project with an organized team and plan of attack
- Communicating with your whole team and the client
- Being ready to PIVOT
- Keeping your team grounded in the delivery
- Conducting a retrospective and additional planning—not a postmortem
Speaker: Grayson Hicks, Front End Developer at Mediacurrent
GatsbyJS is an exciting way of thinking about building sites for the modern web. Is it a framework? Is it a static site generator? This session will cover the benefits of using GatsbyJS and will include the best and not so best use cases.
- What Gatsby's GraphQL data layer is and how and why to embrace it
- Gatsby's internal API for building a Gatsby starter to fit your team
- Looking at Gatsby's plugin/source/transformer system for taking Gatsby from a a blog-generator to a site-generator
Speaker: Ben Robertson, Front End Developer at Mediacurrent
Accessible web design really boils down to a few basic principles and when you have these as your first principles when starting a project, you can save your self, your team, and your clients hours of headaches around accessibility testing.
This presentation will describe a few basic principles to keep in mind when building accessible web experiences, provide explanations and examples of these principles in code, and identify common accessibility pitfalls and how to avoid them.
- CSS properties that affect accessibility
- How to use modern CSS (flexbox, grid) without compromising accessibility
Speaker: Zack Hawkins, Director of Front End Development at Mediacurrent
- Introduction to libraries in Drupal 8.
- Library options and configuration.
- What a component based workflow looks like with libraries.
- Code splitting with Webpack and libraries.
- Library gotchas and things to be aware of.
Speaker: Kelly Dassing, Senior Project Manager at Mediacurrent, Chris Manning, Director of QA at Mediacurrent, and Sam Seide, Drupal Developer at Mediacurrent
Hear the story of the real-life friendship that blossomed between these three Mediacurrent team members from different departments and how it helps them in their day-to-day work.
This session will be best appreciated by anyone who is a remote worker, whether employed by a small company or larger corporation.
We live in blessed times. There are almost endless games we can partake in, but we certainly are not gifted with endless time. When you factor in actually getting a group together by finding a host, coordinating schedules, arranging a GM, and, ultimately, settling on a game to play, it’s a daunting prospect to be able to sit down and enjoy an RPG. Once you throw in personal tastes for games, finding that “just right” game gets even more difficult.I’m pretty sure I’m at well over 300 books/PDFs that I’ve purchased over the years that I’ve never brought to the table.
I know I suffer from the “Oooh, Shiny Syndrome” (OSS from here on out). Others out there do as well, including some folks in one of my RPG groups. Looking around the shelves in my office, I have at least half a dozen games sitting there (*cough* collecting dust *cough*) that I’ve never played. Scanning my collection of purchased PDFs, that number easily grows to thirty (probably more). That’s just core books. This isn’t counting adventures, modules, world books, books of new races/classes/equipment/etc., and other splat books. I’m pretty sure I’m at well over 300 books/PDFs that I’ve purchased over the years that I’ve never brought to the table.
Sure, I’ve read the material. Sometimes I give them a quick skim. Sometimes it’s a more industrious read through. Even though I may have not pulled the raw material into a game session, I’m certain that some nuggets of golden RPG goodness have lodged in my brain and influenced how I’ve run a game or played a character.
Despite having all of this material readily at my fingertips, I’d love to be able to engross myself (either as player or GM) into a wonderful, multi-year campaign with huge character arcs, story events, changes to the world, and fantastic adventures. This typically means one game, one system, (hopefully) one character, and a single world that is the core of the adventure. Because of this, I have to avoid OSS. I also have to get my fellow gamers to avoid OSS. With a new core book hitting the shelf (virtual or physical at the FLGS) pretty much every week, this is increasingly difficult.
OSS can be a great thing because of the never ending exposure to new ideas, new concepts, new themes, and mind-bending play styles. These are all wonderful, but given the scratch that I currently need to itch (a long-term game), I need to squash OSS in myself and others.
There are several causes of OSS, so let’s talk about those and how to reduce the chances of OSS ruining a perfectly good campaign or series of sessions. Usually, when a group (or GM) rapidly flops between systems, it’s because they’re searching for something that’ll make them happy. Unfortunately, these quick changes mean they haven’t found the “just right thing” yet, and this can lead to players becoming disgruntled at having to learn (or even run out and buy) a new system twice a month. Let’s talk about how to keep people happy, shall we?Game Master Burnout To help the GM avoid burnout, I recommend setting things up from the start with a co-GM.
When a GM hits the brakes on a campaign, setting, or game system, this can lead to a new system being whipped out and OSS rears its ugly head. This isn’t usually because the game system runs poorly (though that’s a valid reason), but because the GM has burned out, run out of pertinent ideas, or just needs a mental break. That’s completely fair. To help the GM avoid burnout, I recommend setting things up from the start with a co-GM. I have a full article on how to approach this.
If running a campaign with a co-GM isn’t in the books, then let the GM know that it’s perfectly acceptable to “take a week off” from the usual RPG and someone else can run a one-shot (preferably using the same system to avoid triggering OSS). It’s also okay to whip out some of those rarely-played board games we all seem to collect and love, but hardly play. Because most board games don’t do “campaign style” gaming, this can be a great distraction and a break for the GM to allow them to refill their well of creative energies.Player Burnout
Just like with GMs, the players can burnout on their character. Perhaps they’re tired of being the archer in the back, or are tired of being the “healing vending machine” or just want to do something different. When the players get disgruntled with the game and it’s not because of an adversarial GM or other issue, then they could just be bored with their characters. There are a few options to shaking things up.This piece of advice is a bit risky, but changing up the characters’ equipment can be done to shift the power levels around.
Allowing some, if not all, of the players to roll up side-arc characters that are still related to the main story arc is a good change of pace. There can even be some prep work done here by the whole group where they have lower level (or even higher level) characters sitting in the wings, ready to be played, for when it’s time for their story to trigger. If you do this, I’d advise that the “main group” and “alt group” have strong ties to one another.
This piece of advice is a bit risky, but changing up the characters’ equipment can be done to shift the power levels around. This can be done via a carefully placed artifact or two, but I’ve also seen it expertly done where a major item within the group goes missing, is stolen, somehow falls into the hands of the arch enemy, etc.. This cranks up the motivation for the players as a group to fetch (or quest to replace) the item and return the status quo. I’ve also dropped the especially nasty Mordenkainen’s Disjunction (also called Mage’ Disjunction in non-WotC material) on higher level groups to effectively scramble their equipment and power level. This could have easily backfired with upset players, but instead, they went on a rage-fueled rampage against the sorry fellow that dropped the spell on them. Fresh motivations for the characters can lead to renewed interest by the players.Co-Build the World I actually call this “session negative one” because the act of creating the world should come before “session zero” where the players’ characters are created.
If you get the players invested in the world from the get go, this can help keep their interest levels high. Same thing with the GM. Instead of whipping out Faerun, Krynn, Athas, Golarian, or any other number of existing worlds, create a world (or part of a world) in an interactive session between the GM and players. With ideas sprinkled in by everyone involved, they come to care about the world and NPCs and locations because they helped create them.
I actually call this “session negative one” because the act of creating the world should come before “session zero” where the players’ characters are created. In Session -1, the GM comes to the table with some ideas and guidelines for the creation and then it becomes like a typical Hollywood writers’ room where every idea is at least considered and discussed before addition or rejection. This is a powerful session, but it can take quite some time. I highly recommend setting aside 5-6 hours (with a few breaks in there) for creating the rough sketch of the world.
As I mentioned above, sometimes OSS can come as a result of having an itch to scratch, but you don’t quite know what it is. This can lead to jumping between systems while looking for the one that tries to scratch that itch. Fortunately, a little introspection and drilling down into what you want can help prevent OSS. Here’s an example:
The GM in my weekly group wanted something “epic,” so he picked Traveller. He pictured epic space battles, running fights with blasters, and other fantastic space opera goodness. Unfortunately, our characters (through the randomness of character generation) didn’t quite land enough cash or ship-shares to get to do any of that. There were also a few missteps here and there that led to a “blah” type game which led to the campaign that lasted a single session.
Up next, he drilled down a little bit and found that what he really wanted was to tell some heroic stories, preferably in the high fantasy genre. I proposed my home brew fantasy RPG with some tweaks to up the magic content. Ultimately, that was turned down because, at its heart, my fantasy RPG is a bit more crunchy than the player was comfortable with. That’s a fair assessment.
He, in turn, proposed we play Astonishing Swordsmen & Sorcerers of Hyperborea because he felt that would give us the feel we wanted from the game. The result? I don’t know yet. Our session zero for the game is (in theory) happening tomorrow night as this article is being published. We’ll see how it goes.Total Party Kill Before a TPK runs headlong into another case of OSS, make sure it’s the system that caused the event, not something else.
Need I say more? Sometimes a GM, situation, crazy dice, poor decisions, or a deadly system can lead to a total party kill. This is a bummer. Probably one of the biggest bummers unless the TPK was truly epic in scale. This can lead to the players (and sometimes the GM) becoming disgruntled with the system. Perhaps their dislike of the system is completely valid because the game system is too lethal. I’ve seen that. Most experienced gamers have.
Before a TPK runs headlong into another case of OSS, make sure it’s the system that caused the event, not something else. Perhaps some “mock battles” should be run to test the waters on if the game mechanics truly are that dangerous. If this is the case, and it doesn’t jive with the group’s style of gaming, then perhaps it’s time for a new system.How Do You Avoid OSS?
Now that I’ve rambled on for about 1600 words, I’d love to know how you identify OSS and how you avoid it. Alternately, do you avoid it at all? Does your group embrace OSS to get a taste of different gaming from different systems? That’s perfectly fair. I’m interested to know what folks do with (or about) OSS out there. Let us Gnomes know!