Drupal

Electric Citizen: Drupal 8 DevOps: Automation for happier teams and clients

Planet Drupal - 14 November 2017 - 7:10pm

How the DevOps movement is pointing the way forward to higher quality Drupal projects, faster delivery, happier team members, and satisfied clients for projects of any scale

Over the past several years, the best practices surrounding Drupal DevOps have expanded and improved, including continuous integration, continuous delivery, continuous deployment, and automated testing. In turn more organizations are discovering the benefits of these automated tools and deployment methods:

  • Faster development – developers can deliver more work in less time and reduce project costs (or deliver more work for the same budget)
  • Higher quality – with repeatable builds and automated tests against live production content for every change we reduces stress and uncertainty surrounding deployments of new features and bug fixes
  • Transparent development cycles – frequent builds mean any team member can check on the progress of any task at any time
  • Better collaboration – team members and stakeholders can focus on the features that matter instead of collaborating over the mundane details of builds and deploys

Whether a site is under active development or already in production, these benefits result in less stress, higher quality projects, happier developers, and satisfied stakeholders.

Categories: Drupal

Dries Buytaert: An update on the Layout Initiative for Drupal 8.4/8.5

Planet Drupal - 14 November 2017 - 6:57pm

Now Drupal 8.4 is released, and Drupal 8.5 development is underway, it is a good time to give an update on what is happening with Drupal's Layout Initiative.

8.4: Stable versions of layout functionality

Traditionally, site builders have used one of two layout solutions in Drupal: Panelizer and Panels. Both are contributed modules outside of Drupal core, and both achieved stable releases in the middle of 2017. Given the popularity of these modules, having stable releases closed a major functionality gap that prevented people from building sites with Drupal 8.

8.4: A Layout API in core

The Layout Discovery module added in Drupal 8.3 core has now been marked stable. This module adds a Layout API to core. Both the aforementioned Panelizer and Panels modules have already adopted the new Layout API with their 8.4 release. A unified Layout API in core eliminates fragmentation and encourages collaboration.

8.5+: A Layout Builder in core

Today, Drupal's layout management solutions exist as contributed modules. Because creating and building layouts is expected to be out-of-the-box functionality, we're working towards adding layout building capabilities to Drupal core.

Using the Layout Builder, you start by selecting predefined layouts for different sections of the page, and then populate those layouts with one or more blocks. I showed the Layout Builder in my DrupalCon Vienna keynote and it was really well received:

8.5+: Use the new Layout Builder UI for the Field Layout module

One of the nice improvements that went in Drupal 8.3 was the Field Layout module, which provides the ability to apply pre-defined layouts to what we call "entity displays". Instead of applying layouts to individual pages, you can apply layouts to types of content regardless of what page they are displayed on. For example, you can create a content type 'Recipe' and visually lay out the different fields that make up a recipe. Because the layout is associated with the recipe rather than with a specific page, recipes will be laid out consistently across your website regardless of what page they are shown on.

The basic functionality is already included in Drupal core as part of the experimental Fields Layout module. The goal for Drupal 8.5 is to stabilize the Fields Layout module, and to improve its user experience by using the new Layout Builder. Eventually, designing the layout for a recipe could look like this:

Closing thoughts

Layouts remains a strategic priority for Drupal 8 as it was the second most important site builder priority identified in my 2016 State of Drupal survey, right behind Migrations. I'm excited to see the work already accomplished by the Layout team, and look forward to seeing their progress in Drupal 8.5! If you want to help, check out the Layout Initiative roadmap.

Special thanks to Angie Byron for contributions to this blog post, to Tim Plunkett and Kris Vanderwater for their feedback during the writing process, and to Emilie Nouveau for the screenshot and video contributions.

Categories: Drupal

An update on the Layout Initiative for Drupal 8.4/8.5

Dries Buytaert - 14 November 2017 - 6:57pm

Now Drupal 8.4 is released, and Drupal 8.5 development is underway, it is a good time to give an update on what is happening with Drupal's Layout Initiative.

8.4: Stable versions of layout functionality

Traditionally, site builders have used one of two layout solutions in Drupal: Panelizer and Panels. Both are contributed modules outside of Drupal core, and both achieved stable releases in the middle of 2017. Given the popularity of these modules, having stable releases closed a major functionality gap that prevented people from building sites with Drupal 8.

