As previously announced, there will be a Drupal 7 core bug fix/feature release this week (alongside the upcoming Drupal 8 patch release).
The release will be labeled Drupal 7.50 (which is a version jump compared to the current 7.44 release); this is to indicate that this release, although still part of a stable release series, is a bit larger than normal and makes a few more changes and new features available than normal.
The release is expected on Thursday, July 7 to give a bit more time for final testing.
The final patches for Drupal 7.50 have been committed and the code is frozen (excluding documentation fixes, fixes for any regressions that may be found in the next couple days, and changes/additions to "experimental" features not yet intended for production sites). So, now is a wonderful time to update your development/staging servers to the latest 7.x code and help us catch any regressions in advance.
There are six relevant change records for Drupal 7.50 which are listed below. This is not the full list of changes, rather only a list of notable API additions and other changes that might affect individual sites or particular contributed modules, so it's a good place to start looking for any problems:
- New "administer fields" permission added for trusted users
- Drupal 7 core is now protected against clickjacking by default (X-Frame-Options: SAMEORIGIN)
- Added support for full UTF-8 (emojis, Asian symbols, mathematical symbols) on MySQL and other database drivers when the site and database are configured to allow it
- Performance improvements for drupal_get_filename(), which will now trigger a PHP warning when it can't find a file (unless the new $trigger_error parameter is set to FALSE)
- PHP callables can be used in more places in the Ajax system and form API (for PHP 5.4 and higher)
- Users are now logged out automatically when following a password reset link
For more information on the release, see the tentative CHANGELOG.txt for Drupal 7.50, the corresponding list of important issues that will be highlighted in the Drupal 7.50 release notes, and the full list of changes in the Drupal 7 commit log.
If you do find any regressions, please report them in the issue queue. Thanks!
Note: Our recently-added Drupal 7 co-maintainers (stefan.r and Fabianx) and I will consider continuing to do larger Drupal 7 releases like this one every six months or so (in keeping with Drupal's new release cycle), if there is interest and continued contributions from the community. See the ongoing discussion for further details.
For anyone who's ever looked up a definition of a Drupal term and been left wondering what it all means, here are some practical real world explanations you can use to navigate the Drupalverse. Watch this space and use comments to send us your requests.
Aliases: URLs in Drupal often have multiple addresses or aliases. This helps avoid complex machine generated addresses and makes your pages more search engine friendly. Through a variety of methods aliases can be generated automatically according to predefined patterns and then changed or updated in bulk. It is one of Drupal’s most powerful features and is used for everything from SEO to structuring a site and its navigation.
Block: A block is essentially a container that can hold content, lists of content, code, images or text strings and can be placed into a region on a page. Blocks can be created programmatically by a Drupal module or manually. Core Drupal can be extended with contributed modules that create other containers with different names that can be used by Drupal in a similar manner as blocks. This can become confusing to understand and manage especially when more than one method is used on a site. Blocks are the primary means for managing page layout in Drupal core. Blocks can be placed in a region and then configured to be visible only under specific conditions such as a user’s role or the type of content displayed in the main content region of a given page. Once common, the use of executable code in a block in order to bring about a desired behavior on a page can introduce security risks and management overhead. Justified exceptions should be managed closely. Other methods such as development of a custom module are preferred. The ability to add additional fields to blocks in Drupal 8 makes placing marketing automation and web analytics code in blocks more practical.
Content Type: A content type is a collection of data fields grouped together in a logical set to facilitate content entry and display. Default behaviors, such as preview, publish, save as draft or revision, are set up for each content type. Drupal core is preconfigured with two content types, Article and Basic Page. Users with appropriate permissions can create their own custom types. Think of a content type as the structure of the form you create to save multiple posts. A website about food might have a content type ‘Recipe’ that would include individual fields to collect data about ingredients, quantities, cooking time, etc. The Recipe content type could be used to create hundreds of individual Recipe records.Tagged with Comments
Discovery is the part where you make it your business to find out what you don’t know you need to know. Discovery is a process, not a workshop or a questionnaire. There’s a reason why it's called Discovery. You may think you know what you're going to find but often you don’t. Your goal is to uncover any unanticipated issues or complexity and ultimately use the process to generate consensus around priorities and a project plan.
There are three fundamental steps to any really good discovery process. If you don’t fully embrace these steps and execute them with rigor you stand a good chance of missing something critical that can stall or even completely undermine your project. Rushing through discovery will almost always guarantee delays and additional costs. Many organizations will contract for discovery separately. The good news is the steps are simple. They are: think, ask, listen; rinse and repeat. Think carefully about your overall goals, your specific objectives, your resources and budgets and then formulate a thorough list of questions. Do this singularly by yourself and then invite your team members to do it with you. Broaden it to all your stakeholders. Don’t just go to your stakeholders for answers. Go to them for the questions too. Having them be part of the discovery planning will help you achieve buy-in later in the project and will support accountability.
Once you’ve got your questions go out and get your answers. Look at things from all angles and perspectives. Then begin to iterate. Rinse and repeat means that you challenge the answers you’ve been given and you seek to validate them from other angles and different sources.
There is a science to a good discovery but good discovery is also an art. Experienced technologists know what to ask and what to listen for. They know how to reform questions to get more precise and accurate information that will help generate a project scope and specifications.
These steps are the same whether you do your own discovery in-house or with help from a consultant or services organization. Make sure you have at least one person on the discovery team who has senior-level experience with the technology you expect to build out your project with whether it is Drupal or something else. Certainly take advantage of any specific methodologies, templates and/or applications that align with your organization's policies and workflows.Tagged with Comments
Half of the Google Summer of Code coding period has passed and my project now has all the core functionality in it. For those who don’t know, Pubkey Encrypt is a D8 module in development, which aims to encrypt and secure websites’ data-at-rest using login credentials. I started week 6 work by finalizing everything we had done till then, so to get the module in shape for an immediate alpha release. I think it’s very important to release the project early, with a bit less functionality and tagged as an alpha version, instead of releasing it with full functionality at the end of GSoC. This is because of the fact that the module deals with security. And as is the case with any security-related project, there is a lot of chance for unexpected issues to come up during alpha testing in a real-world environment. Luckily, we are ahead of the project timeline we planned in February, by a few weeks. So I’m confident that we’ll be able to tackle any such issues that might come up unexpectedly, no matter how severe they are.
Clutch.co, a research firm based in Washington, D.C. dedicated to identifying the leaders in a variety of digital industries, has named ImageX as their top Drupal development agency. ImageX was awarded this spot after nine client projects were reviewed by Clutch, with ImageX achieving an overall client satisfaction score of 4.8/5.
There are many suggestions for how to go about theming field collections and several confusing problems.
Each day, more Drupal 7 modules are being migrated over to Drupal 8 and new ones are being created for the Drupal community’s latest major release. In this series, the Acquia Developer Center is profiling some of the most prominent, useful modules available for Drupal 8. This week: Google Analytics.Tags: acquia drupal planetanalytics
Recently, I started using the Paragraphs Module to create landing pages.
If you haven’t used it before, go check it out. It’s really user-friendly. I feel like it’s a replacement for field collections. However, unlike field collections, paragraphs allow you to choose a different set of fields each time.Contributed modules mentioned in this post:
Finding a great hosting company is kind of like winning the lottery. You never know who to choose or who to trust with your own website or your client's websites.
With the help of the Drupal Linkedin Group and my own 20+ years of website experience, I've put together a list of some great hosting options for your Drupal Website.
Whether you need cheap Drupal hosting for a startup or top-notch hosting for a huge client, there are some great Drupal hosting options for you.
Deploying your website to production shouldn't be stressful. It should be easy. You should release with confidence.
To make that a reality, you need a repeatable, reliable and most importantly automated deployment process. BLT provides tools for connecting your GitHub, Travis CI, and Acquia Cloud accounts together to ensure that changes to your website are validated, tested, and deployed automatically.Tags: acquia drupal planetbltdeploy
DrupalCon is one of my favorite weeks of the year. Now that it’s over, I’ve had some time to go back and reflect a bit about the week and what I got out of it.
Let’s delve into Drupal module development!
Here is a practical guide by InternetDevels developer
on how to create modules for Drupal 8.
In this article, we will look at the process of building modules for Drupal 8. Specifically, we will create two pages, one of which will add data to its own table, and the other will display the content the right way for us. So let’s begin!Read more
The Dish on Crushing it as a Drupal Developer
Whether you are with an organization switching to Drupal, or you have chosen to make Drupal the focus of your web developer career, your future can be a lot of different things depending on your goals, your focus and your personality. It’s never easy shifting your career, and with Drupal, there are no official, defined developer career recipes to guide you.
The good news is, the ingredients are out there. Within the open-sourcey, especially welcoming, social melting pot that is the Drupal Community, there are a lot of career resources, organizations, individuals, advice and success stories that you can draw on to help you make good choices. Here are a few tips to add to the mix.
Learn early on to do things the right way
Drupal is to web development what snowboarding is to winter sports. They say that it takes a lot longer to learn to snowboard than to ski, but once you get the hang of it, you learn advanced things more quickly, and are able to do a lot more (and have a lot more fun) on a snowboard than you could on skis.
Investing a good amount of time and focus on learning the foundations of Drupal and developing habits based on best practices will really help you reach proficiency, and let you go farther, faster in the long run. The key is making sure you take the time to learn best practices, and don’t go for shortcuts before you’ve got the basics.
Another part of learning the right technical skills is to learn key elements of Drupal, not just in the right way, but in an order that will give you stackable skills. Getting key concepts down at the start will help to not only build your abilities, but feed your confidence. At DrupalEasy, we call them the Big 5:
We feel that mastering these concepts is so important, that in our long-form career training program, the curriculum is designed with examples and excercises that specifically draw on the Big 5 as solutions over and over to ensure that they become second nature for every participant.
Don’t be shy, even if you are
The Drupal Community is unique. There is always an opportunity to help, and there always seems to be someone to provide a little guidance or an answer when you have a question. Make sure you become part of Drupal.org, find an IRC channel that you feel comfortable with, and go to local meetups.
We really can’t overstate how key getting involved in the Drupal community is to your technical and professional success. Once you register on Drupal.org, you can access myriad ways to get involved and help with the Drupal project. Helping to test, sorting out issues and contributing to documentation will not only help build your skills and confidence, it will build your reputation. Even before you are ready to contribute on the technical side, you can join your local Drupal Users’ Group and start by attending, meeting others, and eventually helping to organize events.
Drupal friends and mentors really come in handy as you progress along your career path, more so than in other industries because of the nature of Drupal. We all rely on each other to build, enhance, fix and grow the project, so the more we work together, the better the project, and the better we will be as Drupal professionals. We feel really strongly about this as well, which is why we require all of our Drupal Career program participants to get involved, and we provide everyone a community mentor to kick-start their community efforts from the start of the program.
Just do it, and do it again, and again
With anything, if you want to master it, you need to practice, and practice a lot. Build sites for fun and experience. Like snowboarding, it is especially hard when you first start out, but if you stick with it, and take the struggles as opportunities to learn and get better, you will surely succeed. You’ve also got a lot of potential help and guidance through the community (since you have already taken that advice to heart,) so take advantage of it early on and be prepared to give back when you can.
Our training programs stress this concept of practice, repetition of key skills as you learn more and more, as well as different methods to help you learn them. We are strong believers in building your skills and really understanding Drupal, and that means live instruction by practicing experts, lesson guides, examples, exercises and screencasts to help you soak in the material in different ways. However you learn, take advantage of resources, find different ways to absorb and engage, and practice, practice, practice.
If you would like to learn more about how to succeed in Drupal and our long-form training program, you can sign up for one of two, no-cost Taste of Drupal workshops coming up and explore the resources below.
Taste of Drupal free workshop
Drupal Career Online Program
Last week the Couchbase team released the new 4.5 version of Couchbase Server.
You can see all the new introduced features here:
- Exposing reverse entity reference fields in Drupal
- Drupal Session Handler: everything you need to know
- Couchbase 4.5 released: now x6 faster than MongoDB
- Making namespaced callbacks work in Drupal 7 (without hacking core and with bound parameters)
- Drupal 8 Couchbase Integration
- Distinct options in a views exposed filter: The Views Selective Filters Module
- Twig PHP extension binaries for Windows
- Benchmarking Drupal 7 on PHP 7-dev
- Drupal 8 Wincache Integration
- Build GIT on Windows from Sources