KnackForge: How to update Drupal 8 core?

Planet Drupal - Sat, 2018/03/24 - 6:01am
How to update Drupal 8 core?

Let's see how to update your Drupal site between 8.x.x minor and patch versions. For example, from 8.1.2 to 8.1.3, or from 8.3.5 to 8.4.0. I hope this will help you.

  • If you are upgrading to Drupal version x.y.z

           x -> is known as the major version number

           y -> is known as the minor version number

           z -> is known as the patch version number.

Sat, 03/24/2018 - 10:31

Valuebound: Drupal 8: How to create a custom block programatically

Planet Drupal - Mon, 2016/12/19 - 8:33am
Drupal 8: How to create a custom block programatically Jaywant.Topno Mon, 12/19/2016 - 02:33

Valuebound: Drupal 8: Custom Block Creation programmatically

Planet Drupal - Mon, 2016/12/19 - 8:33am
Drupal 8: Custom Block Creation programmatically Jaywant.Topno Mon, 12/19/2016 - 02:33

DrupalCon News: Join Us for the New DevOps Summit

Planet Drupal - Mon, 2016/08/29 - 11:33pm

We added a new summit to the DrupalCon line-up this year: the DevOps Summit, on Monday, 26 September. It's a day filled with keynotes, an industry leaders panel, open discussions, and networking.

DevOps is a popular part of DrupalCon. There are 12 sessions dedicated to DevOps topics like continuous integration and serverless architecture. But we're excited to add more programming for DevOps fans far and wide. With the summit, we've dedicated time and space to offer networking and collaboration activities.


Lullabot: Internal API Design for Distributed Teams

Planet Drupal - Mon, 2016/08/29 - 6:00pm

My first real project with multiple distributed teams and a timeline measured in weeks (not months!) was the launch of The Tonight Show with Jimmy Fallon. With six weeks to go from nothing to a CMS, a website, and multiple apps, we were forced to figure out the best way to keep all the teams always moving. I wrote then about Legally Binding your Web APIs, but I think it’s time to clarify and update some of it’s points for maximising your team’s productivity.

Introduce the teams

Before features are defined, APIs are designed, and work is started, it’s really important to have some sort of team introduction. This doesn’t need to be a long meeting. What’s important is to get at least one technical person who will need to create or use APIs from each distinct team introduced. At a high level, identify the API providers and consumers from a business perspective. Determine who owns the APIs and their specifications. Make sure each technical person understands the goals of the project. Then, unless you are one of those technical people, get out of the way! Leave the meeting, drop the call, and let those people get to work.

Lay the API Foundation

Every API makes assumptions - about the basic structure of data, about authentication, and about maintenance and updates. Before determining your core objects, figure these things out. Discuss if you’re implementing an RPC API or a REST API. Decide if you’re supporting JSON, XML, or both. For REST APIs, find a suitable specification that supports the Hypermedia Factors you need, like JSON API or HAL, and use it to structure your data and API to simplify client and server implementations. Decide on authentication protocols, like OAuth or HTTP basic. Decide on a versioning strategy such as versioned URLs or custom MIME types. Steal from existing internal implementations where possible. Finally, start writing code.

The problem with beginning implementations now is that there is no source of truth for the API. It’s easy for teams to start making bad assumptions, leading to rework and putting your launch at risk. Instead, use a tool built for managing API documentation like Apiary’s Blueprint or Swagger. Ideally, the tools will let you easily generate API stubs too. Doing so will unblock client implementations, as they won’t be dependent on the production API to start their work. Best yet, when there is disagreement between implementations, the docs become the arbiter of what is right. Sure, documentation can be wrong or miss key details, but it’s much easier to understand a spec than someone else’s code. Best yet, since the first API consumer will be an involved participant in writing the docs, your API will have docs ready to go when that second consumer comes along.

Now, your teams can start writing code, pulling in the core libraries for authentication and data structures.

Design API Objects

Now that you have the basic API details figured out, you can start to design objects (or in REST parlance ‘resources’). At this stage, you are modelling data, and not actions. Assume every object has a GET call, even if it’s not immediately clear that it’s needed. Letting your clients inspect the state of objects will help them to debug your API and their code without relying on expensive calls and meetings that suck up time from getting things done. Design the object schema to be as “obvious” as possible—don’t use ‘image’ in one object attribute and ‘picture’ in another, unless they mean different things. Use REST best practices such as using URLs as canonical identifiers of objects. A critical step many teams miss is determining who manages unique IDs. With the inherent concurrency and assumed unreliability of HTTP requests, identifying which systems manage which IDs is something not to forget.

Again, at this point you should have new documentation and stubs, but no code. Let your documentation continue to be the source of truth.

