All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
This module extends Entity Reference and allows to display fields from the referenced entity on the host entity.
It allows to configure the display per field instance and view mode.
Vast parts of the code were borrowed from the Commerce Product Reference module which is part of the Drupal Commerce
Continued from Setting the Stage: Hosting a Decoupled Drupal Site...
With numerous ski resorts, several Camp Woodward destinations around the country, and roughly 50 unique events hosted each year, the content demands of POWDR’s portfolio are significant. Managing the volume and variety of this content is a challenge in itself - and managing it across disparate systems with different processes and siloed data makes it much harder. With that in mind, POWDR set out to unify the technology driving their digital presence using a new platform powered by Drupal 8.The Requirements
The platform needed to serve two seemingly different goals: flexibility allowing for different designs on the frontend and a uniform data model on the backend for maintaining content. To meet these needs, POWDR opted for a decoupled approach, using the backend system as a data API that’s consumed by individual frontends that can be styled however necessary, and at times, completely differently.The Responsibilities
With our partners Hoorooh Digitial and Acquia providing the frontend and hosting solutions respectively, our job at Elevated Third was to design and build the data layer at the platform’s center. As Drupal experts, we knew Drupal 8 had the right tools for this job. Our solution used a combination of Drupal 8’s REST API, Views, the Paragraphs module, and some custom modules to provide the right amount of flexibility and maintainability for POWDR’s needs.An Initial Architectural Consideration
When building a solution like this, the first decision will revolve around structuring the technology powering it. Currently, there are a couple architectural options in the decoupled application landscape.
The first option consists of running two servers: one for the frontend application(s) and one for the backend data API. In this scenario, the frontends are responsible for all the routing and the backend simply provides a JSON endpoint that communicates with the frontends.
The second option consists of storing the frontend applications as compiled assets on the same server as the backend. In this scenario, the backend will respond to initial incoming requests and route them to the proper frontend application which takes over from there.
There’s not a right or a wrong choice here. And any decision will depend on the combination of hosting options, technical expertise, and development team’s appetite for complexity. We chose the second option. And after some fiddling with HTTP requests and Apache proxying, the POWDR platform has been performing excellently.To Be Continued...
In the next entry of this blog series, my project partner Joe Flores will detail some of specific Drupal technologies and techniques we used to power POWDR.
Thanks for reading!
The project was for Powdr Resorts, one of the largest ski operators in North America.
The first installment was A Deep Dive into a Decoupled Drupal 8 Project.Tags: acquia drupal planet
Oh! Hey there, my name is Piyush Jain and as a new staff member at the Drupal Association I wanted to learn what the community likes so much about DrupalCon.
This week, I spoke with Eduardo Garcia (-enzo-), a Drupal Console core maintainer. Eduardo has been part of the Drupal community for 9.5 years, and has attended 6 DrupalCons.
Drupal: Getting Paid to Do What I Love
I’ve been planning and working toward this moment for long time. The latest Webform feature is not for the community, it is for me. This new feature, which I’m calling "Promotions," provides me with compensation to do what I love: collaborate and build free software that is used by 1000's of websites.
Getting paid to write open source software is a known challenge. I’ve been exploring many options and researching how other open source projects promote and charge for add-ons, support, and additional services.
Promise: Free of Charge
Please understand I have no intention of ever charging for add-ons. That said, if people in the Drupal community started sponsoring features, I’d be completely on board. Is offering paid support a viable option? I’m not sure. I think promoting additional services is a proven approach. Many companies provide SaaS solutions and hosting services for Drupal. I’ve spent the past year learning how to promote myself via my website, blog posts, and presentations at conferences. Promoting myself in all these ways led me to recognize that my best opportunity lies directly within the Webform module's user experience.
Research: Promotional Banner
Ninja Forms for Wordpress has an amazing user experience. When installing Ninja Forms, there is a "Ninja banner" which promotes the plugin's latest features. I have never seen a Drupal module display a promotional banner or callout within the actual module. Project pages rarely contain promotional callouts. Banners and splash screens are part of the typical software experience. I realized I needed to sell the Drupal community on having a promotional banner within the Webform module's user experience.
Challenge: Selling...Read More
This is the first in a series of articles that will document lessons learned while exploring using Ember as a decoupled client with Drupal.
You will need to have Ember CLI installed and a local Drupal 8 (local development assumed). This initial series of articles is based on Ember 2.14 and Drupal 8.3.5 but my initial development was over 6 months ago with earlier versions of both Ember so this should work if you have an earlier ember 2.11 or so installed.
Drupal 8 is the latest version of Drupal that receives a lot of attention among Drupal community. Its minor release Drupal 8.3.0 has already come out. Each its feature is interesting and is described in our collection of Drupal 8 articles. In today’s blog post Drupal 8 will also be in focus, however from the angle of SEO.Read more
Drop Guard is in a continuous process of optimization and development. As it is still a unique platform concept on the market place, we started years ago with a sketchy blueprint of what Drop Guard is today - and rather will be in future. With this post I will give you a quick overview of what is planned and something which is a little secret between you and me.
Drop Guard Drupal Drupal Planet announcements
This module allow user to add and remove available CSS and JS file in project.
Please post your ideas and suggestions in the issue queue.
Currently the dragable field "User name and password" mashes together:
- Current password
- E-mail address
- Change Password
- Notify user about new account (when admin create new account)
This module aims to split "User name and password" into standalone fields for site builders who want to manage that fields separately.Usage
After enabling of this module you will see a list of new fields on Account settings Manage form display.
It’s a small developer-focused conference for architects, developers, and businesspeople who are involved in implementing decoupled Drupal architectures in their various lines of work.Anli de Jager Tue, 08/08/2017 - 08:45
This 2-day conference will create a platform for those involved in decoupled Drupal architectures to come together to share their knowledge and insights during a single track of sessions about decoupled architecture strategies, technology, and best practices. There will also be opportunities to contribute to the learning experience through the building of open-source projects in sprints.
Decoupled Drupal Sites not only bring exciting new technologies to us. They also require a new way of thinking around local development and hosting. At Amazee our speciality is Decoupling Drupal with React and GraphQL and we have multiple Decoupled Sites running, all with enabled Server-Side-Rendering, CDNs and Reverse Proxies included!
Our very own Michael "schnitzel" Schmid will, therefore, be hosting a session, ‘Your PHP and Nginx won't be enough to host and develop your decoupled site’ that will address some of these questions that will undoubtedly come up, for example:
How to develop Node locally with multiple Node versions, test CORS and Server-Side-Rendering locally and make overall sure that my Node App behaves locally the same as in production.
How do I deploy, test and host that on a server when using ServerSide Rendering of my Decoupled Site built in Node.
How to use a CDN to cache my GraphQL/REST/JsonAPI requests and also the Server-Side-Rendering response.
In this session, Michael will also show you how the power of Docker allows to develop Decoupled Drupal Sites with Node and Server-Side-Rendering with a breeze and also how to use the same Docker Tools to run them in staging and production. No Docker Knowledge required :)
For more conference updates, you can follow the action here.
(This article was cross-posted from Medium.)
Every few weeks I hear from a colleague who’s dealing with the tangles of editorial tools on a web CMS project. Inevitably, someone on their team suggests that things will be easier if users can’t enter HTML at all. “We’ll use Markdown,” they say. “It’s simple.”
On most projects, it’s a terrible idea — and I’m going to rant about it. If you don’t care about the nerdy details, though, here’s the long and short of it:
Markdown turns common “plaintext” formatting conventions like asterisks, indentation, and so on into HTML markup. If you need anything more complicated (say, an image with a caption or a link that opens in a new window), you need to mix markdown and raw HTML. Markdown is easy to remember for simple stuff (blockquotes, italics, headings, etc) but more complicated structures require extensions to the standard that are just as tweaky as HTML.
It was designed to mirror the ad-hoc conventions of ASCII-only channels like Usenet, email, and IRC. As creator John Gruber said in his original introduction of the project:The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.
Markdown’s strength is that it speeds and simplifies the most common text formatting tasks, and does so in a way that looks correct even before the markup is transformed into visual formatting. Markdown accomplishes that by ruthlessly cutting most HTML structures — anything that can’t be turned into a fairly straightforward ASCII-ism is left behind. When it’s pushed beyond that role, things get just as ugly any error-prone as raw HTML: witness the horrors of Markdown Tables and CSS In Markdown.
In many ways, Markdown is less a markup language and more a way to hide basic formatting information in a plain text document. That’s great! I use Markdown for my Jekyll-powered blog. If your project’s body field needs are simple text formatting without complicated embedding, captioning, microformatting, etc? Markdown is probably going to work fine. But — and this is a big one — if that’s all you need, then using a WYSIWYG HTML editor will also work fine.
WYSIWYG editors aren’t a pain because they “hide the code” from content creators. They’re problematic because they’re often configured to give editors access to the full range of HTML’s features, rather than the specific structural elements they really need to do their jobs. I’ve written about this “vocabulary mismatch” problem before, but it’s worth coming back to.
When you decide to use Markdown, you aren’t just choosing markup that’s easier to read; you're choosing a specific restrictive vocabulary. If that vocabulary covers your editors’ real needs, and they’ll be using plaintext to write and revise stories during their editorial workflow, by all means: consider it!
But if what you really need is a way to reign in chaotic, crappy markup, invest the time in figuring out how it’s being used in your content, what design requirements are being foisted on your editors, and what transformations are necessary for real world usage. Modern WYSIWYG editors don’t have to be the “dreamweaver in a div” disasters they used to be — taking the time to configure them carefully can give your team a clean, streamlined semantic editor that doesn’t constrain them unnecessarily.
Photo by Lee Campbell
Entity query decorator is a Drupal 8 wrapper around the Entity Query class to make querying entities even easier. Whenever using entity queries you generally always end up in the same scenario: Executing your query, checking for results, loading the entities, looping through the entities and then obtaining a value you want. This module sets out to simplify that process by providing a decorator class to combine those steps together.
This module provides a basic API interface for Drupal modules to use the Red Hat OpenShift API Endpoint. This is not an official module and is only intended as a useful supplementary for programming your own functions.
Documentation for the OpenShift API Endpoint is available at:
If you want an easy way to create engaging, content-driven websites for you and your customers, you should give Drupal 8 a try. And Drupal modules allow you to take things a step further and create highly customized functionality for your site.
In our new course, Code a Custom Drupal Module, Envato Tuts+ instructor Derek Jensen will get you up and running with modules in no time. You'll build a simple calculator module, and along the way you'll learn about creating routes, controllers, parameters, and more.
You can take our new course straight away with a subscription to Envato Elements. For a single low monthly fee, you get access not only to this course, but also to our growing library of over 1,000 video courses and industry-leading eBooks on Envato Tuts+.
Plus you now get unlimited downloads from the huge Envato Elements library of 200,000+ photos and 26,000+ design assets and templates. Create with unique fonts, photos, graphics and templates, and deliver better projects faster.
Looking for a shortcut? Try downloading some of the ready-made Drupal themes on Envato Market.
This module provides a "TinCan package" entity type. Tin Can API compatible packages such as those produced by Articulate Storyline, Articulate Studio, and Adobe Captivate can be played in the Tin Can Package entity view.