Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 59 min 24 sec ago

Drupal Association News: Drupal at OSCON

6 June 2016 - 12:58pm

Drupal was at OSCON 2016 in Austin, TX, represented by a team of volunteers and Association staff members. Big thanks to Mika Aguilar, Stephanie El-Hajj, Michael Favia, Jeff Linwood, Michal Minecki, Emilie Nouveau, Cole Pacak, Jakob Perry, Ed Reel, Patricia Silva, and Jason Yee for helping out.

Thanks to the media partnership between DrupalCon and O'Reilly Media, we received a table in the exhibit hall to promote Drupal to the wider open source audience of OSCON. Here is how the days went, according to our volunteer crew:

It was great to meet so many Drupalistas in the Texas open source community and let them know about local meetups and the Texas Drupal Camp being planned. Everyone that came through was excited to talk about Drupal 8 and how they’re using it. And so many stickers were handed out!

— Emilie Nouveau (DyanneNova)

I’m excited to see OSCON come back to Austin next year. I attended the last two years in Portland and was happy to see it follow me to Austin. Lots of people stopped by the Drupal booth - many who had once used or installed Drupal, and then wandered away. They were surprised (and I think excited?) to hear about Drupal 8! It was a great opportunity to showcase Drupal 8’s new, modern features and functionality.

If I had to pick a favorite after-hours event, it’d have to be PayPal’s (old) Ghostbusters screening at the Alamo. You haven’t experienced the local scene until you’ve waved white and red glow sticks at a screen with a hundred fellow nerds to mime the Proton Blaster energy ray at the Alamo. And adult milkshakes.

— Stephanie El Hajj (stephelhajj)

The best part was meeting some new PHP developers right out of school who had learned development, but weren’t sure exactly what Drupal was, or how it could help them start their careers. This was a great opportunity to tell them about Drupal 8 and modern PHP web development using Symfony.

— Jeff Linwood (jefflinwood)

Keep up with events we are planning by following our newsletter.

 

Personal blog tags: OSCON
Categories: Drupal

DrupalCon News: Registration is open for DrupalCon Dublin

6 June 2016 - 11:10am

If you’ve been dreaming about DrupalCon Dublin, we’ve got some great news. Registration is open, so it’s time to purchase your ticket.

Buy your ticket before the earlybird pricing expires on 25 July, and save yourself (or your company) some money. Plus, the sooner you purchase your ticket (and reserve your official hotel room), the better our team can plan for you. It helps us know how many attendees to plan for, and it funds our budget for meals and refreshments sooner, which means better food and coffee.

Categories: Drupal

FFW Agency: Go Camping with Drupal This Summer

6 June 2016 - 9:21am
Go Camping with Drupal This Summer Ray Saltini Mon, 06/06/2016 - 16:21

Why spend all your time at the beach when you can be learning even more about Drupal. Here are just a few of the camps our staff will be participating in this summer. We hope to see you there.

DrupalNorth

Drupal North in Montreal June 16 - 19 is a great regional event. FFW Manager of Learning and Contributions David Hernandez is presenting Managing CSS and JavaScript files in Drupal 8 with Libraries

GovCon

Join us at GovCon in Bethesda July 20-22 where we’re sponsoring a full day training with Drupal Console author and FFW Drupal 8 Solutions Engineer Jesus Olivas on Building Custom Drupal 8 features and modules.  FFW Center of Excellence Director Ray Saltini and FFW Manager of Learning and Contributions David Hernandez will be there presenting on Personalization Strategies for Government Websites and Managing CSS and JavaScript files in Drupal 8 with Libraries

NYC Camp

NYC Camp is back at the United Nations this year July 8  - 11. There’s too much learning going on to list it all here. Make sure you catch FFW Center of Excellence Director Ray Saltini’s presentation Radical Digital Transformation or Die

Twin Cities Drupal Camp

FFW Drupal 8 Solutions Engineer and Drupal Console project lead Jesus Olivas is giving a full day training at Twin Cities June 16 - 19 on Drupal 8 Module Building and presenting Improving Your Drupal 8 Development Workflow. Make sure you catch him and FFW Developer Tess Flynn who’s presenting Ride the Whale! Docker for Drupalists.

Tagged with Comments
Categories: Drupal

Dries Buytaert: Gotthard tunnel website using Drupal

6 June 2016 - 9:17am

The Gotthard Base Tunnel, under construction for the last 17 years, was officially opened last week. This is the world's longest and deepest railroad tunnel, spanning 57 kilometers from Erstfeld to Bolio, Switzerland, underneath the Swiss Alps. To celebrate its opening, Switzerland also launched a multi-lingual multimedia website to celebrate the project's completion. I was excited to see they chose to build their site on Drupal 8! The site is a fitting digital tribute to an incredible project and launch event. Congratulations to the Gotthard Base Tunnel team!

