سیاره دروپال

Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to خوراک سیاره دروپال
GSoC 17 | Community bonding wrap-up sudhanshu Fri, 06/02/2017 - 10:00

Did you know Drupal was accepted into Google Summer of Code 2017 and that Drupal selected 8 projects? In other words, Google is funding 8 people to contribute to Drupal for 10 weeks worth ~$40,000 USD (thank you Google!). Congratulations to selected students who collectively became one of the top 20 contributing organizations on drupal.org (list @ https://www.drupal.org/organizations). Proud to note that all GSoC 2017 students have already become core contributors!

Majority of projects are focused on work related to Drupal 8 contributed modules. Drupal's students are all from Indian except one student from the UK, we currently have 15 mentors from 10 countries with over 100 years of experience on drupal.org. As always, we're excited about this summer and we hope community members will provide an extra helping hand if you see students in issue queues. GSoC runs from May 30th through August 21st 2017. Learn more about our projects below.

Project: A Module for client-side File encryption to implement a zero-knowledge system
Student: Tameesh Biswas “tameeshb” (India)
Mentors: Colan Schwartz “colan” (Canada), Adam Bergstein “nerdstein” (USA), Talha Paracha “talhaparacha” (Pakistan)

Project: Adding support for Theleague oauth and new implementers for social auth and social post
Student: Himanshu Dixit “himanshu-dixit” (India)
Mentors: Getulio Sánchez “gvso” (Paraguay), Daniel Harris “dahacouk” (UK)

Project: Client-side public-key encryption module for Drupal 8
Student: Marcin Czarnecki “marncz” (UK)
Mentors: Colan Schwartz “colan” (Canada), Adam Bergstein “nerdstein” (USA), Talha Paracha “talhaparacha” (Pakistan)

Project: Complete porting of Examples for Developers Sub-modules to D8
Student: Abhishek Lal “AbhishekLal” (India)
Mentors:  Navneet Singh “navneet0693” (India), Vaibhav Jain “vaibhavjain” (India)

Project: Creating a great geospatial experience in Drupal 8 by porting and enhancing the Search_Api_Location module
Student: Dibyajyoti Panda “dbjpanda” (India)
Mentors: Nick Veenhof “Nick_vh” (Belgium), Thomas Seidl “drunken monkey” (Austria), Joris Vercamen “borisson_” (Belgium)

Project: Port "Vote up/down" module to Drupal 8
Student: Sudhanshu Gautam “sudhanshug” (India)
Mentors: Marco Villegas “marvil07” (Peru), Palash Vijay “palashvijay4O” (India)

Project: Integrate Google Cloud Machine Learning Engine to Drupal 8
Student: boby aloysius johnson “boaloysius” (India)
Mentors: Jingsheng Wang “skyredwang” (China), Naveen Valecha “naveenvalecha” (India)

Project: Port Uc wishlist module to Drupal 8
Student: Chiranjeeb Mahanta “chiranjeeb2410” (India)
Mentors: Naveen Valecha “naveenvalecha” (India)

Find us on IRC in #drupal-google to join the fun. Interested in mentoring or have questions about this initiative? Contact Drupal's Organization Admin "Slurpee" (USA) with any questions.

This is Part 2 of 2 of my Drupal vs Adobe Experience Manager (AEM) blog post. In the first part, I've compared the two from the perspectives of content authoring, marketing, and business. In this part, I look at the two from an IT and community perspective. I also need to repeat my disclaimer that I'm a long-time Drupalist, but in this blog post I endeavor to be even-minded and objective.

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

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

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.

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

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.

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!

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.


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:


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 Mink Extension
Mink Selenium 2 Driver
Up and Running with Behat, Drupal, & Vagrant
Testing Your Drupal Site with Behat

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.

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.



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.

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
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
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.

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

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

(I just love this sign off)

Tags: drupal
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

آخرین ارسال ها

محتواهای محبوب

درباره ما

اینجا دروپال یعنی همه چیز. در مورد دروپال صحبت میکنیم. ماژول هامون رو به اشتراک میزاریم در مورد قالب دروپال ، فروشگاه دروپال، دروپال فارسی و تاریخ شمسی دروپال صحبت میکنیم و هرچیزی که در مورد طراحی سایت با دروپال میدونیم به هم انتقال میدیم. دروپالیون یک سایت شخصی نیست. ما دست همه کسانی که برای پیشرفت دروپال تلاش میکنند رو میفشاریم و با آغوش باز اونها رو در این سایت میپذیریم.

تماس با ما

با ما تماس بگیرید.