Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 2 days 1 hour ago

Acquia Developer Center Blog: From imagination to (augmented) reality in 48 hours

1 June 2017 - 7:21am

Every spring, members of Acquia's Product, Engineering and DevOps teams gather at our Boston headquarters for "Build Week". Build Week gives our global team the opportunity to meet face-to-face, to discuss our product strategy and roadmap, to make plans, and to collaborate on projects.

Tags: acquia drupal planet
Categories: Drupal

Acquia Developer Center Blog: Announcing OpenEDU: An open source Drupal distribution for higher education

1 June 2017 - 6:05am

When organizations are able to save time and money during development, they are able to devote more resources to strategic and innovative initiatives. The ability to jumpstart development and extend invaluable resources is especially important to institutions of higher education.

OpenEDU is a pre-configured Drupal 8 implementation that is specifically built for higher education institutions. It enables universities to accelerate the development of sites by providing a “kickstart” set of features.

Tags: acquia drupal planet
Categories: Drupal

Chapter Three: A Better Website Editing Experience with Modular Content Components

1 June 2017 - 3:26am

The editorial experience is a critical and often overlooked part of website development. A weak editorial experience means slower site updates. Without a robust and intuitive content creation process, editors lose motivation to keep their site up to date. Our modular content creation process makes it quick and easy for editors to create content while providing front-end users with a rich visual experience.

What Are Modular Content Components?

Modular Content Components are a powerful way for website editors to quickly add new sections and send article content to multiple distribution channels in a single step. Drupal sites with Modular Content Components make it easy to add new distribution channels and send custom formats to each.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Drupal Blogs from May

1 June 2017 - 2:07am
As the time goes by, our blog activities don't rest. We have written quite a lot of blog posts about Drupal for you in the past month. Therefore, it' time to look at the topics we covered in May. We decided that we will focus on the biggest Drupal Conference, which took place in Baltimore. Therefore, we began our month with Case studies from DrupalCon Baltimore. We looked at who had sessions in that area and what they have presented to the audience. Since we promised that we will be more informative about where we will be and on which Drupal event we will go, we continued the month with… READ MORE
Categories: Drupal

Dries Buytaert: From imagination to (augmented) reality in 48 hours

1 June 2017 - 12:31am

Every spring, members of Acquia's Product, Engineering and DevOps teams gather at our Boston headquarters for "Build Week". Build Week gives our global team the opportunity to meet face-to-face, to discuss our product strategy and roadmap, to make plans, and to collaborate on projects.

One of the highlights of Build Week is our annual Hackathon; more than 20 teams of 4-8 people are given 48 hours to develop any project of their choosing. There are no restrictions on the technology or solutions that a team can utilize. Projects ranged from an Amazon Dash Button that spins up a new Acquia Cloud environment with one click, to a Drupal module that allows users to visually build page layouts, or a proposed security solution that would automate pen testing against Drupal sites.

This year's projects were judged on innovation, ship-ability, technical accomplishment and flair. The winning project, Lift HoloDeck, was particularly exciting because it showcases an ambitious digital experience that is possible with Acquia and Drupal today. The Lift Holodeck takes a physical experience and amplifies it with a digital one using augmented reality. The team built a mobile application that superimposes product information and smart notifications over real-life objects that are detected on a user's smartphone screen. It enables customers to interact with brands in new ways that improve a customer's experience.

At the hackathon, the Lift HoloDeck Team showed how augmented reality can change how both online and physical storefronts interact with their consumers. In their presentation, they followed a customer, Neil, as he used the mobile application to inform his purchases in a coffee shop and clothing store. When Neil entered his favorite coffee shop, he held up his phone to the posted “deal of the day”. The Lift HoloDeck application superimposes nutrition facts, directions on how to order, and product information on top of the beverage. Neil contemplated the nutrition facts before ordering his preferred drink through the Lift HoloDeck application. Shortly after, he received a notification that his order was ready for pick up. Because Acquia Lift is able to track Neil's click and purchase behavior, it is also possible for Acquia Lift to push personalized product information and offerings through the Lift HoloDeck application.

Check out the demo video, which showcases the Lift HoloDeck prototype:

The Lift HoloDeck prototype is exciting because it was built in less than 48 hours and uses technology that is commercially available today. The Lift HoloDeck experience was powered by Unity (a 3D game engine), Vuforia (an augmented reality library), Acquia Lift (a personalization engine) and Drupal as a content store.