Categories: Drupal

Four Kitchens: Launch Announcement: WOOD Magazine

6 June 2016 - 9:14am

We’re pleased to announce the site launch of woodmagazine.com, the online presence of WOOD Magazine, “The World’s Leading Woodworking Resource.” The new site includes online-only content, free downloadable plans for home woodworking projects, an index of articles in the print magazine, community forums, and subscription management.

Categories: Drupal

Dries Buytaert: Advancing Drupal's web services

6 June 2016 - 12:24am

In an earlier blog post, I looked at the web services solutions available in Drupal 8 and compared their strengths and weaknesses. That blog post was intended to help developers choose between different solutions when building Drupal 8 sites. In this blog post, I want to talk about how to advance Drupal's web services beyond Drupal 8.1 for the benefit of Drupal core contributors, module creators and technical decision-makers.

I believe it is really important to continue advancing Drupal's web services support. There are powerful market trends that oblige us to keep focused on this: integration with diverse systems having their own APIs, the proliferation of new devices, the expanding Internet of Things (IoT), and the widening adoption of JavaScript frameworks. All of these depend to some degree on robust web services.

Moreover, newer headless content-as-a-service solutions (e.g. Contentful, Prismic.io, Backand and CloudCMS) have entered the market and represent a widening interest in content repositories enabling more flexible content delivery. They provide content modeling tools, easy-to-use tools to construct REST APIs, and SDKs for different programming languages and client-side frameworks.

In my view, we need to do the following, which I summarize in each of the following sections: (1) facilitate a single robust REST module in core; (2) add functionality to help web services modules more easily query and manipulate Drupal's entity graph; (3) incorporate GraphQL and JSON API out of the box; and (4) add SDKs enabling easy integration with Drupal. Though I shared some of this in my DrupalCon New Orleans keynote, I wanted to provide more details in this blog post. I'm hoping to discuss this and revise it based on feedback from you.

One great REST module in core

While core REST can be enabled with only a few configuration changes, the full extent of possibilities in Drupal is only unlocked either when leveraging modules which add to or work alongside core REST's functionality, such as Services or RELAXed, or when augmenting core REST's capabilities with additional resources to interact with (by providing corresponding plugins) or using other custom code.

Having such disparate REST modules complicates the experience. These REST modules have overlapping or conflicting feature sets, which are shown in the following table.

Feature Core REST RELAXed Services Ideal core REST Content entity CRUD Yes Yes Yes Yes Configuration entity CRUD Create resource plugin (issue) Create resource plugin Yes Yes Custom resources Create resource plugin Create resource plugin Create Services plugin Possible without code Custom routes Create resource plugin or Views REST export (GET) Create resource plugin Configurable route prefixes Possible without code Translations Not yet (issue) Yes Create Services plugin Yes Revisions Create resource plugin Yes Create Services plugin Yes File attachments Create resource plugin Yes Create Services plugin Yes Authenticated user resources (log in/out, password reset) Not yet (issue) No User login and logout Yes

I would like to see a convergence where all of these can be achieved in Drupal core with minimal configuration and minimal code.

Working with Drupal's entity graph

Recently, a discussion at DrupalCon New Orleans with key contributors to the core REST modules, maintainers of important contributed web services modules, and external observers led to a proposed path forward for all of Drupal's web services.

A visual example of an entity graph in Drupal.

Buried inside Drupal is an "entity graph" over which different API approaches like traditional REST, JSON API, and GraphQL can be layered. These varied approaches all traverse and manipulate Drupal's entity graph, with differences solely in the syntax and features made possible by that syntax. Unlike core's REST API which only returns a single level (single entity or lists of entities), GraphQL and JSON API can return multiple levels of nested entities as the result of a single query. To better understand what this means, have a look at the GraphQL demo video I shared in my DrupalCon Barcelona keynote.

What we concluded at DrupalCon New Orleans is that Drupal's GraphQL and JSON API implementations require a substantial amount of custom code to traverse and manipulate Drupal's entity graph, that there was a lot of duplication in that code, and that there is an opportunity to provide more flexibility and simplicity. Therefore, it was agreed that we should first focus on building an "entity graph iterator" that can be reused by JSON API, GraphQL, and other modules.

