Hello! You've arrived at part 2 of a series of 3 blog posts about the Mentored Core Sprint, which traditionally takes place every Friday at Drupalcon.
If you haven't already, please go back and read part 1.You may think sprinting is not for you ...
So, you may be the kind of person who usually stays away from the Sprint Room at Drupal events. We understand. You would like to find something to work on, but when you step in the room, you get the feeling you're interrupting something really important that you don't understand.
It's okay. We've all been there.
That's why the Drupal Community invented the Mentored Core Sprint. If you stay for this sprint day, you will be among friends. You can ask any question you like. The venue is packed with people who want to make it a useful experience for you.Come as you are
All you need in order to take part in the first-time mentored sprint are two things:
- Your self, a human who is interested in Drupal
- Your laptop
To get productive, your laptop needs a local installation of Drupal. Don't have one yet? Well, it's your lucky day because you can your Windows or Mac laptop set up at the first-time setup workshop!Need a local Drupal installation? Come to the first-time setup workshop
After about half an hour, your laptop is now ready, and you can go to the sprint room to work on Drupal Core issues ...You do not need to be a coder ...
You do not need to be a coder to work on Drupal Core. Let's say, you're a project manager. You have skills in clarifying issues, deciding what needs to be done next, managing developers, and herding cats. You're great at taking large problems and breaking them down into smaller problems that designers or developers can solve. This is what you do all day when you're at work.
Well, that's also what happens here at the Major Issue Triage table!
But - you could just as easily join any other table, because your skills will be needed there, as well!Never Drupal alone
At this sprint, no-one works on their own. You work collaboratively in a small group (maybe 3-4 people). So, if you don't have coding or design skills, you will have someone alongside you who does, just like at work.
Collaborating together, you will learn how the Drupal issue queue works. You will, most likely, not fix any large issues during the sprint.Learn the process of contributing
Instead, you will learn the process of contributing to Drupal. You will learn how to use the issue queue so you can stay in touch with the friends you made today, so that you fix the issue over the coming weeks after Drupalcon.It's never too late
Even if you've been in the Drupal community for over a decade, just come along. Jump in. You'll enjoy it.
A very welcoming place to start contributing is to work on Drupal documentation. This is how I made my first contribution, at Drupalcon London in 2011. In Vienna, this table was mentored by Amber Matz from Drupalize.Me.
This is one of the most experienced mentors, Valery Lourie (valthebald). We'll meet him again in part 3, when we come to the Drupalcon Vienna live commit.
Here's Dries. He comes along and walks around, no one takes any notice because they are too engaged and too busy. And so he gets to talk to people without being interrupted.
This is what Drupal is about. It's not about the code. It's about the people.
Next time. Just come. As a sprinter or a mentor. EVERYONE is welcome, we mean that.
This is a three-part blog post series:
Part one is here
You've just finished reading part two
Part three is coming soon
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.rajamohamed Sat, 03/24/2018 - 10:31
During the redesign process of a website, there are many small changes that can ultimately affect the traffic of the new site. The key is to identify any changes that might break SEO, or changes that might affect the way the site looks to search engine spiders ahead of time to avoid traffic drops. In the end, we want the site to look fresh and new while still getting the same traffic, or more, as the old design.
At Zivtech, we look at many factors in the planning phase of a website redesign project and try to identify those that could cause drops in traffic after the new design is launched. Once these have been identified, we ensure all of these tasks have been completed before launch. Let’s take a look at some of these factors and how to avoid traffic drops on your next website redesign project.Meta Tags
We typically build sites with Drupal, so the Metatag module handles much of the meta tag configuration and display on the site. If you aren’t using Drupal though, there could be some changes to your front-end design that could affect your meta tags and confuse search engine spiders. You’ll need to make sure that all of your pages have meta tags and that there aren’t any duplicates.Broken Links
Broken links are a huge problem during website redesigns. This could be a result of changes in the menu structure or in path structures for content types. Broken links mean that users and search engines can’t find the pages they’re looking for, which can really wreak havoc on your site traffic statistics.Read more
In my last post, we discussed why marketers might want to migrate their content to Drupal 8, and the strategy and planning required to get started. The spreadsheet we shared with you in that post is the foundation of a good migration, and it usually takes a couple sprints of research, discussion, and documentation to compile. It’s also a process that’s applicable to all migration of content, no matter the source or destination framework.
Under certain circumstances, it might be necessary to build a specific version of Lightning with dependencies exactly as they were when it was released. But sometimes building older versions of Lightning can be problematic. For example, maybe a new dependency conflicts with an old one, or a patch no longer applies with an updated dependency.
In that case, you can use the new "Lightning Strict" package to pin all of Lightning's dependencies (and their dependencies recursively) to the specific versions that were included in Lightning's composer.lock file when it was released. (If this sounds familiar, a "Drupal Core Strict" package also exists that does the same thing for core. But note that package is incompatible with Lightning Strict since Lightning uses PHP 7.0 when building its lock file.)
In this example, we want to build Lightning 2.2.4 - which contains the migration to Content Moderation, Workflows, and Lightning Scheduler:$ composer require acquia/lightning:2.2.4 balsama/lightning_strict:2.2.4 --no-update $ composer update
Assuming you were updating from Lightning 2.2.3, you could then follow the update instructions for 2.2.4 found in our release notes. In this case, they are:$ drush updatedb && drush cache-rebuild $ drupal update:lightning --since=2.2.3
Once you've updated to the most recent version, you can remove the dependency on balsama/lightning_strict.
The package will automatically be updated when new versions of Lightning are released. Hopefully this will solve some of the problems people have experienced when trying to build older version of Lightning.
One of the things we do on an annual basis for our clients at Advomatic is an annual site audit – a high level kick-the-tires kind of site inspection. For Drupal sites, we check the logs for any glaring errors, check for overrides in Features, run some SEO and accessibility testing, and, of course, take it... Read more »
Encrpt and Decrypt text in the URL's, In general, while Anonymous user's are given access to make some DB operations via UI, then important thing to make sure is its not hackable.. For this to make sure, minimum thing to do is encrypt the piece of text for the end user and decrypt back piece of text while doing the backend operation..heykarthikwithu Thursday, 18 January 2018 - 18:19:35 IST
Do you remember the awesome module Bibliography and Citation for Drupal 8? It allows keeping, outputting, exporting and importing bibliographic data.
Our web development team ADCI Solutions has come up with the addition - the Bibliography and Citation - Altmetric module.
One of the great things about Drupal, is that it's possible to build a pretty advanced site just by pointing and clicking and configuring things - what we call "site building" in the Drupal universe.
But with all that power, you can also make your Drupal site less secure - and possible to hack! - just by changing configuration settings! We covered other examples of this in a previous article.
Today we're going to talk about one of the most common... and most DANGEROUS: exposing your Drupal private files on the internet.
In this article we're going to discuss how to determine if your private files have been exposed, and also how to fix it.
Read more to find out!
We're Drupalers who only recently started digging deep into CiviCRM and we're finding some really cool things! This series of videos is meant to share those secrets with other Drupalers, in case they come across a project that could use them. :-)
You may recall the blog post that David put out way back in August 2017. He gave some very detailed instructions on how you can install CiviCRM on Drupal 8!
We have some new Drupal versions released since August, and we've had some requests to demonstrate how to go through some of the steps. So, I'm going to do just that!
Every step will be followed quite literally. Note that David assumed this was being installed on a development system running Linux. Since I'm running a Mac, this should be a great cross-platform test.
Watch the screencast to see if I run into any issues with the instructions:Video of CiviCRM secrets for Drupalers: Screencast of Drupal 8 + CiviCRM Installation
Some highlights from the video:
- Very quick install of Drupal 8 on a Mac running MAMP
- Download and installation of CiviCRM
- Brief comments along the way as I follow the steps
- Finish with a working Drupal 8 + CiviCRM site!
Please leave a comment below!
The blog is follow up on our previous post “My First Impression of Learning AngularJS” where I shared my experience of working in AngularJS. This blog is intended to take you one step ahead and have a better understanding of basic operation workflow. In Angular, we have a concept of ‘Data-binding’ that means synchronization of data between a view to model or model to view (technically).
From the business perspective: Change in the logic (backend) impacts front-end (view) and vice versa.
This article is the first in a series about different Continuous Integration implementations for Drupal 8 projects. Each installment will pick a CI technology and go over its pros and cons for implementing the following set of jobs when someone creates a pull request:
- Run unit and kernel tests.
- Generate a PHPUnit coverage report.
- Check Drupal's coding standards.
- Update the database and run Behat tests.
In this article, we will start with CircleCI, a SaaS platform. Thanks to work initiated by Andrew Berry at drupal_tests—if you maintain a Drupal 8 module, check it out—I can present you a single-command installer to get your Drupal 8 project started with Continuous Integration using CircleCI.
Here is a clip where I take a vanilla Drupal 8 project created with composer-project, I run the installer and commit the files, and when I allow CircleCI to watch the repository I see the jobs running:Videos require iframe browser support.
For details on how to run the installation script and connect your repository with CircleCI, have a look at the repository's README.Killer features
Once you have the setup in place, your project will benefit right away from the following features:Less infrastructure to maintain
When code is pushed to a GitHub repository, CircleCI takes care of spinning up and tearing down containers for each of the jobs that you have defined in the CircleCI configuration file. CircleCI provides a set of pre-built images for you to use on your project but you can use a custom Docker image if you need it. For example, here is the Dockerfile that the installer script uses:# This is the parent image, located at https://hub.docker.com/_/drupal FROM drupal:8.4-apache # Install libraries and extensions. RUN apt-get update && apt-get install -y \ imagemagick \ libmagickwand-dev \ mariadb-client \ sudo \ vim \ wget \ && docker-php-ext-install mysqli \ && docker-php-ext-install pdo \ && docker-php-ext-install pdo_mysql # Remove the vanilla Drupal project that comes with the parent image. RUN rm -rf /var/www/html/* # Change docroot since we use Composer's drupal-project. RUN sed -ri -e 's!/var/www/html!/var/www/html/web!g' /etc/apache2/sites-available/*.conf RUN sed -ri -e 's!/var/www!/var/www/html/web!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf # Install composer. RUN wget https://raw.githubusercontent.com/composer/getcomposer.org/f3333f3bc20ab8334f7f3dada808b8dfbfc46088/web/installer -O - -q | php -- --quiet RUN mv composer.phar /usr/local/bin/composer # Put a turbo on composer. RUN composer global require hirak/prestissimo # Install XDebug. RUN pecl install xdebug-2.5.5 \ && docker-php-ext-enable xdebug # Install Robo CI. # @TODO replace the following URL by http://robo.li/robo.phar when the Robo team fixes it. RUN wget https://github.com/consolidation/Robo/releases/download/1.1.5/robo.phar RUN chmod +x robo.phar && mv robo.phar /usr/local/bin/robo # Install Dockerize. ENV DOCKERIZE_VERSION v0.6.0 RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz # Install ImageMagic to take screenshots. RUN pecl install imagick \ && docker-php-ext-enable imagick Status badges
By adding a CircleCI status badge to your project’s README file, you can check whether the main branch is stable or not:undefined
This is useful when creating a new release. If the badge is red, then you need to investigate what’s going on. Beware, there is an open bug in CircleCI that may display the green PASSED badge even when one of the jobs in a workflow has failed. Until this gets fixed, click on the badge to double check that everything passes.Version control
CircleCI’s jobs live within the project repository under the .circleci directory, which makes it easy to track changes in the jobs and make them evolve along with the project.Intelligent reporting
CircleCI is intelligent at presenting job artifacts. Here are some screenshots:Failed tests
By storing test results as artifacts, CircleCI can parse them and present them in the browser:undefined Links to screenshots taken by Behat
By using the Behat Screenshot extension and storing the screenshots as job artifacts, we can see them as a list of links in the browser:undefined
Here is what we see when we click on the highlighted link above:undefined Coding standard violations
CircleCI can parse the Code Sniffer report and present a summary of Drupal coding standard violations:undefined Test coverage reports
By generating an HTML PHPUnit report and exposing it as an artifact, we can see a link to the report at the CircleCI web interface:undefined
The highlighted link above shows the following report which describes how much of the code is covered by tests:undefined Running CircleCI jobs locally
CircleCI offers a command line interface for running jobs locally. This is a big time saver as it gives you a chance to test and debug a job locally before pushing your changes.undefined Ready to take off!
Do you have a Drupal 8 project and want to try Continuous Integration with CircleCI? If so, follow the instructions at the Drupal8CI repository and start writing tests and getting the jobs to pass. If you find issues or add improvements, please either post a comment here or contribute them to the repository. Happy CI-ing!Acknowledgements
- By : Ganesh
- Date :17-01-2018
With so many shiny new Drupal 8 modules emerging this year, we were hard pressed to pick our recommendations for 2018. It came down to asking ourselves: which modules are we excited about implementing in 2018… the ones that will make our projects better, faster, smarter brighter? Read on for our list of Drupal 8 modules we're excited about.Configuration Split
The Drupal Configuration Split module makes Drupal 8 configuration management more customizable. This means you can set up some configurations that can be edited on the live site, without interfering with your configuration management workflow. Instead of importing and exporting the whole set of a site’s configuration, the module enables you to define sets of configuration to export to different directories that automatically merge again when they are imported.Content Workflow
If you’ve shied away from implementing complicated workflows in the past, you’ll enjoy how the Content Workflow module makes it easy to set up a simple workflow. This core module enables you to streamline the content publication process by defining states for content (such as draft, unpublished and published) and then manage permissions around these states.Deploy
The Deploy content staging module makes it easier to stage and preview content for a Drupal site. It’s often used to deploy content from one Drupal site to another. Redesigned for Drupal 8, the new version is based on the Multiversion and Replication modules, making it more efficient and flexible.Drupal Commerce
The new full release of Drupal Commerce has us very excited to start building ecommerce sites in Drupal 8. Fully rebuilt for Drupal 8, the new Drupal Commerce module doesn’t presume a specific ecommerce business model, enabling developers to customize the module to suit a merchant’s needs.JSON API
The JSON API module formats your JSON requests and responses to make them compliant with the JSON API Specification. This module is the key to setting up Drupal as a backend so you can implement the font-end with React or your front-end platform of choice.Schema.org Metatag
Ramp up your SEO with structured data that helps Google categorize and display your pages. The Schema.org Metatag module allows you to add and validate Schema.org structured data as JASON LD, one of Google’s preferred data formats.UI Patterns
If you’re looking for a way to implement an ‘atomic design’ in Drupal the Drupal UI Patterns project is a nice option. It consists of six modules that allow you to define and expose UI patterns as Drupal plugins. You can use them as drop-in templates for all entity types — paragraphs, views, field groups and more.Webform
The Drupal webform module has a new release candidate for Drupal 8. A ton of work has been put into the module; it’s like a whole form-building application inside your Drupal site. Quickly integrate forms into any Drupal 8 website. enables you to build, publish and duplicate webforms. You can also manage and download submissions, and send confirmations to users.Which Drupal 8 modules are doing it for you?
We’d love to hear about which Drupal 8 modules your team is excited about. Leave us a comment.
+ more awesome articles by Evolving Web
Spoiler alert! If you haven't seen “The Last Jedi” yet, this blog post includes what can be considered a minor spoiler. I've seen the movie a few times now (I saw the original Star Wars movie when I was 7 years old, and I've been hooked ever since), and I've been able to fully indoctrinate at least one of my kids in my love for the series. When we first saw the movie on opening night, there was a line of dialog that resonated with me more than usual - I've been thinking about that line for over a month now and have figured out how to relate my love of Star Wars with my obsession for teaching Drupal.
"The Greatest Teacher, Failure Is"
There's a point in the movie when Yoda is speaking to another character and utters this line. As a former mechanical/aerospace engineering college adjunct professor and a current Drupal trainer, I've always believed that for a lesson to truly take hold, there has to be a little bit of pain - not physical pain, but rather the kind of pain that comes from doing something incorrectly (often numerous times) before realizing the proper way of doing something that leads to a more satisfying, correct (and often efficient) result. As usual, I didn't have the proper words to describe it - thanks to Yoda, I do now.
As I look back at my eleven years in the Drupal community, I can point to more things that I care to admit that I didn't do correctly the first time. If I narrow that list to technical mistakes, it becomes very clear that many of the mistakes I've made have had a direct impact on the curriculum I've written for our various training classes.
As we gear up to teach Mastering Professional Development Workflows with Pantheon for the second time, allow me to share some of the failures I've had in the past and how they've had a direct result on the curriculum for this 6-week class.
- "Everything is a content type" - this is something I learned only by repeatedly designing the information architecture for various sites that ended up not being able to completely fulfill all the project's requirements. Understanding the differences between various kinds of entities is key to building a sustainable site that meets 100% of a project's requirements.
- "Core search is fine" - I'm embarrassed to say how late I was to get on board the Search API train. Being able to provide faceted search to clients of all sizes is a huge win.
- "I don't need the command line" - looking back at the first half-ish of my Drupal career, I used Drush only when absolutely necessary. Not learning basic command line tools until well into Drupal 7 definitely held me back. With Drupal 8, if you want to be a professional Drupal developer, there is no way to avoid it. Luckily, using command line tools like Composer, Drush, and Drupal Console are not only "the right thing to do", but also save time.
- "MAMP is fine" - I was late to the party in moving my local development environment from MAMP and Acquia Dev Desktop to a Docker-based solution. I had played around a bit with virtualized solutions, but once you get accustomed to a professional-grade, modern, Docker-based solution, you'll never go back.
While I could list additional examples (multi-branch development, configuration management, display modes) of previous failures - or even one or two that I feel like I'm currently failing (test-driven development), the point is that sometimes it is necessary to fail in order to really understand the value of a success.
DrupalEasy's 6-week live, online Mastering Professional Development Workflows with Pantheon, not coincidentally, addresses the failures listed above. The next session begins on February 27, 2018.
The next session (our 11th!) of our 12-week, live, online more-introductory-focused Drupal Career Online begins March 26, 2018.