All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
As a writer or editor for your organization’s website, you should be able to quickly write articles or build pages that are collections of smaller elements. You should be able to write some text, add a slideshow, write some more text, perhaps list a few tweets, and finish things off with a list of related content. Or maybe you paste in a pull quote, add a couple full-width images with captions, or even put together an interactive timeline. Your content management system should let you do all that, easily. But chances are, it won’t be with the WYSIWYG you’re used to right now.What You See Isn’t What You Get
WYSIWYG editors still fall short when it comes to doing much more than simple formatting and embedding a few images. Anything beyond that, and the underlying technology has to leverage some kind of proprietary “smart code” or “token” and do some find-and-replace magic that makes slideshows, media players, or other more complex blocks of content show up right to the editor. These tokens aren’t typically based on any adopted standard. It’s just this custom, arbitrary formatting shortcut that programmers decided to use that tells the CMS, “Replace this snippet with that other piece of content.”
If it sounds complicated, that’s because it is. It’s hard to get right. It’s hard to build in a sustainable way. It’s hard – impossible, really – to make it look right and work well for authors. It’s REALLY hard to migrate.
Here’s an example: In earlier versions of Drupal, Node Embed was a way to embed one piece of content (say, an image) inside the body of another (like an article). The “smart code” [[nid: 123]] tells Drupal, “replace this with the piece of content that has an ID of 123.” It worked, but the authoring experience was janky. And it really wasn’t structured content, since your markup would end up littered with these proprietary snippets referencing objects in the CMS. Somewhere down the line, someone would inevitably have to migrate all of that and write regular expressions and processors to parse it back into a sane structure for the new system. That gets expensive.Fieldable Entities and Structured Content
The thing that lets you, the web editor, write content that is both manageable and flexible is breaking your content into discrete, single-purpose fields. In Drupal it’s called “fieldable entities.” You don’t dump everything into the WYSIWYG (which would be hard to do anyway). Instead, there’s a field to add the author’s name, a field for attaching images, and a field for the text (that last part gets the WYSIWYG). More generally, this serves an important concept called “structured content.” Content is stored in sensible chunks. It adapts to a variety of contexts, like a mobile app or a news aggregator or (of course) your website. In the case of your website, your CMS pushes all those fields through a template, and voila, the page is published beautifully and your readers eat it up.What If My Fields Have Fields?
Here’s where it gets interesting. Back to our earlier example: let’s say your article has a couple slideshows. Each slideshow has a few images, captions, and links. Suddenly your discrete, single-purpose field (slideshow) has its own fields (images, captions, links). And, you may want to add a slideshow virtually anywhere in the flow of the page. Perhaps the page goes text, slideshow, text. Or maybe it’s text, slideshow, text, some tweets, another slideshow. And now you want to swap some things around. Again, you should be able to do all that, easily.Drupal Paragraphs
Enter the Drupal Paragraphs module. Paragraphs takes the approach of creating content bundles, or collections of fields, that can be mixed and matched on a given page in virtually countless configurations. They’re called “Paragraphs” because they are flexible, structured building blocks for pages. The name is a little misleading; in fact, they are 100% configurable groups of fields that can be added, edited, and rearranged however you want on a given article. You can have paragraph types for slideshows, pull quotes, tweets, lists of related content, or virtually anything else. Paragraphs are building blocks: smaller elements that can be combined to build a page. And like I said earlier, you should be able to easily make pages from collections of smaller elements.Drupal Paragraphs is Sort of Easy
We use Drupal Paragraphs whenever a particular type of content (a news article, blog post, etc.) is really built up of smaller, interchangeable collections of other fields (text, slideshows, videos, etc.). Drupal Paragraphs are flexible and organized. They let authors create whatever kinds of pages they want, while storing content in a way that is structured and adaptable. Migrations with Paragraphs are generally easier than migrations with special, proprietary embed codes. Breaking content types into Paragraphs gives authors the flexibility they need, without sacrificing structure. You don’t end up with a bunch of garbage pasted into an open WYSIWYG field.
So what’s the catch? Well, the interface isn’t awesome. Using Drupal Paragraphs can add a lot of complexity to the authoring experience. Forms will have nested forms. It can be overwhelming.Alternatives to Drupal Paragraphs
As I’m writing this, another approach to page building is gathering momentum in the Drupal universe. Layout Builder is currently an experimental module in core, and slated to ship as a stable release with Drupal 8.7. Layout Builder provides a slick drag-and-drop interface for editors to build pages from blocks and fields. We’re excited to see how Layout Builder develops, and to see how well it performs for large editorial websites. For websites with hundreds or thousands of articles, managing pages with Layout Builder may be difficult. As Drupal’s founder, Dries Buytaert, pointed out in a post late last year, “On large sites, the free-form page creation is almost certainly going to be a scalability, maintenance and governance challenge.”
Other open source CMS communities are seeing a similar rise in the demand to provide authors with flexible page-building tools. WordPress released Gutenberg, a powerful drag-and-drop editing experience that lets authors quickly build incredibly flexible pages from a massive library of components. It’s worth noting Gutenberg is not without challenges. It poses accessibility issues. Antithetical to the themes in this post, it does not necessarily produce structured content. It relies on proprietary tokens for referencing embedded blocks of content. But it is very flexible, and offers an expressive interface for authors. For Drupal users, there’s a Drupal port for Gutenberg.
For us at Aten, the balance comes back to making sure content is stored in a way that is structured, can be adaptive, is reusable, and is relatively easy to migrate. And that you, the writer, can easily build flexible web pages.Structured and Adaptable: Drupal Paragraphs with Layout Control
We’ve been working on an approach that keeps Paragraphs in place as the primary way content is managed and stored, but also gives authors the ability to easily control layout. Using Drupal’s core Layout Discovery system, Entity Reference with Layout is a custom field type that combines layouts and Paragraphs. It’s still in very early experimental development, but we’re excited about the impact this approach might have on making it even easier to create flexible pages. And it uses Paragraphs for content storage, with the benefits we’ve already touched on: content is well-structured and relatively easy to migrate. It’s not as flexible or robust as Layout Builder, but might be a great option for authoring flexible pages with Paragraphs. (More on this in a future post.)Reusable and Flexible: Advanced Paragraphs
Since Drupal Paragraphs are themselves collections of flexible fields, there are all kinds of interesting ways they can be applied to building complex publishing features. We’re working with a client in publishing who needs the ability to completely customize the way content appears on their home page. They would like to promote existing content to the homepage, but they may want to override article titles, images, and summaries. Since the article authors aren’t the same people editing the home page and other key listing pages, they didn’t want authors to have to think about all of those variations. The way content is presented on an article page isn’t always the best-suited for the homepage and other contexts. We used paragraphs to give home page editors the ability to drop articles onto the page, with fields for overriding everything they need to.Where to Go From Here
Your CMS should make it easy to write content and build pages. If you’re interested in seeing a demo of Drupal Paragraphs, Layout Builder, or Gutenberg, drop us a line. We’d love to help.
Accordion Menus module will display a Drupal menu using a jQuery UI accordion effect. The top-level menu items are referred to as header items. The accordion effect is invoked when the triggering event occurs on a header item. The triggering event is a mouse click. The submenu expands to display the menu items beneath the header. A subsequent triggering event on the same header item collapses the menu beneath it.
The idea of this module came from accordion_menu module which is Drupal 7 module.
There are moments in time where you declare that you will hold a position no matter what. You will not fall back. You pick your hill to die on. These can be dramatic and important moments. But there are other times when it is just as important to look back and realize how you ended up standing on that hill, and why you need to defend it.
When someone is comfortable, it is too easy for them to ignore the danger that others find themselves facing. A lot of us in the RPG hobby have been very comfortable for a very long time, and that means that we have allowed others to be subjected to dangers that they should never have faced.
Many of us have heard about people in the industry that are a problem. They are abusive and destructive. They treat those that they dislike terribly and make them fear for their safety using online terrorism. They make the RPG hobby a place that holds nothing for the victims of this abuse but regret. When these same abusers have any kind of gravitas in the RPG hobby, this also includes ruining careers and smashing dreams. Those abusers pull strings to make sure the industry regards these people as “unstable” or more “troublesome.”The Cycle
The abusers are terrible. But many of us in the RPG hobby have seen these tactics used. Many of us know the people involved. But when it doesn’t involve us, the problem goes away. If we never had the sights set upon us, we can go back to whatever corner we call our own and live our lives. Others dread any interaction online. They worry about when the next shoe will drop. Will someone get them fired from a project? Will hundreds of people send threats of physical violence or death? Is that strange person across the street someone that found out their address — someone that has decided that online persecution isn’t enough?
The damage that is done by abusers often isn’t defined as a single terrible incident. Often, it is a long term pattern that does not abate. It’s harm that is revisited every time that person looks at the things they used to love. Beyond the fear of violence and death, it is the theft of part of who they are, something they cannot revisit on their own terms any longer.
For those of us that have always been comfortable, it is very easy to point at the abusers when they come to our notice and say, “isn’t that awful,” and go about our business. It is much harder for us to look at ourselves in the mirror and say, “I let this happen.” When the evidence of the abuser’s actions is not in front of us, we forget the abused and their daily contention with the effects of that abuse. We can turn away when they cannot. We are complicit.
It sounds heroic to pick a hill to die on. It’s a grand gesture. It’s the heroic finale. But one hero dying on a hill doesn’t create change. Building a safe community that doesn’t let someone stand on that hill alone is what we need. Having a community that looks out for their own, so that no pack of predators can come for our own is what is needed. We need communities where we don’t need martyrs to remind us of the dangers that exist.Staring Down the Mirror
We need to make sure that the companies that we support are hiring diverse employees that are in positions of authority, so that they can understand the perspective of the marginalized. We need to listen to marginalized voices and believe them. We need to stop reflexively assuming that everything is fine unless presented with overwhelming evidence. When we are the ones in the comfortable position, we need to stop thinking that we, the comfortable, get to determine what constitutes real danger for the people in harm’s way.
Privilege is watching a fight from a distance and deciding if you want to participate. Privilege is showing up for the fight and assuming you will take the lead. Progress is knowing they are all your fights, and your job is to support others when they want to lead.
Too often, those of us that are comfortable descend from on high, get involved in one specific issue, then spend months patting ourselves on the back, while just behind it, more people are being abused and marginalized. This must end. No one deserves praise for doing what they should be doing. They just deserve to be chastised when they abdicate their responsibilities.
This is a microcosm of the world we live in. It is far too easy to ignore the plight of the marginalized because it doesn’t directly affect the privileged. We can’t run to games to hide from the rest of the world. Share1Tweet1+11Reddit1EmailThis is a microcosm of the world we live in. It is far too easy to ignore the plight of the marginalized because it doesn’t directly affect the privileged. We can’t run to games to hide from the rest of the world. The world and its patterns of abuse and systemic problems come with us. The patterns of abuse are part of us. Games can help us cope. Games can help us relieve stress. Games are not, however, separate from the worlds that gave birth to them, and they carry with them the same seeds that every other item born from a society bears.
I have long believed that one of the greatest aspects of roleplaying games is the ability of these games to teach us empathy. We continually put ourselves in the place of people that are not who we are, in places we are not. If we cannot engage that fundamental skill to make the spaces where we play more inclusive and safer, we lose one of the most precious gifts that this hobby can give us.
Increase internal page cache efficiency by removing URL query parameters coming from Facebook (fbclick), Google (utm_source, utm_medium,
utm_campaign), and any other parameter that can be ignored by Drupal.
This allows internal page cache to store less items, and avoid generating responses for different requests
that internally are handled by the same page controller and parameters.
With this module you are able to check all of your URLs, witch are integrated on your Drupal page. You can scan the whole page after Links and Custom pages as well.
The URL will be checked by cron or manually.
(We recommend to use a time based cron manage tool like "timetable_cron")
Immersive virtual reality therapy shows lasting effect in treatment of phobias in children with autism
React block provides a wrapper around the PDB module to provide some additional functionality including the latest React versions. Additionally, this provides a field that allows us to render a React component.
Respawn's free-to-play battle royale game Apex Legends clocked 8.28 million hours of Twitch viewership on February 12, just 8 days after the game first launched ...
OpenSense Labs: Jigsaw Puzzle of Drupal Media & 3rd Party Solutions: Can Integration Complete the Picture?
Communication is the heart of all human interactions and the media is like the blood pumping all the necessary ideas and expressions.Media provides the essential link between the individual and the demands of the technological society.
We as individuals view hundreds of advertisement each day. Digging through that phone and eyes glued to those tabs. People like us have produced a substantial rise in marketing tactics.
Marketing tactics such as social media, videos, search engine optimization, mobile paid media, and marketing of the emails have simulated the need for good quality content. What our minds’ decide to pay attention to depends on the interest and how compelling the advertisement or piece of content is.
It is necessary for organizations to realize their target persona, and serve up content that will bust through the clutter and hit homes with their customer.
Drupal Media can serve up this task beautifully and can do almost anything by gracefully blending digital assets in it.
You ask how?
I say - let’s find out!The Evolution of Media Management in Drupal 8 Drupal 8 Versions When was it introduced? What was offered? Drupal 8.2 5th October 2006 Basic out-of-the-box media handling Drupal 8.3 6th April 2017 This brought enhanced media handling in Drupal 8. Migrating Drupal 7 File Entities to Drupal 8 Media Entities Drupal 8.4 4th October 2017 Introduction of a new Media API to the core. For site builders, Drupal 8.4 ships with the new media module i.e base media entity Drupal 8.5 7th March 2018 Supported remote video using the oEmbed format. Drupal 8.6 7th November 2018 For the content creator, richer image and media integration and digital asset management. Media Type and Best Solutions to Handle Them
Media type as we know has been generally categorized with the data content such as an application, audio content, image text message, a video stream and so on. Media type conveys the applications that in return tell them what type of application is needed for the process. Media Types like Pictures, graphics, icons, video are handled beautifully with the help of Drupal modules.
Media types can be handled with the help of some practices :
- Media Module Maintenance
Modules maintenance in Drupal can be achieved with the help of distinct features and functionalities. Status report screen (which checks a variety of issues), cron (that automates the task of a website in “N” hour), caching and deployment, are some of the pieces to the whole module maintenance picture.
Media module provides a “base” entity for assets. This allows users to standardize Drupal site interactions with media resources. Local files, images, youtube video, tweets can be treated with the help of a media module.
- Building Distributions
If you are setting up a Drupal site then it would typically mean being involved in downloading and configuring various contributed modules (media and non-media). To make the whole process easier there are a variety of “Pre-configured” versions of Drupal that can be downloaded and used for a specific site. These pre-configured versions of Drupal are called distributions. With these “full-featured” distributions you can easily and quickly set up a site for the specialized purpose.
- Site Building
Drupal 8 comes with the most popular text editor modules and image uploader modules. These both provide the users with basic HTML controls and the power to edit the content. Text editor modules like paragraphs grant the user with a cleaner data structure. The scope of making mistakes is next to null due to the module known as the environmental indicator that helps in correcting mistakes.
- Custom Development
Drupal is a collection of modules and distribution. With more and more organizations looking to build an engaging digital experience for their stakeholders, the Drupal CMS has made custom developments in its platform. The version brings significant changes in modules that help in better user experience and efficiency of the website.Media expectations as a content author and Site Builders
State of Drupal 2016 survey which 2,900 people attended and participated in got the top two most requested features in terms of content creator persona.
The top two features which were adequately demanded were
- Richer media
- Media integration
Thus, “media initiative” for Drupal 8 was introduced that provided with extensible base functionalities. For the media handling in the core the support of the reusable assets, media browsing, remote video with the extensible cleanliness of contributed modules were made.
In Drupal 7 the media module was jam-packed with many functionalities. Now in Drupal 8 it has been recreated and introduced into separate modules. The three major modules which beautifully handles the media entities are named as:
To store media assets, media entity modules were introduced. This module provides a base entity for the media, a very basic entity which refers to all kinds of media objects. Media entity also presented a relation between Drupal and media resource.
WYSIWYG embed support(within the text area) is allowed by the entity embed module in Drupal 8. The core consists of an editor and a filter module. This module allows a site builder to construct a button which leads an editor with the text area, hence the name “entity embed”.
The entity browser module provides flexible and generic entity browsing and selection tools. It can be used in any context where one needs to select a number of entities and do something with them. The inline entity also provided with the integration of the media.
Site builders want that every type of media usage should be easily tracked and be presented to them. These three modules help them in achieving this task.Third Party integrations for media solutions
DAM (Digital Asset Media)
A digital asset is any text or media that is formatted into a binary source and includes the right to use it. All the digital files that do not include this right are not considered digital assets. Digital assets are categorized into images and multimedia, called media assets, and textual content and the management of these types of assets is known as Digital Asset Management. Modules like Acquia DAM, Bynder, integration module, EMBridge, S3 file sync, Q bank, Asset Bank, Media Valet, Elvis contribute to the integration of DAM and Drupal media.
CDN (content delivery network)CDN is a globally distributed network of proxy servers. It integrates offload static assets like images, videos, CSS and JS.
CDN like Cloudflare offers image compression and is great for content delivery network services. CDN provides several advantages over serving the traffic directly:
- Assets can be cached in a proxy which is geographically closer to the end users that usually leads to high download speed.
- Each page response is shared with the origin server and the CDN.
- Some of the CDN’s provides with page optimization service which further enhances the performance and also the user experience.
To make the integration easier Drupal has a CDN module that would help in speeding up the process and make it more agile.
It is not uncommon for large files and folders to get into the way of website speed. Large files are not usually cached resulting in every request to load the website slow. Drupal modules like the S3 file system, storage API, AmazonS3 contributes highly to integrate external storage. These modules manage the storage and the files in its API by providing an additional file system to your Drupal sites.
One of the most prominent examples of integrating infrastructure is Cloudflare. It is one of the biggest networks operating on the Internet. People use Cloudflare services for the purposes of increasing the security and performance of their websites.
A number of various solutions implemented at customers' facilities are rather large today. Often the subsystems of seemingly unified IT landscape are either loosely connected to each other or the interaction between them is ensured by file and data transfer via e-mail or from hand to hand.When content becomes media
Content on your website would start acting like media because let’s face it the content repository or the content that is stored in the database of the digital content is an association set of data management, search and access method allowing accessing of content. It includes
Content pooling involves the storing of the learning material in form of objects, meta-data as well as the relation which is there between them. It is the grouping up of the resources together (assets, resources etc) of the purpose of maximizing profit and minimizing risks, content pooling is done.
Content Syndication is the building up of a suite of Drupal site that needs a way to consume content from a central Drupal source. The CMS provides a number of splendid tools to simplify content creation and moderation. The users can create content once and make it available everywhere. Push content and media items at any sites to publish them on any targeted remote site.
This module of Drupal 8 allows the user to easily stage and preview content on all Drupal sites. It automatically manages dependencies between entities and is specially designed for rich API which can easily be extended.
The main agenda of Contenta CMS was to make the content happy. It is a community-driven API first distribution for Drupal 8 which provides users with a standard platform alongside the content. Contenta CMS is all about easing the pain of its users. It builds decoupled applications and websites.Beyond version 8
Drupal 8 was launched without the support of the media library. Thus, the addition of the media library is planned to be launched in Drupal 8. The developers have been currently working on adding a media library to Drupal 8 so that the content authors can select pre-existing media from a library and easily embed them in their posts. Once the media library becomes stable, the content authors can deprecate the use of the old file upload functionality and make the new media library the default experience.
Instead of working on Drupal 9 as a separate code base, it is planned to be launched in Drupal 8 which means that new functionalities are being added on the backward compatibility code along with the experimental features. For contributed module authors, Drupal 9 is working on compatibilities (Before the release of Drupal 9 the users are allowed to update their media module for the new media library)Source: Dries Buytaert's blogConclusion
As the world is getting more and more involved in the act of media, the need for handling it has become really important.
Media is important because it allows the people to transmit information to a larger audience, over a greater length of time. The importance of the media today is immense. Never before in mankind's history have the media had such an influence.Drupal Drupal 8 CMS Media Media Management Media Solutions Digital Asset Management Content Delivery Network External Storage Content Syndication Content Pooling Blog Type Articles Is it a good read ? On
The company totes strong player engagement as one noticeable sign that its games had some staying power throughout a competitive holiday season. ...
Pre-populate a Drupal Webform with an external data source without disclosing information in the URL.
There's no easy way to prevent the fields of type changed to be updated when the host entity is updating. There are business cases when you don't want this field to be refreshed on an entity save. A Drupal core issue is already dealing with this problem but it's not yet committed. This module covers this lack of API and will be dropped as soon the core issue is fixed.