This entity graph iterator would also enable manipulation of the graph, e.g. for aliasing fields in the graph or simplifying the structure. For example, the difference between Drupal's "base fields" and "configured fields" is irrelevant to an application developer using Drupal's web services API, but Drupal's responses leak this internal distinction by prefixing configured fields with field_ (see the left column in the table below). By the same token, all fields, even if they carry single values, expose the verbosity of Drupal's typed data system by being presented as arrays (see the left column in the table below). While there are both advantages and disadvantages to exposing single-value fields as arrays, many developers prefer more control over the output or the ability to opt into simpler outputs.

A good Drupal entity graph iterator would simplify the development of Drupal web service APIs, provide more flexibility over naming and structure, and eliminate duplicate code.

Current core REST (shortened response) Ideal core REST (shortened response) { "nid": [ { "value": "2" } ], "title": [ { "value": "Lorem ipsum" } ], "field_product_number": [ { "value": "35" } ], "field_image": [ { "target_id": "2", "alt": "Image", "title": "Hover text", "width": "210", "height": "281", "url": "http://site.com/x.jpg" } ] } { "nid": "2" "title": "Lorem ipsum", "product_number": { "value": 35 }, "image": { "target_id": 2, "alt": "Image", "title": "Hover text", "width": 210, "height": 281, "url": "http://site.com/x.jpg" } } GraphQL and JSON API in core

We should acknowledge simultaneously that the wider JavaScript community is beginning to embrace different approaches, like JSON API and GraphQL, which both enable complex relational queries that require fewer requests between Drupal and the client (thanks to the ability to follow relationships, as mentioned in the section concerning the entity graph).

While both JSON API and GraphQL are preferred over traditional REST due to their ability to provide nested entity relationships, GraphQL goes a step further than JSON API by facilitating explicitly client-driven queries, in which the client dictates its data requirements.

I believe that GraphQL and JSON API in core would be a big win for those building decoupled applications with Drupal, and these modules can use existing foundations in Drupal 8 such as the Serialization module. Furthermore, Drupal's own built-in JavaScript-driven UIs could benefit tremendously from GraphQL and JSON API. I'd love to see them in core rather than as contributed modules, as we could leverage them when building decoupled applications backed by Drupal or exchanging data with other server-side implementations. We could also "eat our own dog food" by using them to power JavaScript-driven UIs for block placement, media management, and other administrative interfaces. I can even see a future where Views and GraphQL are closely integrated.

A comparison of different API approaches for Drupal 8, with amended and simplified payloads for illustrative purposes.

SDKs to consume web services

While a unified REST API and support for GraphQL and JSON API would dramatically improve Drupal as a web services back end, we need to be attentive to the needs of consumers of those web services as well by providing SDKs and helper libraries for developers new to Drupal.

An SDK could make it easy to retrieve an article node, modify a field, and send it back without having to learn the details of Drupal's particular REST API implementation or the structure of Drupal's underlying data storage. For example, this would allow front-end developers to not have to deal with the details of single- versus multi-value fields, optional vs required fields, validation errors, and so on. As an additional example, incorporating user account creation and password change requests into decoupled applications would empower front-end developers building these forms on a decoupled front end such that they would not need to know anything about how Drupal performs user authentication.

As starting points for JavaScript applications, native mobile applications, and even other back-end applications, these SDKs could handle authenticating against the API and juggling of the correct routes to resources without the front-end developer needing an understanding of those nuances.

In fact, at Acquia we're now in the early stages of building the first of several SDKs for consuming and manipulating data via Drupal 8's REST API. Hydrant, a new generic helper library intended for JavaScript developers building applications backed by Drupal, is the work of Acquia's Matt Grill and Preston So, and it is already seeing community contributions. We're eager to share our work more widely and welcome new contributors.

Conclusion

I believe that it is important to have first-class web services in Drupal out of the box in order to enable top-notch APIs and continue our evolution to become API-first.

In parallel with our ongoing work on shoring up our REST module in core, we should provide the underpinnings for even richer web services solutions in the future. With reusable helper functionality that operates on Drupal's entity graph available in core, we open the door to GraphQL, JSON API, and even our current core REST implementation eventually relying on the same robust foundation. Both GraphQL and JSON API could also be promising modules in core. Last but not least, SDKs like Hydrant that empower developers to work with Drupal without learning its complexities will further advance our web services.

Collectively, these tracks of work will make Drupal uniquely compelling for application developers within our own community and well beyond.

Special thanks to Preston So for contributions to this blog post and to Moshe Weitzman, Kyle Browning, Kris Vanderwater, Wim Leers, Sebastian Siemssen, Tim Millwood, Ted Bowman, and Mateu Aguiló Bosch for their feedback during its writing.

Categories: Drupal

KnackForge: Review of Drupal professional themes

5 June 2016 - 10:34pm
Review of Drupal professional themes