The Lift HoloDeck prototype is a great example of how an organization can use Acquia and Drupal to support new user experiences and distribution platforms that engage customers in captivating ways. It's incredible to see our talented teams at Acquia develop such an innovative project in under 48 hours; especially one that could help reshape how customers interact with their favorite brands.

Congratulations to the entire Lift HoloDeck team; Ted Ottey, Robert Burden, Chris Nagy, Emily Feng, Neil O'Donnell, Stephen Smith, Roderik Muit, Rob Marchetti and Yuan Xie.

Categories: Drupal

Hook 42: Roping in TextWrangler

31 May 2017 - 3:53pm

As Hook 42's Community Evangelist, I frequently venture into the prairie of Drupal documentation. It's not quite the Wild Wild West, but having a solid text editor in my holster keeps me saddled up and ready to ride.

Since I don't venture too far off the ranch into programming, I don't really have the need for a heavy IDE (Integrated Development Environment). I just need a tool that works on my Mac, writes with no fancy characters, and has the ability to do some basic formatting. TextWrangler definitely keeps me from squatting on my spurs, and the best part - it's free!

Categories: Drupal

Lullabot: Running Behat Tests in a Vagrant Box

31 May 2017 - 9:01am

For a while now, Vagrant has been my local development environment of choice. It’s great for a lot of reasons but sometimes working in what is essentially a remote environment, has its challenges. One such challenge is running Behat Tests in a native browser like Chrome with Selenium.

Behat tests are the bee's knees. They are especially so when you can see your tests executed automatically in your desktop browser for easy debugging:

Videos require iframe browser support.

However, if you use Vagrant for local development you often lose the benefit of visualizing your test run because many off-the-shelf boxes you find on the internet are configured to run Behat tests using headless browsers like PhantomJS or headless Firefox with xvfb. It's certainly easier to get set up running your tests using PhantomJS, but it doesn’t have to be this way:

Videos require iframe browser support.

You can configure your Behat tests to run in your desktop browser so you can see everything. You can even get fancy and set breakpoints in your tests using an IDE like PHPStorm, halting the browser execution and giving you the opportunity to pop open Chrome dev tools or the like to really understand what’s going on during your test.

This article assumes a few things:

  • Local development environment using Vagrant for your Drupal site
  • Familiarity with Behat and Selenium
  • Chrome for running the tests

If you’re unfamiliar with Behat, Selenium and/or Vagrant, they are awesome, and you should check them out. Also, while we’re going to use Chrome here, you could use any browser supported by Selenium and your host operating system. Onwards.

Setup

There are a few things to get set up. Following is a diagram to help you understand the interaction between all the pieces as a way to visualize what you need:

undefined

The above diagram shows the test suite run by Behat (1) on the Vagrant box. Behat talks to the Selenium hub (2) server running on the Vagrant box, which talks to the Selenium node (3) server on the host machine. Finally, the Selenium node server is what drives Chrome (4) to execute the test suite. Not to worry if you don’t understand what these things do, we’ll get into that below.

To get started with the setup, first ensure that you have the Java Runtime Environment (JRE) installed on your host machine and in the Vagrant box, which is required to run Selenium. You may already have it installed, but can check with:

$ java -version

I’m running JRE 1.8. If you need to install or update, Google is your friend.

Next, you’ll need Selenium. It’s handy to download it into a shared folder between the host machine and the Vagrant box. The important thing is that it’s available on both the host machine and Vagrant box.

$ wget http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar

Finally, you’ll need Chrome driver on the host machine. For convenience move it somewhere on your PATH:

$ wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_mac64.zip $ unzip chromedriver_mac64.zip $ mv chromedriver /usr/local/bin Run tests

Now that you have all the software you need, it’s time to run the tests. First thing you’ll want to do is start Selenium server in hub mode in the Vagrant box:

$ java -jar /path/to/selenium/selenium-server-standalone-2.53.1.jar -role hub

Notice the -role hub option. This tells Selenium to run in hub mode. Running Selenium in hub mode allows Selenium to receive tests to be executed and forward them to any registered Selenium servers running in node mode. The Selenium server running in node mode is what controls the browser, driving the browser through the tests. In this way you can bridge the gap between the Vagrant box and the host machine, so that you can see the tests running in a browser on the host machine. You’ve already got the Selenium server in hub mode running on the Vagrant box. Now lets start a Selenium server in node mode on the host machine:

$ java -jar /path/to/selenium/selenium-server-standalone-2.53.1.jar -role node -hub http://my-vbox.local:4444/grid/register -Wdriver.chrome.driver=/path/to/chromedriver

