All RPGs and Storygames by Tod Foley are now available at DrivethruRPG. Bring these games to your table!
When you need to create survey style forms in Drupal 8 Webform is the clear winner. It's powerful enough to create all sorts of forms and you can even give it to your editor so they can create their own, after a little training, of course.
One part of Webform which I like is the ability to define conditional logic. For example, you can show or hide a text field based off a value from another element. You can also make an element conditionally required. It's a very useful part of Webform, and you do all of this through a UI, no custom code.
Defining simple conditional logic, check if element value has a single value, is pretty straightforward. But when you have to deal with multiple values, this is where things get tricky.
An update to Windows 10 has introduced the Xbox Game Bar, a quick access overlay that lets Windows users access music, capture tools, and Xbox Live friends while playing almost any game. ...
In this 2019 GDC session, Failbetter Games' Olivia Wood looks at the difficulties of maintaining a live narrative game like Fallen London and how Failbetter has adapted to surmount them. ...
CCP Reykjavik are looking for a world-class Production Director to lead production efforts on EVE Online. ...
The soon-to-be-in-beta client overhaul turns GOG Galaxy into a hub for games and communities spread across multiple launchers and platforms. ...
In this week’s podcast TEN7’s DevOps Tess Flynn aka @socketwench is our guest, giving us her observations of the Drupaldelphia 2019 conference she recently attended, as well as a summary of her helpful session, “Return of the Clustering: Kubernetes for Drupal.”
Host: Ivan Stegic
Guest: Tess Flynn, TEN7 DevOps
In this podcast we'll discuss:
Unless you know how to get ahead of it, fraud can damage game player trust, put your relationship with credit card acquirers at risk, and cut into revenue and profits. ...
Drupal allows to find the most effective solution for every business case. Large organizations often need more than one website but a collection of related sites, which would be easy to manage. To meet this need, there is the Drupal multisite feature that has become popular among education websites, government websites, corporate websites, and so on. Let’s explore what Drupal multisite is, how it works, and when it is the best choice.Read more
Fluid Comment is an implementation of the new routes provided by the JSON:API Comment module.
Built with React, it replaces the built in comment display with a progressively decoupled application that uses the jsonapi responses to display the appropriate UI to users with different permissions.
This module is designed to easily add Structured data on your site.
You can create a plugin that returns the structured data you want and it will be added to the site.
As an example the breadcrumb plugin is provided and turned on.
In a future version this will either leave the project, or you will be able to turn it off.
This project makes use of the https://github.com/spatie/schema-org Schema builder.
More and more users want the content to be available via a host of different devices. Various new interfaces and devices are thronging the technology landscape and are touted to bring about sweeping changes. There are even talks of website-less future. Smart wearables, Internet of Things, conversational user interface etc. have been gaining traction and are changing the way we experience the internet. New web-enabled devices need the content that the websites do but in a different format which creates complications in the way we develop. Disseminating content can have different needs from one setup to another.
The Drupal Connect
Source: Dries Buytaert’s blog
The content management system (CMS) is rife with labels such as ‘decoupled’ and ‘hybrid’ which requires to be dissected for a better understanding of their benefits. Decoupling the backend of a content management system (CMS) from the frontend can be a remarkable solution for a lot of issues that are caused when you move away from standard website-only deliveries. Decoupling the CMS streamlines the process of republishing the content across numerous channels ranging from websites to applications. Decoupled CMS is not new, but as the digital arena observes changes, it gets more and more important.
As one of the leaders in the CMS market, Drupal’s content as a service approach enables you to get out of the page-based mentality. It gives you the flexibility to separate the content management from the content display and allows you the front-end developers to build engrossing customer experiences.Decoupled Drupal implementations are becoming ubiquitous due to its immense capability in giving a push to digital innovation
Decoupled Drupal implementations, which involves a full separation of concerns between the structure of your content and its presentation, are becoming ubiquitous due to Drupal’s immense capability in giving a push to digital innovation and being a great solution in adopting novel approaches.
Drupal Community has been working on a plenitude of API-first architectures by utilising its core REST, JSON:API and GraphQL features. But there are alternative solutions, too, available in decoupled Drupal ecosystem that can be of great significance. Let’s explore them:RESTful Web Services and others
While RESTful Web services module helps in exposing entities and other resources as RESTful web API and is one of the most important modules when it comes to decoupled Drupal implementation, there are several others that can come handy as well.
Implementing the Apache CouchDB specification and focussing upon content staging use cases as part of the Drupal Deploy ecosystem, RELAXed Web Services module can be of immense help. The CouchDB helps in storing data within JSON documents that are exposed via a RESTful API and unlike Drupal’s core REST API, it enables not just GET, POST, DELETE but also PUT and COPY.
There’s a REST UI module that offers a user interface (UI) for the configuration of Drupal 8’s REST module. You can utilise Webform REST module that helps in retrieving and submitting webforms via REST. For protracting core’s REST Export views display in order to automatically converting any JSON string field to JSON in the output, REST Export Nested module can be useful. By offering a REST endpoint, REST menu items module can be helpful in retrieving menu items on the basis of menu name. And when you need to use REST for resetting the password, REST Password Request module can be helpful. It is worth noting that Webform REST, REST Export Nested and REST Password Request are not covered by Drupal’s security advisory policy but are really valuable.JSON:API and others
JSON: API module is an essential tool when you are considering to format your JSON responses and is one of the most sought after options in decoupled Drupal implementations. But there is, again, plenty of options for availing more features and functionalities.
When in need of overriding the defaults that are preconfigured upon the installation of JSON: API module, you can leverage JSON: API Extras. By offering interfaces to override default settings and registering new ones that the resultant API need to follow, JSON: API Extras can be hugely advantageous in aliasing resource names and paths, modifying field output via field enhancers, aliasing field names and so on. There is JSON API File module that enables enhanced files integration for JSON: API module. And for the websites that expose consumer-facing APIs through REST, JSON: API or something similar, Key auth module offers simple key-based authentication to every user.
For streamlined ingestion of content by other applications, Lightning API module gives you a standard API with authentication and authorisation and utilises JSON: API and OAuth2 standards through JSON API and Simple Oauth modules.GraphQL and others
GraphQL module is great for exposing Drupal entities to your GraphQL client applications. There are some more useful modules based on GraphQL. To enable integration between GraphQL and Search API modules, there is a GraphQL Search API module. Injecting data into Twig templates by just adding a GraphQL query can be done with GraphQL Twig module. To expose Drupal content entity definitions through GraphQL via GraphQL Drupal module and develop forms or views for entities via front-end automatically, you have GraphQL Entity Definitions module.OpenAPI and related modules
OpenAPI describes RESTful web services on the basis of the schema. There is OpenAPI module in Drupal, which is not covered by Drupal’s security advisory policies but can integrate well with both core REST and JSON: API for documentation of available entity routes in those services. And for implementing an API to display OpenAPI specifications inside a Drupal website, you get OpenAPI UI module. And ReDoc for OpenAPI UI module offers the ReDoc library, which is an Open API/ Swagger-generated API reference documentation, for displaying Open API specifications inside Drupal website. Then there is Swagger UI for OpenAPI UI module that gives you Swagger UI library in order to display OpenAPI specifications inside Drupal site. You can also utilise Schemata module that provides schemas for facilitating generated documentation and generated code.Contentajs and related modules
There are several effective modules that are part of the Contenta CMS decoupled distribution and integrates perfectly with Contenta.js. You have Subrequest module that tells the system to execute multiple requests in a single bootstrap and then return everything. JSON-RPC module offers a lightweight protocol for remote procedure calls and serves as a canonical foundation for Drupal administrative actions that are relied upon more than just REST. To resolve path aliases, Decoupled Router module gives you an endpoint and redirects for entity relates routes.
React Comments comes as a drop-in replacement for the Drupal core comment module frontend.
With Drupal as the decoupled web content management, developers can get to use a plentitude of technologies to render the front end experience.
RESTful web services, GraphQL and JSON: API are not the only resources that you get in the decoupled Drupal ecosystem. In fact, there are plenty of other alternatives that can be of paramount importance.
Drupal development is our forte and bringing stupendous digital experience to our partners has been our prime objective. Contact us at firstname.lastname@example.org and let us know how you want us to be a part of your digital transformation goals.blog banner blog image Decoupled Drupal Drupal module Blog Type Articles Is it a good read ? On
Last month I got on my soapbox about prep, specifically talking about how it does not matter how long your prep is, and I thought I would stay on the topic and talk about how I prep a game today. This article will be a snapshot of my prep process because this is a GM skill that constantly evolves. It is one that is both a product of the way I GM, and the games I play. What I want to show you is the thought process behind how I get a game ready for the table, what stays in my head, and what gets written down.Two Page Prep
Today, my prep is basically two pages, or one-page front and back, if you are getting really technical. That is not a constraint, but rather where I wind up. That prep is good for 4-8 hours of play, depending on how hard I am driving the game. I don’t have a single format, allowing the prep to fit the structure of what I am playing, but I do have elements that are always present. When I run a game for the first time, I usually spend a bit of time figuring out the template for my prep, which involves incorporating the important elements I need with the overall structure of the game. For instance: In my prep for Blades in the Dark, the middle portion of my prep is sectioned into Freeplay, The Job, and Downtime, to reflect the three major phases of the game.How I GM and What I Play
I mentioned in the intro that your GMing style and what you run has a major impact on how you prep. So that the rest of this makes sense, let me take a few sentences to explain both of those. My GMing style is about 70% improv and 30% planned, with my planning mostly up front. I like to come up with a general idea of what is going to happen in the session, set that up, and then let the players loose. I then improv as I play off of what the characters do, always using where I had originally intended the game to go as a guide to where play should lead, but never adhering to that too hard. I am very much a play to see what happens GM.
As for what I play, I mostly play Powered by the Apocalypse games, because they mesh well with how I want to GM. Aside from PbtA games, I have been enjoying the Mutant Year Zero mechanics, used in Tales of the Loop.The Essential Elements … For Me
When it comes to what I put into my prep, here are my essential elements that are always in my prep:What Is Going On
This section was inspired by Fear The Boot and has never left my prep, once I learned about it. It is a few paragraphs that describe what is going on in the adventure and can sometimes take up to 25% of my 2-page prep. It is nearly always written in the absence of the player characters and does two things. One, it gives me a background of what has been going on, before the characters get involved. Two, it tells me what the forces in play will do if the characters do not succeed in intervening.I cannot emphasize enough how important for me this piece is. If I had to reduce or eliminate most of my prep, I would not cut into this section one bit. I can do more with just this section than anything else I prep. Share1Tweet1Reddit1Email
This piece is crucial for me because this gives me the logical construct for the game. What I mean is that as a background, it gives me some understanding of why things are going on and what has happened before. That is important for understanding motivations, clues, and for answering questions about what is going on. As a direction of what is going to happen, it gives me a direction in which to improv the actions/reactions of the NPCs, which then makes their actions drive towards a logical goal.
I cannot emphasize enough how important for me this piece is. If I had to reduce or eliminate most of my prep, I would not cut into this section one bit. I can do more with just this section than anything else I prep.Major Scenes
Building off the information in What Is Going On, I then come up with 4-6 scenes that I think are most likely to happen in the session. The earliest scenes are the most probable to happen while the latter ones are less possible, as the game unfolds through play. These scenes are typically based on the story beats that would need to be achieved to accomplish the players’ goal, which is nearly always to interfere with the NPCs goal that I outlined above.
As I do for the overall story, I prep these scenes to set up a problem but not how to solve it (something learned from Vincent Baker in Dogs in the Vineyard). They are always based on a logical path to how the problem would be solved.
Example: In a dungeon exploration game (not a dungeon crawl) where the players are to recover a holy artifact, my major scenes would be something like this:
- Entering The Dungeon – encounter with some monsters to set the tone.
- Finding Clues of The Big Monster – a scene where I reveal something much worse is in the dungeon, that the players did not know about.
- Navigating Ancient Traps – a scene about getting past an elaborate trap.
- Dangerous Battle – combat scene in a location with difficult/dangerous terrain.
- The Big Monster and the Artifact – A confrontation with the big monster who is also trying to use the artifact.
In each of those cases, there is a clear set-up for what the scene will be about, and then I leave it up to the players’ ideas, the mechanics of the game, the genre we are playing in, and my improv skills to do the rest.Essential Dialog or Clues
At all costs, I never want to retcon my game to give the players some important piece of information or clue that I was supposed to give them earlier, that I forgot in a past scene. So all of those essential pieces of information get written into my prep so that they can be referenced in play.Stat Blocks
I always include the stat blocks for anything that the players may encounter. Even if the block is listed in the main book, I copy it into my notes. I do not want to stop and look things up, mid game. I want that information right at my fingertips.
If my game has a lot of different stat blocks, then I may make this its own page (sometimes expanding past my 2-page prep, if needed) and then I have them all in one place. In most cases, I will just put the block or two I need inline with my text.Relevant Rules
If the scene has any esoteric rules that are not part of my normal play, then they get copied into this section so that, once again, I am not flipping through the book during the game.Conclusion
As a way to wrap up the session, I have a section where I have notes about how to bring the session to a conclusion. These are often in the form of, “If the players do this, then that happens”. It also includes reminders for any end of session mechanics that need to be engaged.Putting That All Together
In the absence of the elements or structures needed for a specific game, this is what my prep looks like, at it’s core:
- What is going on
- Opening Scene
- Essential Dialog/Clues
- Essential Dialog/Clues
- Essential Dialog/Clues
- Essential Dialog/Clues
Your prep is a constantly evolving structure. It changes as you grow as a GM and as you play different games. It is something that both naturally evolves as well as something you can hone.
I showed you what goes into my prep, now show me yours. What elements are essential to you? What structures do you use? What element could you never give up?