DropThemes.in is one among the best Drupal professional theme selling sites. With decades of free theme and quality of paid themes, DropThemes.in has got its own place in the list professional theme selling sites. All our themes are Responsive and catered specifically for Drupal sites. A good theme gives your website a distinct feel that sends out a positive impression to your visitors. In this post, we would like to review the top themes on DropThemes.in to help you select the best.

Vamsi Mon, 06/06/2016 - 11:04
Categories: Drupal

Jeff Geerling's Blog: Speeding up Composer-based Drupal installation

5 June 2016 - 8:07pm

Drupal VM is one of the most flexible and powerful local development environments for Drupal, but one the main goals of the project is to build a fully-functional Drupal 8 site quickly and easily without doing much setup work. The ideal would be to install Vagrant, clone or download the project, then run vagrant up. A few minutes later, you'd have a Drupal 8 site ready for hacking on!

In the past, you always had to do a couple extra steps in between, configuring a drupal.make.yml file and a config.yml file. Recently, thanks in huge part to Oskar Schöldström's herculean efforts, we achieved that ideal by switching from defaulting to a Drush make-based workflow to a Composer-based workflow (this will come in the 3.1.0 release, very soon!). But it wasn't without trial and tribulation!

Categories: Drupal

Bear Coder: 4 Steps To Getting Drupal's Codebase With PHP

4 June 2016 - 9:00am
4 Steps To Getting Drupal's Codebase With PHP BearCoder Sat, 06/04/2016 - 11:00
Categories: Drupal

DrupalEasy: Drupal 8 Debugging: Kareful Klicking in Kint

4 June 2016 - 8:14am

Drupal 8's new theming system is a thing of beauty. As part of the massive changes to the Drupal 8 (front- and back-end) developer experience, the Devel module for Drupal 8 comes with a new variable inspector. Say goodbye to Krumo, and say hello to Kint. Like its predecessor, when you install the Devel project on a Drupal 8 local environment, you automatically get the Kint module as well (like Krumo, there are no additional downloads). Using Kint is similar to using Krumo, where in Drupal 7, any dsm($variable_name) or dpm($variable_name) call automatically used Krumo to display variables on the page in a way that made it easy(ier?) to dive into the many Drupal PHP arrays and objects. In Drupal 8, kint($variable_name) can be used to output any variable - this works in template files as well via {{ kint(variable_name) }}.

It took me a few weeks to get comfortable with Kint, mainly due to one small interface thing; clicking on the "+" icon in a Kint output recursively opens all the arrays and objects. Depending on the variable you're Kint-ing, this could result in a lot of output to sort through (and, depending on your machine, browser, and site configuration, it could take more than a few seconds to fully render).

After a few weeks of instinctively (and incorrectly) clicking on the "+ button every time I used Kint, I've now retrained myself to utilize it in a much more efficient manner.

  1. I almost never click on the "+" anymore. Rather, I click output anywhere other than the "+" to open just that portion of the output.

  2. I download and install the Search Kint module whenever I download and install the Devel module for a local environment. This provides an almost-too-convenient-to-believe search box with each Kint output that makes finding things almost trivial.

Using Kint efficiently is one of the skills that every Drupal 8 developer should have. Combined with an interactive debugger, there's virtually nothing that can't be easily discovered when a developer can wield both of these tools.

Learn more about Drupal 8 module and theme development debugging by attending a DrupalEasy workshop!

Categories: Drupal

ActiveLAMP: Drupal 7 vs Drupal 8

3 June 2016 - 8:01pm

Which version of Drupal should you build your site on, Drupal 7 or Drupal 8? This question comes up quite frequently, and for good reason! Your website is an investment and could be serving you for the next 3-5 years. It’s important to weigh the pros and cons of choosing to build on Drupal 7 or Drupal 8. If you’re thinking about building your new site on Drupal 7, you need to watch this video first. Drupal 7 adoption is going down, with Drupal 8 adoption going up. Drupal 8 should hit critical mass by the end of 2016.

Read more...
Categories: Drupal

Glassdimly tech Blog: Add Drupal 7 Flag/Unflag Links to View for All Available Actions

3 June 2016 - 1:55pm

The view relationship for Flag module only allows you to set a single flag type as a target, which means only one flag type is available on a views row.

My specific use case is adding flag/unflag links to the /admin/content page which I've replaced by a view with the Admin Views module. I ended up digging around quite a bit through Flag module's source code to pop this one out.

Categories: Drupal

InternetDevels: May 2016 collection: some great contributed modules for Drupal 8

3 June 2016 - 7:28am