Here, you’re telling Selenium to run in node mode, using the -role node option. You’re also registering the Selenium node with the Selenium hub running in your Vagrant box using the -hub http://my-vbox.local:4444/grid/register option. Replace my-vbox.local with the host name or IP address of your Vagrant box.

Next you’ll need to adjust your behat.yml file to register a Selenium Mink session, that points to the Selenium hub server running in the Vagrant box e.g.,

selenium2: wd_host: "http://my-vbox.local:4444/wd/hub"

So that your behat.yml file looks something like this:

default: suites: default: contexts: - FeatureContext - Drupal\DrupalExtension\Context\DrupalContext - Drupal\DrupalExtension\Context\MinkContext extensions: Behat\MinkExtension: goutte: ~ selenium2: wd_host: "http://my-vbox.local:4444/wd/hub" base_url: http://my-vbox.local browser_name: 'chrome' Drupal\DrupalExtension: blackbox: ~ api_driver: 'drupal' drush: alias: 'local' drupal: drupal_root: '/var/www/docroot'

With all that setup, you’re finally ready to run your tests. From your Vagrant box, run:

$ ./vendor/bin/behat -v -c /path/to/behat.yml /path/to/behat/features

If everything worked out, you’ll see Selenium open up a new instance of Chrome and drive it through the test suites:

Videos require iframe browser support. Further Reading

Behat
Behat Mink Extension
Mink Selenium 2 Driver
Selenium
Up and Running with Behat, Drupal, & Vagrant
Testing Your Drupal Site with Behat
simongrimes/vagrant-behat

Categories: Drupal

OSTraining: How to Use Tokens in Drupal Fields

31 May 2017 - 8:11am

Token is one of the 3 most popular modules in Drupal.

It allows you to use small placeholders to automatically complete tasks.

To take a simple example, if you put [site:name] on your site, it will be replaced by the actual name of your site. To take a more complicated example, you can use Token together with the Pathauto module to automatically create URL patterns for your whole site.

Categories: Drupal

ADCI Solutions: Webpack starter kit

31 May 2017 - 2:11am

A stable release of a Webpack starter kit! Remove its HTML processing to befriend it with Drupal and build a Drupal module or a theme easily.

Webpack starter kit is based on the following concepts:

  • dividing source code from compiled
  • separated production task
  • modularity
  • modern, future-proof technologies
  • linting (code style / syntax errors checking)
  • live reloading for browsers
  • dependencies through node modules (you can install libraries through NPM and import them in your styles/scripts)

Based on webpack and npm scripts, this kit lets you jump-start your project faster.

 

Free download. Find out more about this kit.

 

 

Categories: Drupal

OSTraining: Automatically Populate Drupal Fields From Other Content

31 May 2017 - 1:32am

One of our members wanted to automatically fill in Drupal fields from another node.

It took a little experimentation, but we managed to make it work using the Token, Token Filter and Entity Reference modules.

This technique works for nodes, but it should allow you to automatically popular field using data from users, comment or any other entity.

Before you begin, follow these steps to enable tokens in Drupal fields. You must allow tokens inside fields before this tutorial will work.

Categories: Drupal

Promet Source: 2017 Drupal Trends: What Digital Managers are Thinking About

30 May 2017 - 9:40pm
Managing the digital strategy for an organization interested in delivering ambitious digital experiences to its stakeholders is more than a full time job. The rate of change in digital shows no sign of slowing down soon. It’s all most of us can do to just keep up, let alone think ahead. To help with that, we’ve compiled a shortlist of some of the big issues that will be driving strategic digital decisions over the next year.  Very Responsive Design
Categories: Drupal

Colorfield: React and Drupal 8 with JSON API 2/3

30 May 2017 - 1:37pm
React and Drupal 8 with JSON API 2/3 christophe Tue, 30/05/2017 - 22:37 The first post of this serie focused on setting up easily a multilingual Drupal and React environment for a museum Audioguide web app. This one describes the steps to achieve a MVP that displays a list and a detail page of Audio contents, so we have the opportunity to cover several basic concepts under React : Components (add from a package repository, inherit, compose, create), Routes (default route and wildcard), Fetch to consume Rest, Localization via React Intl
Categories: Drupal

Drupalize.Me: Google Summer of Code 2017 Begins

30 May 2017 - 12:49pm
Categories: Drupal

Web Wash: Drupal 8 Debugging Techniques

30 May 2017 - 10:27am
You're not short on choice when it comes to debugging a Drupal website. You can install Devel and use Kint to print variables to the screen. Or you could use Web Profiler to add a toolbar at the bottom of your site to see how things are performing. If you're looking for a proper debugger look no further than Xdebug. It integrates with a lot of IDEs and text editors and I'd recommend you try it out if you've never used it. I recorded a webinar about Drupal 8 debugging which you can watch above.
Categories: Drupal

