Feed aggregator

KnackForge: How to update Drupal 8 core?

Planet Drupal - Sat, 24/03/2018 - 06:01
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
Categories: Elsewhere

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

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

Valuebound: Drupal 8: Custom Block Creation programmatically

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

Amazee Labs: Drupal Mountain Camp is coming

Planet Drupal - 4 hours 54 min ago
Drupal Mountain Camp is coming

Together with the local Drupal Community, we are inviting you to join us for Drupal Mountain Camp in Davos, Switzerland. More than 200 attendees are expected to come for sessions, workshops, sprints and stay for the community ... as well as a great amount of powder for those interested in skiing or snowboarding under perfect conditions!

Josef Dabernig Fri, 12/02/2016 - 15:58

After a very successful and very interesting Drupal Commerce Camp in 2011, the team of Drupal Events Schweiz decided that it is again time for a Drupal Camp in Switzerland. As Switzerland provides so much more than bright attendees and speakers, we also want to show the beauty of our country and mountains. We found the perfect location for this: Davos!

The camp will happen from 16 to 19 February 2017 at the Davos Congress Centre. We expect around 200 attendees from Switzerland, all over Europe and the world. We will feature a day of summits, two days of sessions, a day fully dedicated to sprints, and social activities each day.

I'm especially excited that Preston So has been confirmed to be the first keynote speaker. He will be giving a talk on "API-first Drupal and the future of the CMS". In addition, we have confirmed a number of speakers internationally & from Switzerland. Interested in presenting? The call for sessions is open until beginning of January.

Sprints are a great place to get involved with development of Drupal 8, join an initiative and get to work with experts and people interested in the same areas. See the sprint sheet to sign up already to join forces for improving Media, Paragraphs, Drupal 8 core as well as the Rules module for Drupal 8.

We are thankful for a great number of sponsors already which help keep ticket prices low. If you are interested in finding Drupal talent or providing your services to Swiss customers, this is a unique opportunity. See the Drupal Mountain Camp website for information about sponsoring or contact Michael directly. 

Discounted hotel options are available from CHF 59 per person/night via the following link: http://www.davoscongress.ch/DrupalMountainCamp

Early Bird Tickets are available until end of December for only CHF 80. With your purchase you already get a discount on travels with the famous Swiss railway service. There is more to come!

See you 16-19 of February in Davos, Switzerland. In the meantime, follow us on twitter.

Categories: Elsewhere

Ixis.co.uk - Thoughts: The wonders of Twig theming

Planet Drupal - 7 hours 5 min ago

Part of the plan for rebuilding the Ixis site in Drupal 8 was for us to write up some of our thoughts at the end. Writing about the theme layer is hard, because it’s all completely new. There’s a million things I want to talk about, some of the Drupal related, some of them just about frontend tools in general, so I’m going to try and squeeze as much as I can in here.

Bootstrap is awesome

The frontend theme is built on Bootstrap, which allowed us to get the site up and running quickly, and iterate on feedback from the rest of Ixis and the design agency. We only started building the theme 6 days before the site went live!

Using a fairly heavy framework like Bootstrap often raises concerns about performance, but considering that all of the CSS on one of our page loads is ~30kb, it was worth the trade off for the speed of development and iteration. At some point we’ll go through Bootstrap and remove the parts we aren’t using, but right now we’re still iterating and improving things.

Libsass is awesome

We’ve been using Sass for a while at Ixis, it’s amazing for writing clear CSS that can actually be maintained after a few years of iterative development work. Up until now we’ve relied on Compass to compile that for us, but this time we took a look at Gulp and libsass with node-sass.

Damn is it fast. We’re compiling bootstrap-sass as part of our theme, which used to take Compass ages every time we changed a variable. Libsass builds the whole thing in about a second. On top of compiling the CSS, we’re using Gulp on the Ixis site to automatically add vendor prefixes (no more reliance on compass for browser compatibility), provide image mappings (which lets Sass access information about the images, like dimensions) and optimise the file size of those images.

Twig is awesome

I <3 Twig. After so many years of wrangling the Drupal PHPTemplate engine into usable markup, it is so refreshing that everything is templated. No more overriding theme functions just to add an extra class to a div. You don’t even need to use PHP at all to do it.

Dealing with render arrays in a template? Just print them! Doesn’t matter what’s in them. Let Twig sort it out. You’ll never again see “Array” printed to the screen because you forgot to pass something through render().