8.4: A Layout API in core

The Layout Discovery module added in Drupal 8.3 core has now been marked stable. This module adds a Layout API to core. Both the aforementioned Panelizer and Panels modules have already adopted the new Layout API with their 8.4 release. A unified Layout API in core eliminates fragmentation and encourages collaboration.

8.5+: A Layout Builder in core

Today, Drupal's layout management solutions exist as contributed modules. Because creating and building layouts is expected to be out-of-the-box functionality, we're working towards adding layout building capabilities to Drupal core.

Using the Layout Builder, you start by selecting predefined layouts for different sections of the page, and then populate those layouts with one or more blocks. I showed the Layout Builder in my DrupalCon Vienna keynote and it was really well received:

8.5+: Use the new Layout Builder UI for the Field Layout module

One of the nice improvements that went in Drupal 8.3 was the Field Layout module, which provides the ability to apply pre-defined layouts to what we call "entity displays". Instead of applying layouts to individual pages, you can apply layouts to types of content regardless of what page they are displayed on. For example, you can create a content type 'Recipe' and visually lay out the different fields that make up a recipe. Because the layout is associated with the recipe rather than with a specific page, recipes will be laid out consistently across your website regardless of what page they are shown on.

The basic functionality is already included in Drupal core as part of the experimental Fields Layout module. The goal for Drupal 8.5 is to stabilize the Fields Layout module, and to improve its user experience by using the new Layout Builder. Eventually, designing the layout for a recipe could look like this:

Layouts remains a strategic priority for Drupal 8 as it was the second most important site builder priority identified in my 2016 State of Drupal survey, right behind Migrations. I'm excited to see the work already accomplished by the Layout team, and look forward to seeing their progress in Drupal 8.5! If you want to help, check out the Layout Initiative roadmap.

Special thanks to Angie Byron for contributions to this blog post, to Tim Plunkett and Kris Vanderwater for their feedback during the writing process, and to Emilie Nouveau for the screenshot and video contributions.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Hosting services specialised for Drupal

Planet Drupal - 14 November 2017 - 5:20pm
Drupal works on most hosting providers that support PHP, MySql and related technologies. However, I would not recommend using a general shared hosting solution to anyone. At AGILEDROP we have two practices: either we set up a bespoke hosting environment or deploy websites to hosting platforms that are specialized in Drupal. Why specialization matters? We like to work with companies that have specialized in hosting Drupal web applications.  Specialised companies provide: Best results. If hosting companies are specialized in one technology, they are are going to do that best because they… READ MORE
Categories: Drupal

Views Dynamic Title

New Drupal Modules - 14 November 2017 - 2:53pm

Views Dynamic Title modifies every View page (and its route title) in response to exposed filter values and pagination. This gives a unique title for a given set of query arguments, helping to establish context for e.g., visually impaired users.

Categories: Drupal

BCubed

New Drupal Modules - 14 November 2017 - 1:09pm

BCubed is a platform which helps publishers to get more from their advertising. With BCubed, you can:

Measure AdBlocker Statistics

Find out how much of your traffic is blocking ads and impacting revenue.

Interact with Users

Highlight a page element for selected users, request users to disable AdBlockers, or even prevent users with AdBlockers from accessing your site.

Replace Blocked Ads

BCubed is capable of serving non-intrusive, useful and high quality ads into blocked pages from the BCubed network. Reclaim revenue lost to AdBlockers.

Categories: Drupal

Commerce Saman Gateway

New Drupal Modules - 14 November 2017 - 12:31pm

درگاه پرداخت بانک سامان برای کامرس دروپال 8

Saman Bank is one of the most common banks in Iran which lots of Iranian commerce shops have implemented this gateway for their web sites. This is the first time which Saman Bank gateway is implemented for Drupal 8.

** Sponsored and maintained by Meshkinsoft **

Categories: Drupal

Lightning API

New Drupal Modules - 14 November 2017 - 12:28pm

DO NOT USE. This project will be included in a future release of the Lightning Profile.

Categories: Drupal

Lightning Layout

New Drupal Modules - 14 November 2017 - 12:27pm