Drupal 8, the newest CMF version with lots of innovations we told you about (in Part 1 and Part 2), has been around for half a year now. The tireless community members keep working every day on making it better.

Read more
Categories: Drupal

Third & Grove: Using a Drupal Ajax Form with Varnish HTTP Cache

3 June 2016 - 7:00am
Using a Drupal Ajax Form with Varnish HTTP Cache john Fri, 06/03/2016 - 10:00
Categories: Drupal

Evolving Web: Custom Views Sort Plugin for Upcoming Events

3 June 2016 - 6:59am

This week, our client came up with a seemingly simple request that turned out not so simple: When listing events, they want to show upcoming events before past ones. Not only that, they also want events nearest the current day to show up first. But with a bit of thinking and a custom views sort plugin, this turned out quite easy!

read more
Categories: Drupal

ActiveLAMP: Writing custom fields in Drupal 8 - Part 1

2 June 2016 - 7:00pm

Creating custom fields for Drupal 8 are easy to create and can get great results paired with the paragraphs module.

Read more...
Categories: Drupal

Lullabot: Drupal and the Open Web with Josh Koenig

2 June 2016 - 1:00pm
Matt and Mike sit down with Pantheon's Josh Koenig to talk about the open web and the future of the web.
Categories: Drupal

Dries Buytaert: Demandware acquisition heating up the customer experience market

2 June 2016 - 11:02am

The battle for the marketing cloud just got way more interesting. This week, Salesforce announced its acquisition of Demandware for $2.8B in cash. It will enable Salesforce to offer a "Commerce Cloud" alongside its sales and marketing solutions.

The large platform companies like Oracle and Adobe are trying to own the digital customer experience market from top to bottom by acquiring and integrating together tools for marketing, commerce, customer support, analytics, mobile apps, and more. Oracle's acquisition of Eloqua, SAP's acquisition of hybris and Salesforce's acquisitions of ExactTarget were earlier indicators of market players consolidating SaaS apps for customer experience onto their platforms.

In my view, the Demandware acquisition is an interesting strategic move for Salesforce that aligns them more closely as a competitor to marketing stack mega-vendors such as Adobe, Oracle and IBM. Adding a commerce solution to its suite, makes it easier for Salesforce's customers to build an integrated experience and see what their customers are buying. There are advantages to integrated solutions that have a single system of record about the customer. The Demandware acquisition also makes sense from a technology point of view; there just aren't many Java-based commerce platforms that are purely SaaS-based, that can operate at scale, and that are for sale.

However, we've also seen this movie before. When big companies acquire smaller, innovative companies, over time the innovation goes away in favor of integration. Big companies can't innovate fast enough, and the suite lock-in only benefits the vendor.

There is a really strong case to be made for a best-of-breed approach where you choose and integrate the best software from different vendors. This is a market that literally changes too much and too fast for any organization to buy into a single mega-platform. From my experience talking to hundreds of customer organizations, most prefer an open platform that integrates different solutions and acts as an orchestration hub. An open platform ultimately presents more freedom for customers to build the exact experiences they want. Open Source solutions, like Drupal, that have thousands of integrations, allow organizations to build these experiences in less time, with a lower overall total cost of ownership, more flexibility and faster innovation.

Adobe clearly missed out on buying Demandware, after it missed out on buying Hybris years ago. Demandware would have fit in Adobe's strategy and technology stack. Now Adobe might be the only mega-platform that doesn't have an embedded commerce capability. More interestingly, there don't appear to be large independent commerce operators left to buy.

I continue to believe there is a great opportunity for new independent commerce platforms, especially now Salesforce and Demandware will spend the next year or two figuring out the inevitable challenges of integrating their complex software solutions. I'd love to see more commerce platforms emerge, especially those with a modern micro-services based architecture, and an Open Source license and innovation model.

Categories: Drupal

ImageX Media: 5 Headline Tricks to Improve Click-Through-Rates

2 June 2016 - 10:50am

Digital readers skim and scan web text. You can search for numerous research papers and articles on the topic including this one by the Washington Post “Serious reading takes a hit from online scanning and skimming, researchers say.” When I first read the article, I became accutely aware of my own "web reading" behavior. I started by reading the first sentence.

Categories: Drupal

ImageX Media: ImageX Announces the Launch of OpenEDU to Drupal.org

2 June 2016 - 10:38am

Vancouver, BC (PRWEB) June 01, 2016

ImageX is pleased to announce the launch of OpenEDU, a modular Drupal-based website framework built for higher education institutions. Developed over the past five years, and based on the learnings from dozens of higher education web development projects by ImageX, OpenEDU is now available for free download through http://www.drupal.org.

Categories: Drupal

Pages