I know a huge amount of effort went into making Drupal 8 more accessible to frontend folks, and it really does seem to have paid off! The only downside is that I still have to go back to the Drupal 7 way of PHP everywhere occasionally to support older sites.

Libraries are awesome

The new libraries.yml file makes it a lot easier to define libraries, which are collections of Javascript and CSS, along with their dependencies, so you can just load things when you need them. No gallery on this page? Drupal won’t load that javascript, and if the gallery was the only reason you needed jQuery then it won’t load that either if no gallery is being rendered on the page. A contrib module that adds a library can now be boiled down to just an info.yml and libraries.yml filebe 2 yaml files in the theme.

Contrib for libraries is in a bit of a weird state in Drupal 8 at the moment. If you’ve used Drupal 7 then you’ve probably used the Libraries API module, it’s there to allow other contrib modules to share third party libraries. It looks like the plan for Drupal 8 is to eventually have a centralised repository of third-party libraries, but currently it doesn’t seem like a lot of contrib is using it, instead just relying on the library being in /libraries in the Drupal root.

Paragraphs are awesome

We went with paragraphs in order to allow content editors a bit of control of the layout of the pages. I won’t waffle too much about how we set up paragraphs because we’ve already talked about that, but from a frontend point of view, each paragraph type has it’s own twig template, and we can load separate libraries just for that one paragraph, so we were able to make each paragraph into it’s own self contained component. Did I mention I love the new Twig stuff in Drupal 8?

Caching is awesome, but you should probably learn how it works

The new caching layer is amazing, it just seems to work magically behind the scenes. It can be quite easy to be caught out by it though, if you don’t understand what’s happening behind the curtain, especially if you’re used to Drupal 7’s way of caching each page.

Here’s an example from building the Ixis site: The logo on our site links to the front page. It’s a fairly common thing to do. If you’re already on the frontpage though, that’s a redundant link, there’s no reason for it to be there and it can confuse things for those using screen readers.

So we added a simple check: If we’re on the front page, just show the logo, otherwise wrap the logo in a link to the front page. Without caching, this works fine. With caching, Drupal caches that block the first time it’s rendered, then uses it everywhere, because we haven’t told Drupal that this block can differ based on path.

In the end, we added a new cache context to the ‘site branding’ block, so Drupal knows it can differ based on the url. We’re currently relying on just the ‘url.path’ context, but in 8.3 there’s a new url.path.is_front context we’ll be using.

Debugging is easy.

Debugging Twig is easy peasy; In your sites/default/services.yml file (copy the one from default.services.yml if it doesn’t exist), then change the debug value to ‘true’.

parameters:  twig.config:    debug: true

Then you get handy comments like this in the page source:

                 

You can quickly dump a variable with the dump function like {{ dump(a_variable) }}, which just uses PHP’s var_dump() behind the scenes, but if you want to poke at array they you’ll probably want to use the kint module from devel, which gives you a much nicer output with {{ kint(content) }}. Word of warning, the little + will expand everything, and if it’s a big tree it’ll just crash your browser.

Frontend developer experience in Drupal 8 is a huge improvement over what was in Drupal 7, and thanks to the new release cycle, it’s continuing to improve even after Drupal 8 has launched. Really looking forward to seeing what new features we’ll get in the future, and I’ll be keeping an eye on the ‘core ideas’ issue queue.

Categories: Elsewhere

Unimity Solutions Drupal Blog: Global Opportunities with Drupal - Enterprise Adoption

Planet Drupal - 7 hours 26 min ago

This is again an excerpt from my talk at #DCD2016. The second part of my talk was on Drupal Enterprise Adoption.

Categories: Elsewhere

Agiledrop.com Blog: AGILEDROP: Drupal Blogs in November

Planet Drupal - 11 hours 54 min ago
We have a news for you. Pretty exciting one. From now on, at the beginning of every month, we will look at the Drupal blogs we have written over the past month, making sure that nothing slips away from you and that you will be as informed as possible. Maybe you would have liked some of the topics, but you were just not on your computer that day, you had a day off, you were too busy at work etc. Well, from now on, even if you have missed something, you will be able to catch it later. Drupal Camps in Africa were our first blog topic this month. We got the inspiration for starting the world… READ MORE
Categories: Elsewhere