Jacob Rockowitz: Webform 8.x-5.x: Where Do We Come From? What Are We? Where Are We Going?

30 May 2017 - 8:47am

I love the title of the above Paul Gauguin painting - it’s three questions make you think about the past, present, and future. The Drupal community continually asks these questions as well. Personally, I feel Drupal is bigger than me and I’ve been more interested in listening to the dialog around these questions than entering the discussion. For two years I listened to the discussion about porting Webform to Drupal 8 before taking any action. My action resulted in the starting of a new module named YAML Form, which became Webform. My journey to building and maintaining the Webform module has gradually led me to start entering the "Drupal discussion".

And now, I want to discuss the past, present, and future of the Webform module.

Webform Past

For the past 10 years, Nate Haug (quicksketch) and fellow maintainers have done an amazing job building and maintaining the Webform 3.x and 4.x branch for Drupal 6 & 7. The ecosystem that grew from the Webform module is extensive with about 100 add-on modules.

Ten years ago, in the early days of Form API and before the Entity API, the Webform module provided its own subsystem for building and managing forms and submissions. The Webform module for Drupal 7 has a half a million installs and is the number 10 most-installed Drupal module. Simply put, the Webform module for Drupal 7 does its job and does it well.

With Drupal 8 and "getting off the island", which resulted in massive API changes, the Webform module was left floating out...Read More

Categories: Drupal

Sudhanshu Gautam | Blog: /kəˈmjuːnɪti/ 'Having a particular characteristic in common.'

30 May 2017 - 7:39am

I have often wondered what would the world look like without communities. Actually, to me, a 18yr old teenager diving into the vast ocean of life and experience, the very thought of it is terrifying. Some opinions are that there will be no tension, while some say that there will be no love. Me? Well, I guess it's better not to disturb the balance of life. Community is something that we all evolved into. Community is the underlying principle of human existence.

Now, let's dive out of this philosophical ocean of thoughts and look at some stuffs I did in the past month. I'd very much like to document it. P.S.: I'll still get wacky in between ;P

Drupal. Hmm, it's quite a familiar term to me now. But it has evolved into something much greater than just a tool I use to build websites for my freelance clients, it has become a family to me. A family with thousands of members. And to be honest, nobody knows me :P. But hey! That's how it works right? In large families? People from India can relate, I guess xD. Nobody knows the youngest member, yet he is assured that he will be supported when needed. So, I am that youngest great grand son of the community who is trying very hard to prove his caliber and commitment. And I am proud to be a part of the community.
Note: it shines the brightest on my resume. Special-mention: Google

Not more than a month ago, I was selected for Google Summer of Code 2017. For those of know who don't know what it is, please go here because I am really tired explaining to people what it means.
I was selected because people at Drupal and Google liked my project proposal. This was the first part of the competition and quite exciting in my case. I converted drafts into a proposal just 1 day before deadline, got it reviewed superfast and submitted it minutes before the deadline. It was quite thrilling. I was sweating that day (not to mention Indian summers) Special thanks to the mentors who took some time from their weekend and reviewed my proposal. It really did put smile on my face when you guys said that my proposal is good to go.
Tip to future students: Contact mentors minimum 20 days before the contest and discuss the project thoroughly. I guess, i was at a little fault on my behalf, being careless. And do contribute to the drupal issue queue regularly.

Getting to the main point, let me introduce to my community. Matthew Lechleider aka Slurpee, he's the principal. Jk, he is the org admin and oversees all the projects. Then we have my old friends gvso(mentor too :)) and Suryansh Singh aka Lord of Codes. And I discovered some amazingly new people this year namely Tameesh, Himanshu, Chiranjeev, Abhishek, Boby, Dibyajyoti and Marcin. And my two lovely mentors Marco aka marvil07 and Palash Vijay who will be guiding me through this summer and teaching me their 'ways' :D I look forward to a summer full of code and that to-do spirit. My mentors and I have agreed that we'll be communicating thrice a week on hongouts and will use Github and drupal.org collectively.

My project title is "Porting Vote Up/Down module to Drupal 8". Currently, it is available for Drupal 7 and since Drupal 8 is the latest version, I have to port it. Vote Up/Down is a module for Drupal which when installed on a Drupal site, provides the functionality of voting or several components.
Going technical, I have to change the deprecated APIs of the module to make it compatible with the latest version. Along with it, I have to change the module architecture a little by removing the previously existing sub modules.