DO NOT USE. This project will be included in a future release of the Lightning Profile.

Categories: Drupal

Lightning Workflow

New Drupal Modules - 14 November 2017 - 12:26pm
Categories: Drupal

Lightning Media

New Drupal Modules - 14 November 2017 - 12:22pm

DO NOT USE. This module will be included in a future release of the Lightning profile.

Categories: Drupal

Agaric Collective: How to declare hexadecimals on a PHPDoc Block

Planet Drupal - 14 November 2017 - 11:30am

TL;DR: For PHP Hexadecimals, Decimals and Octals are all Integers, so they must be declared as @param integer

While I was working on a patch I had to write the docblock of a function which received a hexadecimal number and I wasn't sure what I was supposed to put in the @type param.

I went to Drupal's API documentation and comments standards page to see which is the best type for this param and I found the following:

Data types can be primitive types (int, string, etc.), complex PHP built-in types (array, object, resource), or PHP classes.

Alright, a hexadecimal number is not a complex PHP built-in type nor a PHP Class so it must be a primitive type, so I went to the PHP documentation page to see which primitives PHP has and I found the following:

  • boolean
  • integer
  • float (floating-point number, aka double)
  • String

So there wasn't a specific reference for a Hexadecimal number...

The solution:

In the end Pieter Frenssen helped me (Thanks!) with this, and he showed me that in PHP, it doesn't matter what the base number is and it can be an octal, hexadecimal or a decimal, for PHP they all are integers (which makes sense but I wanted to be sure) and he shared this small snippet where we can see that PHP sees the numbers as integers and the base doesn't matter:

$ php -a Interactive shell php > var_dump(gettype(0x0f)); string(7) "integer" php > var_dump(0x08 === 8); bool(true)

So if you are writing the documentation of a function in which one of its params is a hexadecimal number you must declare it as Integer.

Categories: Drupal

Elevated Third: Elevated Third’s CEO Featured as a Drupal Expert

Planet Drupal - 14 November 2017 - 10:21am
Elevated Third’s CEO Featured as a Drupal Expert Elevated Third’s CEO Featured as a Drupal Expert Ayla Peacock Tue, 11/14/2017 - 11:21

Elevated Third’s CEO, Jeff Calderone, recently shared his insights with Clutch on Drupal, how to choose a platform and how to choose the right web developers to build your website. This is part of a series of interviews that Clutch has been conducting to educate businesses on the options they have when building a website.

Clutch is a B2B ratings and reviews website that ranks digital agencies to help business buyers choose the best partner for their next dev project. We’re currently ranked as a top 5 Drupal Development firm and a top 5 Denver web designer in their research.

Drupal is one of the most popular opensource CMSs. Its community of developers ensures that the platforms continues to evolve and improve. According to Jeff:

“Drupal is great because it gives you a lot of functionality out of the box, the core functionality that’s been built by thousands of developers over time. It’s really solid, tested, and secure. The modules that are created by the community are really where the power comes and where it stands out. We can start with a key suite of modules and core functionality and often get our clients 60-70% of the way to where they want to go, but then be confident that we can build custom modules and functionality to get them the rest of the way, and oftentimes, replicate the functionality of a fully custom website for much less because we’re using the opensource community that has created all this functionality over time.”

Each business has different needs for their website. When it comes to choosing a website platform, Jeff offered:

“Especially if they’re in the B2B space and have that longer sales cycle, I think they need to pick a platform that is going to be able to grow with them and integrate with their existing legacy systems as well as connect with marketing automation and Salesforce and CRM in a way that is user proof. Personalization is coming. Voice activation is coming. All of those exist in some form already. Building on a platform like Drupal allows you to get something up and running quickly and be modular both now and in the future and add onto a solid core as these technologies and trends become actual.”

Another challenge that companies face is choosing the right partner for their project. According to Jeff the key to finding the right company is:

“Focusing on an agency that’s going to understand your business and solve the right problem as opposed to just developers who are going to build what they’re told to build… There are a lot of shops that have good developers that will build whatever you tell them to. We focus on providing that strategic insight. Half our agency is strategy and UX and design and helping the company to solve the right problem trusting that the other side of our shop, the Drupal developers, can implement and build those things that we recommend… It’s key to have that integrated approach and not just one or the other.”