Drupal Modules: The One Percent: Drupal Modules: The One Percent — Tota11y (video tutorial)

Planet Drupal - 17 hours 27 min ago
Drupal Modules: The One Percent — Tota11y (video tutorial) NonProfit Thu, 12/01/2016 - 20:25 Episode 8

Here is where we look at Drupal modules running on less than 1% of reporting sites. Today we investigate Tota11y which helps you visualize how your site performs when using assistive technologies. More info on Blue Beanie Day can be found at bluebeanieday.tumblr.com.

Categories: Elsewhere

php[architect]: December 2016 – Scrutinizing Your Tests

Planet Drupal - Thu, 01/12/2016 - 19:58

The twelfth issue of 2016 is now available! This month we look at how to write good tests with Behat and using Test Driven Development. This issue also includes articles on using HTTPlug to decouple your HTTP Client, Decoupled Blocks with Drupal and JavaScript. Our columnists have articles on writing a Chat bot, advice on securing your application’s secrets, making better bug reports, respecting diversity, and a look back at 2016.

Download your issue and read a FREE article today.

Categories: Elsewhere

CiviCRM Blog: The quest for performance improvements - 2nd sprint

Planet Drupal - Thu, 01/12/2016 - 16:56

Three weeks ago I wrote about our quest for performance at the Socialist party. This week we had a follow up sprint and I want to thank you for all the comments on that blog.

During this sprint we have been looking into the direction of the amount of groups (+/- 2.700) and whether the amount of groups slowed down the system. We developed a script for deleting a set of groups from all database tables and we deleted around 2.400 groups from the system and we saw that this had an positive impact on the performance.

Before deleting the groups adding a new group took around 14 seconds. After removing 2.400 groups, adding a new group took around 3 seconds. So that gave us a direction in which we could look for a solution.

We also looked what would happened when we delete all contacts who have not a membership from the database and that also had a positive impact but not as huge as the reducing the amount of groups. The reason we looked into this is that around 200.000 contacts in the system are not members but sympathizers for a specific campaign.

We also had one experienced database guy (who mainly knows Postgres) looking into database tuning; at the moment we don't know what the outcome is of his inspection.

From what we have discover by reducing the groups we have two paths to follow:

  1. Actually reducing the amount of groups in the system
  2. Developing an extension which does functional the same thing as groups but with a better structure underneath and developed with preformance in mind. (no civicrm_group_contact_cache; no need for nesting with multiple parents; no need for smart groups).

Both paths are going to be discussed at the socialist party and in two weeks we have another sprint in which we hope to continue the performance improvements.

 

 

Drupal
Categories: Elsewhere

jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev

Devel - Thu, 01/12/2016 - 16:31
Dec 1, 2016 jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev
  • ee71375 test(jenkins): Use label.
Categories: Networks

jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev

Devel - Thu, 01/12/2016 - 15:41
Dec 1, 2016 jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev
Categories: Networks

SystemSeed: Can services adopt the future of devops?

Planet Drupal - Thu, 01/12/2016 - 10:36

Startups and products can move faster than agencies that serve clients as there is no feedback loops and manual QA steps by an external authority that can halt a build going live.

One of the roundtable discussions that popped up this week while we’re all in Minsk is that agencies which practice Agile transparently as SystemSeed do see a common trade-off. CI/CD (Continuous Integration / Continuous Deployment) isn’t quite possible as long as you have manual QA and that lead time baked-in.

Non-Agile (or “Waterfall”) agencies can potentially supply work faster but without any insight by the client, inevitably then needing change requests which I’ve always visualised as the false economy of Waterfall as demonstrated here: 

Would the client prefer Waterfall+change requests and being kept in the dark throughout the development but all work is potentially delivered faster (and never in the final state), or would they prefer full transparency, having to check all story details, QA and sign off as well as multi-stakeholder oversight… in short - it can get complicated.

CI and CD isn’t truly possible when a manual review step is mandatory. Today we maintain a thorough manual QA by ourselves and our clients before deploy using a “standard” (feature branch -> dev -> stage -> production) devops process, where manual QA and automated test suites occur both at the feature branch level and just before deployment (Stage). Pantheon provides this hosting infrastructure and makes this simple as visualised below:

This week we brainstormed Blue & Green live environments which may allow for full Continuous Integration whereby deploys are automated whenever scripted tests pass, specifically without manual client sign off. What this does is add a fully live clone of the Production environment to the chain whereby new changes are always deployed out to the clone of live and at any time the system can be switched from pointing at the “Green” production environment, to the “Blue” clone or back again.

Assuming typical rollbacks are simple and databases are either in sync or both Green and Blue codebases link to a single DB, then this theory is well supported and could well be the future of devops. Especially when deploys are best made “immediately” and not the next morning or in times of low traffic.

In this case clients would be approving work already deployed to a production-ready environment which will be switched to as soon as their manual QA step is completed.

One argument made was that our Pantheon standard model allows for this in Stage already, we just need an automated process to push from Stage to Live once QA is passed. We’ll write more on this if our own processes move in this direction.

Categories: Elsewhere

myDropWizard.com: Elysia Cron on Drupal 6? Audit your permissions!

Planet Drupal - Wed, 30/11/2016 - 21:07

As you may know, Drupal 6 has reached End-of-Life (EOL) which means the Drupal Security Team is no longer doing Security Advisories or working on security patches for Drupal 6 core or contrib modules - but the Drupal 6 LTS vendors are and we're one of them!

Today, a security update for Elysia Cron was released for Drupal 7 per the SA-CONTRIB-2016-062 security advisory.

All the update does is mark the permission to administer Elysia Cron as "dangerous" because it allows users to execute arbitrary PHP code. This is by design, it's an explicity feature of Elysia Cron - if it wasn't intended by the module authors it would have been a Remote Code Execution vulnerability. However, users might not be aware that permission grants the ability to execute PHP, hence the security advisory!

Unfortunately, there isn't a way to mark a permission as dangerous under Drupal 6. There isn't even a way to have seperate machine name and human-readable labels for permissions, so there isn't a straight-forward way to add a user visible message. :-(

So, the Drupal 6 Long-Term Support vendors (us included) have decided to simply announce the problem and ask anyone using the Elysia Cron to audit which users/roles have the "administer elysia_cron" permission and make sure it's OK that they can execute arbitrary PHP code.

We're going to be auditting the permission on our client's sites, so, if you're one of our customers - no need to worry! We'll contact you if we have any concerns.

If you'd like us to handle this and similar issues, as well as have all your Drupal 6 modules to receive security updates and have the fixes deployed the same day they're released, please check out our D6LTS plans.

Categories: Elsewhere

jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev

Devel - Wed, 30/11/2016 - 18:43
Nov 30, 2016 jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev
  • 77741c7 test(jenkins): Test if the patch fixes the randomly failing test.
Categories: Networks

Appnovation Technologies: Appnovation's 1st Drupal Code Sprint Day

Planet Drupal - Wed, 30/11/2016 - 18:29

On November 19th, Appnovation held their 1st ever Drupal Code Sprint Day, another sign of Appnovation's strong commitment to the Drupal open source community.

Categories: Elsewhere

Acquia Developer Center Blog: A Professional Software Engineer's Checklist

Planet Drupal - Wed, 30/11/2016 - 18:04

What defines a professional software engineer?

There isn’t a simple answer to that question, but after reading several books on the subject I identified some tips that I have found useful.

Tags: acquia drupal planet
Categories: Elsewhere

a-fro.com: Introducing MailChimp Automations for Drupal

Planet Drupal - Wed, 30/11/2016 - 16:25
Introducing MailChimp Automations for Drupal

Recent additions to Drupal 7’s MailChimp module and API library offer some powerful new ways for you to integrate Drupal and MailChimp. As of version 7.x-4.7, the Drupal MailChimp module now supports automations, which are incredibly powerful and flexible ways to trigger interactions with your users. Want to reach out to a customer with product recommendations based on their purchase history? aaron Wed, 11/30/2016 - 09:25

Categories: Elsewhere

jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev

Devel - Wed, 30/11/2016 - 15:47
Nov 30, 2016 jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev
  • 24ba943 test(jenkins): Use naming convention.
Categories: Networks

jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev

Devel - Wed, 30/11/2016 - 15:24
Nov 30, 2016 jfhovinne pushed to feature/NEPT-380 at ec-europa/platform-dev
  • 4156f9d Revert "test(jenkins): Make sure all errors are reported."
Categories: Networks

Pages

Subscribe to jfhovinne aggregator