So yeah, that about sums up my journey with Drupal and Google till now. Let's see how the future mends out to be. If you have any questions or views or anything, please let me know in the comments.

Thanks for tolerating this blogpost till the end. I bet, you are gonna change the world :P

Signing off,
Sudhanshu Gautam
http://sudhanshug.com

(I just love this sign off)

Tags: drupal
Categories: Drupal

heykarthikwithu: Drupal 8 - Form API, options we have in #states ?

30 May 2017 - 6:16am
Drupal 8 - Form API, options we have in #states ?

Drupal 8, Form API #states allow us to create form elements that change state (show, hide, enable, disable, etc.) depending on certain conditions

heykarthikwithu Tue, 05/30/2017 - 18:46
Categories: Drupal

Agiledrop.com Blog: AGILEDROP: DrupalCon sessions about Site Building

29 May 2017 - 7:32pm
Last time, we gathered together DrupalCon Baltimore sessions about Drupal Showcase. Before that, we explored the area of Coding and Development, Project Management and Case Studies. And that was not our last stop. This time, we looked at sessions that were presented in the area of Site Building. Beyond the Solr Eclipse - Building blazing fast Drupal 8 search with Solr and no code by Tanay Sai and Jayakrishnan Jayabal from Acquia In this session, the authors discussed Apachesolr - an open source search platform that can be easily integrated with Drupal 8. They did not write any code, so… READ MORE
Categories: Drupal

heykarthikwithu: Drupal 8 - Simple Redirect Module, Redirect from one url to another url.

27 May 2017 - 3:10am
Drupal 8 - Simple Redirect Module, Redirect from one url to another url.

This is a light weight Drupal 8 Module provide User to have Redirects in the Website.

heykarthikwithu Sat, 05/27/2017 - 15:40
Categories: Drupal

FFW Agency: Drupal 8 Migration: It’s All About The Data

26 May 2017 - 4:21pm
Drupal 8 Migration: It’s All About The Data Ray Saltini Fri, 05/26/2017 - 23:21

Last week we released our latest white paper, 4 Reasons to Fast Track Your Move to Drupal 8. In it we talk about Drupal 8’s APIs, the inevitability of digital transformation, the freedom to design anytime, its strong and stable codebase and just how easy it has become to migrate from earlier versions of Drupal and other platforms.

Today we focus on Drupal 8’s powerful APIs

100 Million Reasons to Fast Track Your Move to Drupal 8

We are in the midst of a data revolution. Every website, marketplace, phone and sensor on a machine and every wearable on your person is collecting data every minute of every day. Last year Google used 100 million gigabytes of disk space just to index an estimated 30 trillion surface web pages. The trend toward code as a commodity and data becoming the real currency of the digital economy started years ago. Today’s winners are organizations that can master the ability to effectively access, parse, target and distribute data. Doing so is both the great challenge and promise of the digital economy.

The most significant factor in the distribution and commercialization of data has been the reimagining of the API (Application Programming Interface) and their rapid proliferation. Modern APIs enable organizations to collect, compute and monetize data, pivot and build cost effective customer centered product and service iterations.

"2017 is the year APIs help complete the transformation of organizations into truly digital enterprises."    Tom Smith, Dec. 20, 2016, Integration Zone

As Smith writes in API Trends for 2017, APIs are no longer considered to be separate products and instead will form the core of a platform upon which new development will occur. 

Enter Drupal 8

With 30 pre-built APIs shipping with Drupal 8, they do indeed form the core of a powerful application building platform that can help organizations free their data from the limitations of the browser.

The fastest way to help you understand the advantages of Drupal 8’s API infrastructure is to begin with its core RESTful Web Services API.  REST in core includes all your favorite CRUD operations to create, read, update and delete content entities including the ability to read configuration entities. For more information read this detailed overview of web service solutions in Drupal 8 by Acquia CTO and Drupal founder Dries Buytaert. 

Like what you saw in core REST? Next take a serious look at the core Migrate API and its supporting core modules. You’ll find that upgrading from Drupal 6, Drupal 7 and even other platforms will help you design a clear and straight forward path to getting your data into Drupal 8 where you can begin to take advantage of it’s full range of API goodness. Visit this overview on upgrading from Drupal 6 or 7 to Drupal 8 for a step by step peak at the process. 

Links to all of Drupal 8’s core modules are provided below. Let us know what you think and download our new Drupal 8 Migration white paper for more information. 

 

Tagged with Comments
Categories: Drupal

Pages