Newsfeeds

Appnovation Technologies: Simple Website Approach Using a Headless CMS: Part 1

Planet Drupal - 6 February 2019 - 12:00am
Simple Website Approach Using a Headless CMS: Part 1 I strongly believe that the path for innovation requires a mix of experimentation, sweat, and failure. Without experimenting with new solutions, new technologies, new tools, we are limiting our ability to improve, arresting our potential to be better, to be faster, and sadly ensuring that we stay rooted in systems, processes and...
Categories: Drupal

Acquia Developer Center Blog: A Dozen Reasons Why You Should Attend DrupalEurope in Darmstadt, Germany this September

Planet Drupal - 3 hours 49 min ago

DrupalEurope, which will be happening from September 10 through 14, 2018 in Darmstadt, Germany, describes itself as "both a technology conference and a family reunion for the Drupal community." 1600+ attendees are expected.

The buzz around this event has been unusually high, especially in the greater Acquia metaverse, for 12 reasons. Here they are.

Tags: acquia drupal planet
Categories: Drupal

ComputerMinds.co.uk: Localising dates in twig templates

Planet Drupal - 7 hours 34 min ago

A client noticed the dates on their news articles were not being translated into the correct language. The name of the month would always appear in English, even though all the month names had themselves been translated and showed correctly elsewhere. The problem turned out to be down to the twig filter being used in the template to format the date. This is what we did have:

{% set newsDate = node.getCreatedTime|date('j F Y') %} {% trans %} {{ newsDate }}{% endtrans %}

So this would produce something like '1 March 2018' instead of '1 März 2018' when in German. This was because twig's core date() filter simply isn't aware of Drupal's idea of language.

I switched out the date() filter and used Drupal core's own format_date() filter instead, which uses Drupal's own date.formatter service, which is aware of language. It ensures the month name is passed through t() to translate it, separately to the rest of the numbers in the date. So it now looks like this:

{% set newsDate = node.getCreatedTime|format_date('custom', 'j F Y') %} {% trans %} {{ newsDate }}{% endtrans %}

Having done that, I realise the original code was the equivalent of doing this:

t('1 March 2018');

(I'm less of a front-end coder, so putting it in PHP makes it more obvious to me than twig code!)

So the date actually was translatable, but only as the whole string -- so unless the translators had gone through translating every single individual date, the German month name was never going to show!

What I needed was the twig equivalent of using placeholders like this PHP example:

t('My name is @name, hello!', ['@name' => $name]);

When you use variables between twig's trans and endtrans tags, they really are treated by Drupal as if they were placeholders, so this is the twig version:

{% trans %} My name is {{ name }}, hello! {% endtrans %}

This helped me understand twig that little bit more, and appreciate how to use it better! Regardless of formatting dates, I now know better how to set up translatable text within templates, hopefully you do too :-)

Categories: Drupal

Drupal Europe: How Publiq is using blockchain to tackle urgent challenges for publishers

Planet Drupal - 8 hours 8 min ago
Drupal Europe: Publishing + Media Special Focus

What industries come to mind when you hear blockchain? Banking? Trading? Healthcare? How about publishing? At Drupal Europe publishers will gain insights into the potential blockchain technology offers and learn how they can benefit. Meet Gagik Yeghiazarian, founder of the nonprofit foundation Publiq, and learn how he wants to fight fake news and build a censorship-resistant platform — using blockchain.

The publishing world is changing. Publishers no longer solely control media distribution. Big players like Facebook and Google are middlemen between the publishers and their readers, and technology built to entice publishers — Google’s AMP (Accelerated Mobile Pages) and Facebook Instant Articles — has strengthened social platforms as distribution channels. Additionally, publishers have lost money making classifieds business as employment and real estate markets create their own platforms and portals to reach the audience.

Photo by Ian Schneider on Unsplash

As a result of these developments, publishers are losing direct relationships with their readers as well as critical advertising which traditionally supported the editorial and operational costs. The platforms act as middlemen, using the content of the publishers for collecting data and selling them to advertisers. The publishers are left out in the cold.

Critically, publishers are also facing a crisis of confidence. As social platforms are used to spread fake news and poor content, mistrust in journalism grows.

The nonprofit foundation Publiq wants to face these challenges with a blockchain-powered infrastructure. It aims at removing unnecessary intermediaries from the equation and helping to create an independent, censorship-free environment. Gagik Yeghiazarian, CEO and Co-Founder of Publiq, is convinced: “Blockchain infrastructure allows content creators, readers and other participants to build a trusted relationship.”