If your business goals and website requirements are planned out early on, choosing the right platform and partner for your company will be simple. To learn more about Drupal, you can read the full interview here.

Categories: Drupal

Acro Media: Video: Making Migration to Drupal Commerce 2 Easier

Planet Drupal - 14 November 2017 - 9:47am

Moving to a new e-commerce platform can be a massive undertaking, but Drupal is making it simple. Whether you currently use Commerce 1, Ubercart, Shopify, or Magento, there is (or will soon be) an easy way to move over to Commerce 2 and see what it can offer you. Watch the latest High5 video here to learn more.

What moving means

There are a ton of different parts that make up your e-commerce site: products, product variations, orders, customers, account balances, user logins, etc. One of the first things you need to decide is which parts you're going to migrate. Maybe you want to pull order data, but not discounts, which can be notoriously difficult to move over. Products are obviously essential, but moving tax rules over is not nearly as crucial, since you could probably set those up yourself (and if you work with a third party for that anyway, migrating tax rules is a waste of time).

What migrate tools can do

Migrating your site manually is incredibly labor-intensive and prone to failure (you try moving 10,000 products manually without screwing any of them up.) Automating the process with migrating tools that have been thoroughly tested will give you a lot more consistency when moving your data around. And the best part is that this is all open source; we're releasing these tools so that anyone can migrate their site on their own at no charge.

How the tools were developed

We started from the most common stuff (products, orders) and worked our way out to customers and discounts and product classes and all the rest. We have sample sets that we test for each of those aspects. So we have full databases of Ubercart sites, for instance, that we migrate over so we can see which parts are missing and what needs to be improved. We continually work to build those missing pieces and fill out all those edge cases.

What's ready and what's coming

We have all the basics done for Ubercart; if you want to do an Ubercart to Commerce 2 migration right now, you can do it, though you might have to do a little bit of configuring and customizing to get the edge cases. We're trying to get to a point where you can literally just push a button and have everything move over, but that's still a couple months away. Commerce 1 is close to that, Magento is pretty basic, and Shopify is more of a prototype right now.

Categories: Drupal

Chromatic: Taxonomy Term Shuffles - Hook Updates with Batch API in Drupal 7

Planet Drupal - 14 November 2017 - 8:00am

Clare breaks down how to reassign nodes from one taxonomy term to another. Code samples included.

Categories: Drupal

Promet Source: WordPress vs. Drupal for Web Accessibility, SEO & Performance

Planet Drupal - 14 November 2017 - 1:08am
Wordpress vs. Drupal - How do I choose a CMS for my web development project? The age old question - or at least decades old question of Wordpress vs. Drupal is one we encounter on an almost daily basis. When deciding between the two content management systems, it may not be a question of which is better, but rather which is the best fit for your specific project. In this article I'll walk through some of the key factors to considering when deciding between Wordpress and Drupal for your web development projects.
Categories: Drupal

GraphQL Views

New Drupal Modules - 14 November 2017 - 12:49am
Categories: Drupal

Appnovation Technologies: Guaranteed Delivery using Dead Letter Queue

Planet Drupal - 14 November 2017 - 12:00am
Guaranteed Delivery using Dead Letter Queue When an enterprise implements messaging, Guaranteed Delivery (Messages are persistent and are not lost even when the system crashes) becomes an imminent requirement. When implementing messaging, ensuring Guaranteed Delivery means answers to the following: Where does the message get sent when a condition is not met? Can each individual ...
Categories: Drupal

Where We Are Finder

New Drupal Modules - 13 November 2017 - 11:56pm

This is a simple solution for the Geolocating your stores or retails for your corporate and other kind of business activity.
This module features the usage of google maps and Snazzymaps styling.

TODO: make this more eloquent and explanatory.

Categories: Drupal

DS chains

New Drupal Modules - 13 November 2017 - 8:23pm
Overview

Provides chained fields for entity reference fields and display suite.

Features

tl;dr - If you need to place a field of a referenced entity amongst other fields - use this module.
e.g. With this module you can move the author picture around on the manage display tab for nodes.

If your entity has an entity reference field, you can access any fields from the referenced entity type on your manage display tab.

Requirements

Display suite

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal