Feed aggregator

Dries Buytaert: Megan Sanicki to become Executive Director at the Drupal Association

Planet Drupal - Wed, 18/05/2016 - 23:03

This is a time of transition for the Drupal Association. As you might have read on the Drupal Association blog, Holly Ross, our Executive Director, is moving on. Megan Sanicki, who has been with the Drupal Association for almost 6 years, and was working alongside Holly as the Drupal Association's COO, will take over Holly's role as the Executive Director.

Open source stewardship is not easy but in the 3 years Holly was leading the Drupal Association, she lead with passion, determination and transparency. She operationalized the Drupal Association and built a team that truly embraces its mission to serve the community, growing that team by over 50% over three years of her tenure. She established a relationship with the community that wasn't there before, allowing the Drupal Association to help in new ways like supporting the Drupal 8 launch, providing test infrastructure, and more. Holly also matured our DrupalCon, expanding its reach to more users with conferences in Latin America and India. She also executed the Drupal 8 Accelerate Fund, which allowed direct funding of key contributors to help lead Drupal 8 to a successful release.

Holly did a lot for Drupal. She touched all of us in the Drupal community. She helped us become better and work closer together. It is sad to see her leave, but I'm confident she'll find success in future endeavors. Thanks, Holly!

Megan, the Drupal Association staff and the Board of Directors are committed to supporting the Drupal project. In this time of transition, we are focused on the work that Drupal Association must do and looking at how to do that in a sustainable way so we can support the project for many years to come.

Categories: Elsewhere

Chapter Three: The Myth of the Unsupportable Drupal Site

Planet Drupal - Wed, 18/05/2016 - 21:56

On the frontlines of Drupal support the team here at Chapter Three has seen a lot of different ways you can complicate or overengineer a Drupal build. These can range from sites with 350 unique modules, to PHP-heavy frankensites that do everything they can to avoid using core APIs.

Categories: Elsewhere

Wunderkraut blog: Dropcat - the Jenkins build

Planet Drupal - Wed, 18/05/2016 - 20:31

Time to part three of the Dropcat blog-series. Now it is time to get less abstract, and show what is done. In Wunderkraut Sweden we are normally using Jenkins to do deploys, but you could do it also in a script from you local machine.

Jenkins setup We are using jenkins to clone the project, and the only task we do after that is executing a shell, like this: 

In the end of this series I am doing a post about our composer workflow, so I will not go into that now. First we export some variables, to use with dropcat later. PATHLocal path to composer DROPCAT_ENVWhich environment we are going to deploy, in this case stage, so dropcat will use the dropcat.stage.yml file for settings. ENVThis is a variable we are using for composer. BUILD_DATEUsed to name our deployed folder. And then the dropcat tasks dropcat prepareThis command checks if the db used for the site exists, if it does not, it tries to create it. It also creates the drush-alias used for the site etc. dropcat backupThis backups the db, if you want to backup the whole web folder, add the option -- backup_site  dropcat tarPacks the site in a tar-file. The options here could be set in dropcat.stage.yml, but I think it is more useful to use Jenkins variables here. dropcat uploadUploads the tar to the remote server, and removes it from the local server. dropcat moveThis unpacks the tar file and moves it in place. And creates a symlink to the deployed folder, like mysite_latest_stage. It also deletes the uploaded tar-file. dropcat symlinkThis we are using to create the files folder, which in our setup is outside the web folder. dropcat config-importImports the configuration. dropcat reset-loginGets us a login-link to the site so we could check our deploy. In next blogpost we are starting to look into in detail what happens in each step.
Categories: Elsewhere

KnackForge: Create single page site in drupal 8 within 15 minutes

Planet Drupal - Wed, 18/05/2016 - 20:00
Create single page site in drupal 8 within 15 minutes

We all know that the Drupal setup and installation are easy, and one click installation is also available in most of the hosting services, but the tricky part is theming the drupal site. It would take some time to design the site to make it look more professional.

In this blog, I am going to show you how to build a single page drupal site within 15 minutes with a good looking theme.

Pathirakaliappan Wed, 05/18/2016 - 23:30
Categories: Elsewhere

LevelTen Interactive: Drupal Con[densed] 2016: The Best Content Marketing Sessions

Planet Drupal - Wed, 18/05/2016 - 16:20

As a marketer, a Drupal newbie, and the newest LevelTen employee, I was super excited for DrupalCon.

Historically, there has not been a lot of overlap between the Drupal world and the marketing world. One one level that makes some sense: companies who need a Drupal web solution are often large enterprise-level organizations who have the resources for an in-house marketing team.

But it’s clear after my week at DrupalCon 2016 that more and more agencies and web developers are recognizing that they need to offer some kind of content or content strategy services to their...Read more

Categories: Elsewhere

LevelTen Interactive: Drupal Con[densed] 2106: The Best Content Marketing Sessions

Planet Drupal - Wed, 18/05/2016 - 16:20

As a marketer, a Drupal newbie, and the newest LevelTen employee, I was super excited for DrupalCon.

Historically, there has not been a lot of overlap between the Drupal world and the marketing world. One one level that makes some sense: companies who need a Drupal web solution are often large enterprise-level organizations who have the resources for an in-house marketing team.

But it’s clear after my week at DrupalCon 2016 that more and more agencies and web developers are recognizing that they need to offer some kind of content or content strategy services to their...Read more

Categories: Elsewhere

Jeff Geerling's Blog: Adding a role to a user programmatically in Drupal 8

Planet Drupal - Wed, 18/05/2016 - 16:18

Since a quick Google search didn't bring up how to do this in Drupal 8 (there are dozens of posts on how to do it in Drupal 7), I thought I'd post a quick blog post on how you can modify a user's roles in Drupal 8. Hint: It's a lot easier than you'd think!

In Drupal 7, $user was an object... but it was more like an object that acted like a dumb storage container. You couldn't really do anything with it directly—instead, you had to stick it in functions (like user_multiple_role_edit()) to do things like add or remove roles or modify account information.

In Drupal 8, $user is a real, useful object. Want to modify the account name and save the change?

Categories: Elsewhere

OSTraining: Track Google Analytics Clicks and Downloads in Drupal

Planet Drupal - Wed, 18/05/2016 - 15:58

Over the last week, several people have asked us about tracking Google Analytics "events" on their Drupal site.

"Events" describe anything from clicking on an external link to leave your site or downloading a file.

We're going to use the Google Analytics module which is available for Drupal 6, 7 and 8.

Categories: Elsewhere

Pixelite: 10 things I learnt building in Drupal 8

Planet Drupal - Wed, 18/05/2016 - 14:00

I have had the chance to be involved with 2 fresh builds with Drupal 8 now, I thought I would describe some of the neat things I have found during this time and some of my lessons learned. My hope is that blog post will help you in your journey with Drupal 8.

1. Drupal Console is awesome

Every time you need to generate a custom module, or a new block in a custom module, you can quickly and easily use Drupal Console to produce the code scaffolding code for you. This quite easily makes the job of a developer a lot less stressful, and allows you to focus on actually writing code that delivers functionality.

I plucked these example commands that I use frequently from my bash history:

drupal site:mode dev drupal generate:module drupal generate:plugin:block drupal generate:routesubscriber drupal generate:form:config

Documentation is online but for the most part, the commands are self documenting, if you use the --help option, then you get a great summary on the command, and the other options you can pass in.

The other nice thing is that this is a Symfony Console application, so it should feel very familiar to you if you used another tool written in the same framework.

2. Custom block types are amazing

In Drupal 7 land there was bean which was an attempt to stop making ‘meta’ nodes to fill in content editable parts of complex landing pages. Now, fast forward to Drupal 8, and custom block types are now in Drupal Core.

This basically means as a site builder you now have another really powerful tool at your disposal in order to model content effectively in Drupal 8.

Each custom block type can have it’s own fields, it’s own display settings, and form displays.

Here are the final custom block types on a recent Drupal 8 build:

One downside is that there is no access control per custom block type (just a global permission “administer blocks”), no doubt contrib will step in to fill this hole in the future (does anyone know a module that can help here?). In the mean time there is drupal.org issue on the subject.

I also found it weird that the custom blocks administration section was not directly under the ‘structure’ section of the site, there is another drupal.org issue about normalising this as well. Setting up some default shortcuts really helped me save some time.

3. View modes on all the things

To create custom view modes in Drupal 7 required either a custom module or Dave Reid’s entity_view_mode contrib module. Now this is baked into Drupal 8 core.

View modes on your custom block types takes things to yet another level still as well. This is one more feather in the Drupal site builder’s cap.

4. Twig is the best

In Drupal 7 I always found it weird that you could not unleash a front end developer upon your site and expect to have a pleasant result. In order to be successful the themer would need to know PHP, preprocess hooks, template naming standards, the mystical specific order in which the templates apply and so on. This often meant that a backend and front end developer would need to work together in order to create a good outcome.

With the introduction of Twig, I now feel that theming is back in the hands of the front end developer, and knowledge of PHP is no longer needed in order to override just about any markup that Drupal 8 produces.

Pro tip - use the Drupal Console command drupal site:mode dev to enable Twig development options, and disable Drupal caching. Another positive side effect is that Twig will then render the entire list of templates that you could be using, and which one you actually are using (and where that template is located).

Pro tip: - If you want to use a template per custom block type (to which I did), then you can use this PHP snippet in your theme’s .theme file (taken from drupal.org):

<?php /** * Implements hook_theme_suggestions_HOOK_alter() for form templates. * * @param array $suggestions * @param array $variables */ function THEMENAME_theme_suggestions_block_alter(array &$suggestions, array $variables) { if (isset($variables['elements']['content']['#block_content'])) { array_splice($suggestions, 1, 0, 'block__bundle__' . $variables['elements']['content']['#block_content']->bundle()); } } 5. Panelizer + panels IPE is a formidable site building tool

When looking for a layout manager to help build the more complex landing pages, I came across panelizer + panels IPE. Using panelizer you are able to:

  • create per node layout variants
  • apply a single layout to all nodes of a particular bundle (e.g. all your news articles have the same layout)

The other neat thing is that the layouts themselves are now standardised between all the various layout managers using a contrib module called layout_plugin. Also they are just YAML and Twig. Simple. There is even an effort to get this merged into Drupal 8.2 which I think would be a great idea.

Downside - all JS is still rendered on the page even though the user (e.g. anonymous users) have no access to panelizer. There is a patch on drupal.org to help fix this.

Since starting this build there has also been a stable release of display suite come out for Drupal 8 as well giving you even more options.

6. You can build a rather complex site with very little contributed modules

For this most recent site I build I got away with using only 10 contributed modules (one of which - devel was purely for debugging purposes).

  • ctools
  • google_analytics
  • metatag
  • panels
  • token
  • contact_block
  • devel
  • layout_plugin
  • panelizer
  • pathauto

This means you are inherently building a more stable and supportable site, as most of the functionality now comes out of Drupal core.

7. The contact module now is supercharged

In Drupal 7, the contact module was one of those modules to which I never turned on, as it was rather inflexible. You could not change the fields in a UI, nor add email recipients, or have more than 1 form. Now in Drupal 8 you can have as many “contact” forms as you want, each one is fieldable, and can send emails to as many people as needed.

You can also enhance the core module with:

  • contact_block - allows you to place the contact form in a block
  • contact_storage - allows you to store the submissions in the database, rather than firing an email and forgetting about it

There is still a place for webform, namely:

  • large complex form with lots of fields
  • multi-step forms
  • forms you want to ‘save draft’

You can read more about this in the OS training blog post on the contact module.

Downside - I wanted to have a plain page use the path /contact but the contact module registers this path, so pathauto gave my contact page a path of /contact-0. Luckily creating a route subscriber with Drupal Console was painless, so altering the contact module route was very simple to do. I can paste the code here if needed, but most of it is the code that Drupal Console generates for you.

8. PHPunit is bundled into core

Now that Drupal 8 is largely Object Oriented (OO), you are able to test classes using PHPunit. I have wrote about phpunit in the past if you want to know more.

9. Views is in core

This was the main reason why adoption of Drupal 7 was so slow after it’s initial 7.0 release, as everyone needed views to be stable before jumping ship. Now with views bundled into core, views plugins are also being ported at a great rate of knots too.

10. CKEditor is in core

I often found that this was one library that never (or hardly ever) got updated on sites that had been around for a while. More worryingly, CKEditor (the library) would from time to time fix security related issues. Now that this comes with Drupal 8 core, it is just one less thing to worry about.

Also I would love to shout out to Wim Leers (and other contributors) for revamping the image dialog with alignment and caption options. I cannot tell you how much pain and suffering this caused me in Drupal 7.


If you have built a site recently in Drupal 8 and have found anything interesting or exciting, please let me know in the comments. Also keen to see what sites people have built, so post a link to it if it is public.

Categories: Elsewhere

IXIS: British Council win RealIT Award 2016 for Infrastructure as an Enabler

Planet Drupal - Wed, 18/05/2016 - 13:10

Members of the British Council Digital team were delighted to receive the RITA2016 award last Thursday for the huge change in IT cloud infrastructure that Ixis delivered in the summer of 2015.

read more

Categories: Elsewhere

Radium on Drupal: My road to Drupal and GSoC