Design API Operations

Using your work to this point, API operations should start to have intuitive implementations, especially if you are using REST best practices. Map your various CRUD operations to GET / POST / PATCH / PUT / DELETE as required. Find good HTTP status codes to communicate the results of REST calls (my favourite new discovery is 409 Conflict).

One common mistake services teams make at this point is to create a “wide-open POST endpoint” that accepts arbitrary data, and then to reverse-engineer the data into an implementation. Remember, our goal is to keep any sort of dependencies between the teams to a minimum. This sort of development methodology maximizes the dependencies between the teams, and requires implementations that might be totally wrong. It makes what should be an explicit API contract implicit. When the API calls break, there’s no documentation to fall back on, forcing calls and meetings that block all the teams.

Implement All The Things!

All the work so far has been to get to this point of productivity. By now, there should be no hard dependencies between the teams. Stubs can be replaced by implementations as development continues. New APIs can be added quickly by following the existing patterns. API consumers can even make assumptions about how an API would likely be designed before they contact the API team. Questions and iterations can be focused on tickets and documentation comments, helping to preserve the feasibility of the launch date. Stakeholders, project managers, developers, all win.

Header image from The simplest foundation, a padstone


Acquia Developer Center Blog: Waterwheel, the Drupal SDK Ecosystem

Planet Drupal - Mon, 2016/08/29 - 5:56pm

As Drupal is increasingly widely used as a back end for application ecosystems, developers of wildly diverse backgrounds are now retrieving and manipulating data from Drupal in unprecedented ways. With Drupal 8 and core REST support articulating an API-first vision for the decoupled future, Drupal is eminently well-prepared to back a bevy of applications with divergent approaches. There's just one problem: non-Drupal developers don't know Drupal.

That's where Waterwheel comes in. Waterwheel is an emerging ecosystem of software development kits (SDKs) built by the Drupal community which ease and accelerate development of applications in other technologies. If you will momentarily forgive the flawed metaphor, Waterwheel helps non-PHP and non-Drupal developers "speak" Drupal.

Tags: acquia drupal planet

Drop Guard: undpaul, welcome to update management automation!

Planet Drupal - Mon, 2016/08/29 - 1:45pm

More and more, midsize companies are excited by Drop Guard, recognising the benefits and values of using this tool.

This time we want to present undpaul to you, a Drupal agency from Hannover, Germany, that is built by an enthusiastic team of Drupal developers. Eleven team members support Anja Schirwinski and Johannes Haseitl, founders and CEOs, in their daily effort to please the needs of their customers best.

In doing so, the whole company let Drop Guard support them and let it provide continuous Drupal and website security for their clients. We asked the undpaul about what changed since they started to use Drop Guard on a daily basis.


Drupal Drupal Planet SLA Interview Redmine JIRA Success Story

Cheeky Monkey Media: How To Reduce Your Cost Per Lead in AdWords

Planet Drupal - Mon, 2016/08/29 - 11:43am
How To Reduce Your Cost Per Lead in AdWords steph Mon, 08/29/2016 - 09:43

Running a campaign in AdWords can be a fantastic way to get more leads for businesses that rely on lead generation. It can also be an expensive money pit, if you’re not doing it right.

We’re going to share with you some fairly straightforward ways of reducing your cost per lead. Our PPC team recently reduced a client’s cost per lead by 178% while increasing the number of leads by 186%. Here is how we did it.


Add Keyword Negatives

Some people advise against using broad match terms altogether. They can be expensive and a big waste of clicks if done incorrectly. When done correctly, however, they can provide you with targeted keywords you might not have thought about (such as competitor terminology or industry slang).

Broad match terms can also provide you with an exceptional list of keyword insights that you can later use to organically optimize your site. This data is gold, so it's why I personally love using broad match terms (where appropriate) with lots of negatives.

Here’s how to find negative keywords to add:


Jim Birch: Making a Bootstrap Carousel with Drupal Paragraphs and a Single Twig Template

Planet Drupal - Mon, 2016/08/29 - 11:20am

Last week I wrote how to make a multi-column section with Drupal Paragraphs and Bootstrap.  This post describes how to take a similar approach to create a Carousel.  Creating this using Paragraphs allows your content administrators an easy way to add a Slideshow/Carousel to their pages.