You can learn more about Publiq and its blockchain infrastructure at Drupal Europe in Darmstadt: Gagik Yeghiazarian’s session “Blockchain Distributed Media — A Future for good publishing” will give you a glimpse into this new technology and a real-world application of it.

While you’re at Drupal Europe, be sure to check out the exciting blockchain panel discussion where Gagik, Ingo Rübe of Botlabs, and Taco Potze of Open Social, will share insights and use cases for blockchain technology. Don’t miss this!

Drupal Europe
Publishing & Media — Track Chairs

Categories: Drupal

PreviousNext: Testing Drupal with WebDriver browser mode vs Headless browser mode

Planet Drupal - 13 August 2018 - 8:49pm

There is not a lot of documentation available about what's the difference between running a browser in WebDriver mode vs Headless so I did some digging...

by Jibran Ijaz / 14 August 2018

Apparently, there are two ways to run Chrome for testing:

  • As WebDriver
  • As Headless
WebDriver:

There are two ways to run Chrome as WebDriver:

Using Selenium:

Run Selenium standalone server in WebDriver mode and pass the path of ChromeDriver bin along with the config e.g. Selenium Dockerfile

This works fine with Nightwatch standard setup, \Drupal\FunctionalJavascriptTests\JavascriptTestBase and also with Drupal core's new \Drupal\FunctionalJavascriptTests\WebDriverTestBase.

Using ChromeDriver:

Run ChromeDriver in WebDriver mode e.g. chromedriver Dockerfile

This works fine with Nightwatch, JTB, and WTB.

Headless: Using Chrome

Run Chrome browser binary in headless mode. e.g. Chrome headless Dockerfile

Nightwatch is not working with this set up, at least I was unable to configure it. See https://github.com/nightwatchjs/nightwatch/issues/1390 and https://github.com/nightwatchjs/nightwatch/issues/1439 for more info. \DMore\ChromeDriver can be used to run the javascript tests.

Using ChromeDriver

Using Selenium ChromeDriver can be run in headless mode something like this:

const fs = require('fs'); const webdriver = require('selenium-webdriver'); const chromedriver = require('chromedriver'); const chromeCapabilities = webdriver.Capabilities.chrome(); chromeCapabilities.set('chromeOptions', {args: ['--headless']}); const driver = new webdriver.Builder() .forBrowser('chrome') .withCapabilities(chromeCapabilities) .build();

DrupalCI is running ChromeDriver without Selenium and testing Nightwatch and WTB on it.

Conclusion

The question is which is the best solution to run Nightwatch and JTB/WTB tests using the same setup?

  • We had seen some memory issues with Selenium containers in the past but we haven't run into any issue recently so I prefer this and you can swap Selenium container to use different browsers for testing.
  • We have also seen some issues while running ChromeDriver in WebDriver mode. It just stops working mid-test runs.
  • I was unable to get Headless Chrome working with Nightwatch but it needs more investigation.
  • Headless ChromeDriver setup on DrupalCI is quite stable. For JTB this would mean that we could use anyone from \Drupal\FunctionalJavascriptTests\DrupalSelenium2Driver and DMore\ChromeDriver.

Please share your ideas and thoughts, thanks!

For more info:

Tagged Testing, nightwatchjs, Functional Testing
Categories: Drupal

Palantir: Drupal Chicago: The Decoupled Ouroboros

Planet Drupal - 13 August 2018 - 4:36pm
Drupal Chicago: The Decoupled Ouroboros July 11, 2018 brandt Mon, 08/13/2018 - 18:36 Caxy Interactive, Chicago, Illinois Drupal Chicago (official meetup site) Federated Search with Drupal, SOLR, and React (AKA the Decoupled Ouroboros)

Join Palantir's Avi Schwab for a discussion at the Drupal Chicago Meetup. He'll be going over a recent Palantir project and how we bring content from disparate sites (D7, D8, Wordpress) into a single index and then serve results out in a consistent manner, allowing users to search across all included properties. Avi will discuss how we got started with React, our process for hooking up to SOLR, and how we used Drupal to tie the whole thing together.

  • Date: Wednesday, July 11, 2018
  • Time: 5:30 - 7:30pm
  • Location: Caxy Interactive, 212 West Van Buren Street, Chicago, IL