Planet Drupal - Wed, 18/05/2016 - 13:02
I am very happy that my GSoC project, Web Component-ize Drupal 8, got accepted this year. I would like to say thanks to my mentors skyredwang and wimleers, as well as all the members of the community who are supportive of the Google Summer of Code program, in particular Slurpee who has spent a lot of time coordinating and helping students.
Categories: Elsewhere

IXIS: When Poor Security Practices Go Bad

Planet Drupal - Wed, 18/05/2016 - 11:27

In this blog post I'll discuss some methods of ensuring that your software is kept up to date, and some recent examples of why you should consider security to be among your top priorities instead of viewing it as an inconvenience or hassle.

Critics often attack the stability and security of Open Source due to the frequent releases and updates as projects evolve through constant contributions to their code from the community. They claim that open source requires too many patches to stay secure, and too much maintenance as a result.

read more

Categories: Elsewhere

Drop Guard: Top 5 sessions of DrupalCon New Orleans (security and maintenance related)

Planet Drupal - Wed, 18/05/2016 - 11:03
Top 5 sessions of DrupalCon New Orleans (security and maintenance related) Igor Kandyba Wed, 18.05.2016 - 11:03

Drop Guard team didn't make it to DC North America this year, but we've spent quite a time talking to our colleagues there, interacting with people via Twitter and Facebook, and obviously - enjoying the sessions as soon as they're available for the online viewing.

We are really excited about the number of the highest quality sessions on various topics, and to be honest we recommend to watch all of them (although be aware of the time you need to complete the whole list).

However, for those interested in all things security, support and maintenance related, and not having too much time to enjoy the full playlist, we've hand-picked a limited amount of videos which we found most insightful and would recommend to the Drop Guard blog readers.

Drupalcon video Drupal Planet
Categories: Elsewhere

Jason Pamental's RWT.io Blog: DrupalCon Recap

Planet Drupal - Wed, 18/05/2016 - 03:50

I had the honor of speaking last week at DrupalCon in New Orleans, and got to see a whole slew of great presentations. For a recap at our local DrupalPVD meetup I put together a few slides listing some of my favorites, and a few others that I know had generated a lot of buzz. All the session videos are live, so be sure to have a look at the DrupalCon NOLA site to see all the rest of them.

Categories: Elsewhere

Acquia Developer Center Blog: Drupal 8 of the week: Drupal 8.1.x!

Planet Drupal - Tue, 17/05/2016 - 20:59

Semantic versioning special! Every day, developers in the Drupal community work on improving our open source software. So far in this series, we have been concentrating on profiling some of the most useful modules, projects, and tools available for Drupal 8. This week, however, we're talking about something brand new in Drupal: significant new features being added to our current major release and the ability to do this on a predictable, regular basis! Welcome, Drupal 8.1.x!

Tags: acquia drupal planetultimate guidedrupal 8D88.1.xsemversemantic versioning
Categories: Elsewhere

Radium on Drupal: Retrieving Entities from MongoDB in Drupal 8

Planet Drupal - Tue, 17/05/2016 - 18:49
Normally in Drupal, all the entities are stored in the same database, which is usually MySQL or other Relational Databases. What if we have data elsewhere, and want to access them in Drupal? I often use MongoDB, and I think it is a good idea if I could directly retrieve or edit from Drupal, without having to import data into Drupal. What we could utilize is a module called External Entities. It does what its name says: allowing Drupal to treat external resources as a special type of entities. Similar modules include Remote Entity API (which doesn't have a Drupal 8 version yet). Currently, External Entities comes with two build-in drivers: REST and Wiki. We will be creating a new driver for MongoDB. Today, we will just deal with retrieving data, not modifying.
Categories: Elsewhere

Acquia Developer Center Blog: Drupal in China: Impressions after a Hackaton and a DrupalCamp

Planet Drupal - Tue, 17/05/2016 - 16:49

In the Open Source community, the best way to get involved, and learn, is to dive in, head-first, at the deep end.

This is exactly the reason why we run hackathons: to introduce new concepts to developers in an environment where they can be nurtured. By combining a hackathon with a DrupalCamp, developers get enveloped in a blanket of Drupal and Open Source for a few days, essential for rapid development of skills in new technology.

Tags: acquia drupal planet
Categories: Elsewhere

jfhovinne pushed to 7.x-1.x at jfhovinne/integration_couchdb

Devel - Tue, 17/05/2016 - 13:56
May 17, 2016 jfhovinne pushed to 7.x-1.x at jfhovinne/integration_couchdb
Categories: Networks


Subscribe to jfhovinne aggregator