I am going to assume that you are including Bootstrap CSS and JS in your theme, and that you have the Paragraphs module installed and have a few Paragraphs already set up.  Go to Structure > Paragraph types to click the Add paragraphs type button.  Add a Paragraph bundle called Slideshow (Also could be called Carousel, Gallery, or Slider depending on you or your company's nomenclature).

Add a field called Slides.  We will use this to add items to the the carousel.  I like to use a reference field to other paragraphs, so we can select Image Paragraphs, Simple Paragraphs, Video Paragraphs, even the Multicolumn paragraph I wrote about last week where it can have additional Paragraphs.  Yes, that would be a Paragraph in a Paragraph in a Paragraph!  All is fair in love and Entity References.

On the Add field screen, in the Add a new field dropdown, select Paragraph under Reference revisions.

Read more


Drupal core announcements: Drupal 8.2.0-rc1 on the week of September 7 and what it means for 8.1.x

Planet Drupal - Mon, 2016/08/29 - 9:45am
Start:  2016-09-06 12:00 - 2016-09-09 23:55 UTC Event type:  Online meeting (eg. IRC meeting)

Drupal has adopted semantic versioning and a scheduled release cycle starting with Drupal 8.0.0. This means that it is possible within a major Drupal version to add new functionality in a backwards-compatible way, and there is no need to wait for Drupal 9 for improvements.

The second such version, Drupal 8.2.0, is going to be released on October 5th 2016, including the following new experimental modules: Content Moderation (to manage content review workflows), Outside-In (for editing configuration without leaving your frontend), Place Block (to add blocks directly to the page), and DateTime Range (to store end dates on date fields).

To prepare for Drupal 8.2.0, we released three beta versions in August. Announcements for beta1, beta2, and beta3 detail the significant changes made for Drupal 8.2.x. Now, we are getting ready to create Drupal 8.2.0-rc1, the first release candidate, the week of September 7, 2016.

This means several things in terms of support for Drupal 8.1.x versions and allowed patches in Drupal 8.2.x:

  • Starting with the RC, the 8.2.x branch will be subject to release candidate restrictions, with only critical fixes and certain other limited changes allowed.
  • To ensure a stable and timely release candidate, a commit freeze for the 8.2.x branch will begin Tuesday, September 6 at 1200 UTC.
  • The week of September 7 is also the final scheduled patch release window for 8.1.x, and it will not receive further development or support after that date aside from its final security release window on September 21 (which will not include bug fixes). Site owners and module or theme authors should prepare to update to 8.2.x.
  • As a consequence, all outstanding issues filed against 8.1.x will be automatically migrated to 8.2.x after the final 8.1.x patch release. Future bug reports should be targeted against the 8.2.x branch.
  • 8.3.x will remain open for new development during the 8.2.x release candidate phase.

See the Drupal core release cycle overview, Allowed changes during the Drupal 8 release cycle, and Drupal 8 backwards compatibility and internal API policy for more information.

Minor versions like Drupal 8.2.0 may include changes to user interfaces, translatable strings, themes, internal APIs like render arrays and controllers, etc. (See the Drupal 8 backwards compatibility and internal API policy for details.) Developers and site owners should test the release candidate to prepare for these changes.

Categories: Drupal Meetup Bangalore – August 2016

Planet Drupal - Mon, 2016/08/29 - 8:22am
This month's Drupal meetup was held at Srijan Technologies office in Bangalore on August 27, 2016. This was the first time we had a Drupal meetup in Kalyannagar, or even so far north in Bangalore and as such, we had a lot of new faces. There were around 20 attendees out of 32 RSVP's which is just about the attendance ratio in meetups in Bangalore.

Jay Drupal Logout Message

Planet Drupal - Sun, 2016/08/28 - 5:02am

I recently noticed in Drupal that although there are modules that let you display login messages such as "Log in successful for @username." (LoginToboggan) or "Welcome back, @username." (Persistent Login), there's no easy way to display logout messages.

So after doing some research, I found a patch for Drupal 7 that I just updated to work on the recently released Drupal 7.50. Let's take a quick look at the simple code changes in the modules/user/ file (lines 194 - 214):

1) Before:

* Menu callback; logs the current user out, and redirects to the home page.
function user_logout() {

Tags: Drupal 7Drupal Planet

Cheeky Monkey Media: How To Rank in Google Maps 3-Pack

Planet Drupal - Sun, 2016/08/28 - 1:50am
How To Rank in Google Maps 3-Pack steph Sat, 08/27/2016 - 23:50

Having your business listed on Google’s Local 3-Pack is a highly coveted position for any company with a local presence.

Google recently changed the layout of the search results on desktop; so now they look more like mobile. The Local 3-Pack is now displayed before the organic search results on all devices. This is pretty huge.

So how the heck do you get yourself listed up there? If you are looking to outsource the task, look for someone who is familiar with local SEO. If you plan to tackle this yourself, then strategy, patience, time and know-how are your friends.



ImageX Media: What Are Squeeze Pages and How Do They Work?

Planet Drupal - Sat, 2016/08/27 - 12:45am

A squeeze page is a type of opt-in email landing page designed to do one single thing: "squeeze" email addresses and other information from prospective subscribers. 


ImageX Media: Do You Know Who Your Customers Are?

Planet Drupal - Fri, 2016/08/26 - 8:07pm

Previously in our blog, we discussed the five basics of content marketing. The first of these five basics of content marketing is understanding your audience. You can create all of the killer content you can, but if you don’t know who your audience is, what problems your business can solve for them, and where and how they’re consuming your content, then you risk it missing the mark entirely and falling into the internet’s ether.


ImageX Media: Are You Overlooking these Content Marketing Basics?

Planet Drupal - Fri, 2016/08/26 - 7:43pm
So What Is Content Marketing?

Traditional marketing methods of the past have become outdated as audiences have lost interest and become more savvy in tuning them out. From browser-based ad blockers to streaming content online, ads have been relegated to the periphery at best, leading to low conversion rates, decreased traffic, and a lower return on investment.


EchoDitto Tech Blog: 3 Major Reasons Drupal 8 is Worth the Investment

Planet Drupal - Fri, 2016/08/26 - 5:42pm

Saying a modern nonprofit or business needs a website is like saying the tires on your car need air. Deny it and you’re going to have a bad time. Given the significant tasks required of your website, from fundraising and ecommerce to PR and campaigning, the tools you use to power it and the interface through which your team will interact with the site should be given important consideration.

Lucky for you, one of the most widely used content management systems (CMS), just got a major update. Drupal 8 brings too many new features to discuss fully here, but you’ll be happy to know the end product is one that’s worth the investment.

Here’s why:

One – The content authoring experience is more efficient

Drupal’s admin interface has evolved over the years, and we’re happy to see it continue here. For starters, the new interface is streamlined, mobile-friendly, and by emphasizing simplicity, it makes the process of creating content and managing your site more efficient. Then comes Quick Edit, a tool which allows you to edit content directly on the page, without having to switch to the admin panel. Lastly, some under-the-hood improvements to how Drupal 8 caches portions of your site, means that logged-in users — whether they login just to access a community or special resources, or it's your staff managing the site and adding content — will likely see a significant boost to performance. These improvements just underscore how the experience for content authors and editors means your team takes less time, and less clicks, to update content on Drupal 8.

Two – The improvements for developers means easier maintenance

A number of new features in Drupal 8 are developer focused. There’s Twig, a new templating engine, some commonly used modules are now included by default in Drupal 8, and there’s better support for things like accessibility and multilingual support. Unless you’re a developer, you’re not likely to ever see these changes first hand, but you will experience them.

These improvements for developers mean maintenance tasks will largely be much easier (and occasionally faster) for developers to complete. This saves you money on regular support, and allows you to devote that time and resources into other areas, like digital strategy or building new features.

Three – Migrating is easier than it's ever been

If you’ve been through a redesign of a website, you know that one of the most daunting tasks is getting all of the content you want to keep migrated and configured properly inside your new website. In this area, Drupal 8 has seen a major leap forward.

Drupal 8 can read the database from a Drupal 6 or 7 site, and pull in configurations and other settings in addition to the actual content. Practically speaking, this removes what was previously a major task for content migrations: writing all of the code that retrieves and assembles the existing site’s content. Now, Drupal 8 assembles it for you. In some cases, this could cut the time to do a content migration in half.

We’ve been enjoying building new projects in Drupal 8, some of which we will be able to share with you soon. Until then, if you have questions about Drupal 8 that you’d like us to touch upon, or if you’re wondering if Drupal 8 can work for you, get in touch.

Tags: drupaldrupal 8

InternetDevels: A better website’s performance with the Fast 404 Drupal 8 module

Planet Drupal - Fri, 2016/08/26 - 2:24pm

It’s great to see how websites are getting faster, more reliable and easier to use with the help of new Drupal technologies, as we have described in our posts.

Read more

clemens-tolboom commented on issue GoogleCloudPlatform/ios-docs-samples#12

On github - Fri, 2016/08/26 - 12:34pm
Aug 26, 2016 clemens-tolboom commented on issue GoogleCloudPlatform/ios-docs-samples#12

I just tested with Speech-gRPC-Streaming to see the limit is indeed just 1 minute. I also notes that pausing (breathing) too long stopped streaming.

clemens-tolboom opened pull request GoogleCloudPlatform/ios-docs-samples#15

On github - Fri, 2016/08/26 - 10:08am
Aug 26, 2016 clemens-tolboom opened pull request GoogleCloudPlatform/ios-docs-samples#15 Tell developer to use 'iOS' API key. 1 commit with 9 additions and 9 deletions