Mon, 06/25/2018 - 12:00
Categories: Drupal

Palantir: Decoupled Days 2018

Planet Drupal - 13 August 2018 - 3:36pm
Decoupled Days 2018 August 17 - 19, 2018 brandt Mon, 08/13/2018 - 17:36 John Jay College of Criminal Justice, New York, New York Decoupled Days (Official Site)

Decoupled Drupal was a hot topic at DrupalCon Nashville, and Palantir is very excited to be Silver Sponsors of this year's Decoupled Drupal Days. Keep an eye out for Jes ConstantinePatrick Weston and Avi Schwab; they'll be attending the event and would love to hear about your recent decoupled projects. 

Federated Search with Drupal, SOLR, and React (AKA the Decoupled Ouroboros)

Avi and Jes will be presenting on Friday and giving an overview of a recent Palantir project. He'll explain how we bring content from disparate sites (D7, D8, Wordpress) into a single index and then serve results out in a consistent manner, allowing users to search across all included properties. He'll also go over how we got started with React, our process for hooking up to SOLR, and how we used Drupal to tie the whole thing together. More details can be found on the official site

  • Date: Friday, August 17, 2018
  • Time: 2:45 PM
  • Room: Aten Design Group Lecture Hall

 

Mon, 08/13/2018 - 12:00
Categories: Drupal

Gbyte blog: Get image URL from media field in twig

Planet Drupal - 13 August 2018 - 12:23pm

Apparently there are still pretty common Drupal 8 theming tasks that cannot be accomplished with the great twig_tweak module. This by the way was me giving a plug to a great little module, which makes half of all your theme preprocess hooks unnecessary.

If you would like to get the URL from an image that is trapped inside of a media entity however, you can either extract it using the aforementioned preprocess function like so:

Categories: Drupal

Bethesda reluctant to bring Elder Scrolls: Legends to systems that don't offer cross-play

Social/Online Games - Gamasutra - 13 August 2018 - 11:38am

"We can't be talking about one version of Legends, where you take your progress with you, and another version where you stay within that ecosystem or its walled off from everything else," said Hines. ...

Categories: Game Theory & Design

Random Number Field

New Drupal Modules - 13 August 2018 - 11:18am

This module adds a new field type of 'Random Number Field'.

What is a random number field?

An integer field that when a new node/entity is created will be populated with a random integer between the min and max defined when the field type was created.

Categories: Drupal

Template Breadcrumb

New Drupal Modules - 13 August 2018 - 10:21am

This module allows a breadcrumb to be inserted into a nodes display settings, so it can be output as a field in the template using content.template_breadcrumb.

Dependency

This module relies on the following patch for easy_breadcrumb: https://www.drupal.org/project/easy_breadcrumb/issues/2979021

Categories: Drupal

Token Default

New Drupal Modules - 13 August 2018 - 10:16am

Allows a token to be given a default value in the event of no value being found.

This can be altered per content type.

Installation

After installing this module it can be configured from the Token Defaults menu item in the configuration list.

Categories: Drupal

Video Game Deep Cuts: We, Happy To Take The Magic Leap - by Simon Carless

Gamasutra.com Blogs - 13 August 2018 - 9:25am
This week's highlights include impressions of the much-pivoted We Happy Few, hands-on with the vaunted Magic Leap AR glasses, and lots more besides.
Categories: Game Theory & Design

The Dangers of the Echo Chamber Effect on Game Development - by Josh Bycer

Gamasutra.com Blogs - 13 August 2018 - 8:54am
Today's post looks at the echo chamber effect and how it can hurt your changes of making the best possible version of your video game.
Categories: Game Theory & Design

Coffee Talk Devlog #1: How the game came to be - The seed, the anxiety, and the belief of design by subtraction - by Mohammad Fahmi

Gamasutra.com Blogs - 13 August 2018 - 8:49am
We talk about the background of our latest project, Coffee Talk, and how Fumito Ueda's philosophy influenced us.
Categories: Game Theory & Design

Drupal Europe: Drupal Europe: Publishing + Media Special Focus

Planet Drupal - 13 August 2018 - 8:48am
Digital Assets Management in multi-channel publishing environments

Drupal Europe offers up a plethora of cases and solutions to help you with your DAM integration.

Multichannel publishing by Oleksiy Mark on Shutterstock

With so much to organize and store, publishers typically use Digital Asset Management Systems (DAM) to manage their assets. Add multiple channels to the mix and you have big operational hurdles. Thanks to the Media Initiative, Drupal now has a well-defined ecosystem for media management and its architecture is designed to play well with all kinds of media, media management systems, and web services that support them. The system is highly adaptable — the media management documentation outlines 15 modules shaping Drupal’s new ecosystem for media assets.

The Drupal Europe program offers several sessions to help you learn more about solutions building on this foundation. Case studies of demanding media management projects around the publishing industry include:

Blockchain — why should publishers care?

How Publiq is using blockchain to tackle urgent challenges for publishers

What industries come to mind when you hear blockchain? Banking? Trading? Healthcare? How about publishing? At Drupal Europe publishers will gain insights into the potential blockchain technology offers and learn how they can benefit. Meet Gagik Yeghiazarian, founder of the nonprofit foundation Publiq, and learn how he wants to fight fake news and build a censorship-resistant platform — using blockchain.

The publishing world is changing. Publishers no longer solely control media distribution. Big players like Facebook and Google are middlemen between the publishers and their readers, and technology built to entice publishers — Google’s AMP (Accelerated Mobile Pages) and Facebook Instant Articles — has strengthened social platforms as distribution channels. Additionally, publishers have lost money making classifieds business as employment and real estate markets create their own platforms and portals to reach the audience.

Photo by Ian Schneider on Unsplash

As a result of these developments, publishers are losing direct relationships with their readers as well as critical advertising which traditionally supported the editorial and operational costs. The platforms act as middlemen, using the content of the publishers for collecting data and selling them to advertisers. The publishers are left out in the cold.

Critically, publishers are also facing a crisis of confidence. As social platforms are used to spread fake news and poor content, mistrust in journalism grows.

The nonprofit foundation Publiq wants to face these challenges with a blockchain-powered infrastructure. It aims at removing unnecessary intermediaries from the equation and helping to create an independent, censorship-free environment. Gagik Yeghiazarian, CEO and Co-Founder of Publiq, is convinced: “Blockchain infrastructure allows content creators, readers and other participants to build a trusted relationship.”

You can learn more about Publiq and its blockchain infrastructure at Drupal Europe in Darmstadt: Gagik Yeghiazarian’s session “Blockchain Distributed Media — A Future for good publishing” will give you a glimpse into this new technology and a real-world application of it.

While you’re at Drupal Europe, be sure to check out the exciting blockchain panel discussion where Gagik, Ingo Rübe of Botlabs, and Taco Potze of Open Social, will share insights and use cases for blockchain technology. Don’t miss this!

Drupal Europe
Publishing & Media — Track Chairs

Categories: Drupal

Design Principles as applied to Virtual Reality - by Seth Edens

Gamasutra.com Blogs - 13 August 2018 - 8:47am
Discussion of several design principles and how they do or do not apply to virtual reality
Categories: Game Theory & Design

The Dream IS the Product - by Neil Schneider

Gamasutra.com Blogs - 13 August 2018 - 8:46am
Billions of dollars later (and many more to come, I'm sure), seemingly wild investments in Magic Leap, Oculus, and more are put into future computing perspective.
Categories: Game Theory & Design

Game Developers Diaries. Crush of Bones - by Andrei Semiankovich

Gamasutra.com Blogs - 13 August 2018 - 8:42am
Here at Polygon Gamelab  we create small groups of our students who want obtain more practical knowledge about process of game-making and game-releasing.
Categories: Game Theory & Design

OPTASY: How to Get Gatsby to Work with Drupal: Building a Gatsby Site with a Decoupled Drupal Back-End

Planet Drupal - 13 August 2018 - 6:48am
How to Get Gatsby to Work with Drupal: Building a Gatsby Site with a Decoupled Drupal Back-End radu.simileanu Mon, 08/13/2018 - 13:48

Just imagine: putting together the powerful UI creation tools of a static site generator — more of a modern front-end framework rather —  built for high speed, like Gatsby.js, with Drupal 8's content modeling and access system! Putting their powers together into a blazing-fast website! But how to get Gatsby to work with Drupal?

How do you build a plugin that fetches data from API-first Drupal? In short: a static, conveniently simple, yet robust Gatsby site powered by a powerful, decoupled Drupal back-end?

You've got the questions, we've got the answers...

Categories: Drupal

Pages

Subscribe to As If Productions aggregator