We've all heard of Twitter, how it can help you boost your business and engage with your supporters. But have you ever noticed that some tweets now come with a nice little description, or maybe an image, or even an embedded video?
That's the magic of Twitter cards, and you can do it with Drupal.
When using Features module to move changes from one development environment to the next, it can be tricky to track which Feature ought to be 'reverted' in order make the new code be incontrol. Sure you can revert them all in one shot with `drush features-revert-all`, but that is pretty intensive to do especially on a production site and can lead to some race conditions.
By default a Drupal site has a lot of flexibility when it comes to assigning user roles and permissions. There are times however when the default flexibility is not quite enough. The Drupal Role Assign Module extends this flexibility a little by allowing more fine grained control over setting user roles.
The Drupal RoleAssign module allows you to allow other roles to assign users roles... confused yet? An example might be helpful. Assume you have the following Drupal roles on your site:Tags: DrupalUsersDrupal 7Drupal Planet
We are thrilled to announce that, in collaboration with the Drupal 8 branch maintainers, the Association is launching a brand-new program: Drupal 8 Accelerate. Modeled after our Community Cultivation Grants program, Drupal 8 Accelerate is a $125,000 fund to help solve critical issues and accelerate the release of Drupal 8.
The Drupal community is filled with a plethora of opinions and ideas, but there’s one thing we likely all agree on; we’re ready for Drupal 8 to be released! This anticipation is underscored by the record number of contributors to D8 - over 2400. Now it’s time for the Drupal community to rally and finish the job. The Drupal Association wants to help you make that happen. After all, our mission is to unite a gobal open source community to build and promote Drupal.
The Drupal 8 Accelerate Program is a $125,000 fund provided by the Drupal Association (and by extension, all the Association members and Partners who fund our work - so thank you). Grants will be made in two categories: branch maintainer requests and community requests. This two-branch system means that funds can be directed by the people most intimately familiar with the project needs while still allowing for our amazing community to come up with innovative ideas that have a big impact. The Association will also be providing logistical support to the branch maintainers throughout the process.
While the Association is providing the funds and the support, we are not deciding WHAT gets funded. This gets handled by the branch maintainers, keeping the Association on the right side of the “we don’t direct the project” line. The Drupal 8 Accelerate program is a fantastic opportunity for the Association to support and amplify community efforts. All of our favorite work at the Association follows this model - DrupalCon session selection, Community Cultivation Grants, Global Training Days, and DrupalCamp Fiscal Sponsorship to name a few. We’re here to make it easier for you to innovate, and this program is yet another example.
Of course, this is the first time our community has tried anything like this, so we expect that we’ll be learning a lot as we go. As always, we are looking for your feedback and help so that we can improve.
How can you help? Let me count the ways:
- Help promote the program. Share this blog post on Twitter, Facebook, and other places your Drupal friends hang out online.
- Apply! Take this program back to your user group, company, or friends and dream big. If you have a great way to help push Drupal 8 to release, we want to hear about it.
- Help fund the grants. The Association has pledged $125,000 because we think this program is THAT important. But we’re looking for community support to help make this investment. You can become member, a partner, or talk to us about making a contribution directly to the fund.
Drupal core announcements: Priorities for the upcoming Drupal 8 critical issue sprint (Dec. 10-14 in Ghent, Belgium)
Our top priority for the sprint will be to make progress on D8 upgrade path blockers (critical issues with the 'D8 upgrade path' tag) that affect the Entity Field API, Views, and the Configuration System. Here are the specific issues we have targeted:
- #2372855: Add content & config entity dependencies to views
- #2341357: Allow the entity area to use UUIDs instead of IDs and provide autocompletion
Discuss and plan our approach. (The second issue, #2341357, is a soft blocker that covers part of the scope of the first, #2372855.)
- [PP-1] Figure out what to do in Views when entity schema changes
Discuss and plan our approach.
- #1934152: Figure the out if we want global config overrides to stick (settings.php overrides don't work on all pages)
Discuss, make a decision, and move forward.
- #2278017: [PP-1] When a content entity type providing module is uninstalled, the entities are not fully deleted, leaving broken references
- #2338873: [PP-2] Modules providing non-configurable field storage definitions can be uninstalled, leaving orphaned unpurged data
These issues are postponed on #2335879: Change SqlContentEntityStorageSchema::requiresEntityDataMigration() to ask the old storage handler if it has data rather than assuming yes unless NULL storage, but that will hopefully land before the sprint. The first issue (#2278017) is proceeding well and can hopefully be wrapped up in the sprint, and then the second (#2338873) will hopefully be a straightforward application of the same pattern. In addition to these issues, we may also want to create a new issue to add a config validator that does the same validation check during a config deployment.
- #2183983: Find hidden configuration schema issues
- #2387149: Display extenders are not possible to describe with config schema
- #2387157: Cloning display into another display also stores options that are not supported by the new display type
Agree on the API needed for the Views child issues. Then, continue to resolve outstanding failures in the main issue. It would be great to either finish these by the end of the sprint or get far enough to know the reason for each remaining failure to have confidence there's no lingering huge problem! (#2387141: Missing field configuration schemas across core tests should be hopefully done before the sprint starts.)
- #2232477: Fatal when adding new fields with NOT NULL constraints in a base table that contains existing entities
This issue was discussed in Amsterdam, committed, and then reverted. yched has been working on the patch since; we could probably focus on this issue together and discuss the issues with the previous patch to move this forward.
Another goal of the sprint is to triage critical issues in the core queue to assess their relevance and priority. (You can help by making sure any open critical issues you are following have up-to-date issue summaries.)Sponsors
If you have any questions about the upcoming sprint, contact xjm.
Anecdotally, Drupal 8 is slower than anything before it - maybe 4x slower. While installing Drupal 8.0.0-beta3 so I could work on upgrading the Masquerade module, I found the installer dreadfully slow. I started a timer when I got to the Batch API-enabled "Install site" page. The installer ran for 10 minutes to get as far as step 32 of 37. Then it errored-out.
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: http://localhost/drupal8/core/install.php?langcode=en&profile=standard&i... StatusText: OK ResponseText: ( ! ) Fatal error: Maximum execution time of 30 seconds exceeded in /Users/davidnorman/Sites/drupal8/core/lib/Drupal/Core/Extension/ModuleHandler.php on line 261
I've installed Drupal probably thousands of times and I knew my MacBook Pro Retina, 3rd-generation quad core i7 processor with a SSD wasn't a bottleneck. At the time, I only had one extra PHP extension enabled - Xdebug (see my phpinfo()). It only had a basic configuration. Sometimes I enable things like xdebug.collect_assignments or xdebug.show_local_vars, but even those weren't enabled at the time.[xdebug] zend_extension="/usr/local/Cellar/php56-xdebug/2.2.6/xdebug.so" xdebug.auto_trace = On
To get Drupal to install, I commented the Xdebug zend_extension at /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini, did a brew install php56-apcu, and restarted my MacBook.
After I swapped Xdebug for APCU, the "Install site" portion of the Drupal 8 installer took only 30 seconds to complete and did not time-out, versus the 10 minutes with ultimate failure while Xdebug was enabled.
At this point, I'm seem to be left to conclude that if I wanted to use Xdebug to debug the installer, that my only option is to increase the default 30 second timeout in my /usr/local/etc/php/5.6/php.ini. Alternatively, if I want to use Xdebug for day-to-day module development, that I'll need to disable Xdebug temporarily to get a local install setup.
Drupal 8 does a lot more stuff to process a page. Core developers have succeeded in moving most of the code to use object oriented methods with namespaces and protected variable spaces, but at the expense of turning a vanilla install into about 76MB. Drupal 7.34 is only 15MB.
To make a point, I inserted a debug_print_backtrace() in EntityAccessControlHandler::access(). This is a basic call in core that would check access on anything that's an entity - users, nodes, etc. After Firefox choked on the resulting output, I attempted to make a snapshot of the page using Evernote to link to in this article. Instead, even Evernote told me that the page was too big to capture.
I guess I don't really have any other point to make. It's not like this article is going to make Drupal 8 faster. I don't have advice for making it lightweight. It's what we have to live with now in the supposed pursuit of progress and modern sophistication. I'm just leaving my breadcrumb for other developers who might find it impossible to even get Drupal 8 installed using an environment that worked for Drupal 7 since I was able to get through the "Install site" part of the Drupal 7.34 installer with Xdebug enabled and with APCU disabled in only 14 seconds.Post categories Drupal
What happens when a user bookmarks an access-protected page? If their session expires before they next visit the bookmark, they'll see an "Access Denied" message with no login form. How confusing for the end user! Let's change that.
A funny thing happened in 1991, when the Americans with Disabilities Act started compelling businesses to make their premises more accessible. People discovered that long-handled faucets are easier to turn when your hands are wet; wheelchair ramps enabled parents to bring their strollers inside; and athletes relied on handrails after twisting their ankles during practice. In short, ease of use benefited everybody, not just the targeted population.
It's a lesson the Drupal community has struggled gamely to learn: consider Drupal 7's extensive (and expensive) user-interface revamp. And yet beginners still find Drupal much harder to use than, say, WordPress. Meanwhile, technologists who are weighing Drupal against its competitors reach for the handrail, find it missing, and assume that this lack of “polish” is more than skin deep.
Sometimes, they're right.'tis a Gift to be Simple
If the history of technology teaches us one thing, it's this: Simplicity wins every time. It beats features, security, and price. Examples abound both within and outside of the world of computers: Packaged goods beat out bulk service even as they partly eliminated customer choice, and Twitter dumbed down blogging to become an essential part of digital life. But fighting against the need for simple, reliable tools is quixotic: It's easier and more fun to create new features than to perfect the ones you have.
Certainly Drupal has long been guilty of this. We've held onto poorly implemented core features, even when their function has diminished and the market has passed them by. The mostly pointless and hard-to-use Actions module is a great example. The disease is evident outside of core, too. Features get more attention than interface bugs in the queues of contributed modules; and five years after its release, the Mac version of Acquia Dev Desktop still can't serve web pages on the standard HTTP port 80, or shut down gracefully when you restart your computer.
We're always on the lookout for great sites built with Drupal Commerce, our truly flexible software that's changing the face of eCommerce one site at a time.
Traveling this Holiday Season? Well if you're in Germany, you might be taking FlixBus. And if you are, then chances are you just purchased your ticket on their new site hosted on Platform.sh. The site features a robust ticketing engine powered by the flexibility of Drupal Commerce and was built by the talented team at Wunderkraut, a Drupal Commerce Delivery partner that has just recently announced their plans to move all the organizations development to Platform.sh, our Continuous Delivery Cloud built to enable and enhance agile development from day one.
To see Drupal Commerce sites we've Spotlighted in previous weeks view Other Spotlight Sites
Creative Juices: I Survived Drupalgeddon: How Hackers Took Over My Site, What I Did About It, And How You Can Stay Safe
If you stop, you loose. This rule works always, especially speaking about IT industry. Those, who work with Drupal for a long time, probably remember how hard it was to switch from Drupal 6 to its 7th version. Seems, that it all took place not so long ago, but official release of Drupal 8 took place recently…Read more
Part 2 of our series about hosting and playing videos in Drupal explores hosted video solutions in detail, and offers some basic information about using video sharing sites. See part 1 for a short explanation of the most popular Drupal modules for video handling, and an introduction of CDNs and cloud storage services.
Just a quick note of how we resolved an issue related to an upgrade to Date.
We recently updated Date in our core distribution to date-7.x-2.9-beta1 and on one site, we had a number of date fields set up as just "Date". After the update, the display of all of these ended up 7 - 8 hours off -- when you edit the node, it shows up with the correct time, and when you display the node, it's off by 8 hours.DrupalDrupal PlanetUpdatesDate ModuleTime zone
Although the Blue Drop Awards are still a few months away, preparation has already begun. However, this isn’t a one-man show; we need your help. There are many ways to get involved such as volunteering, becoming a sponsor, posting to your social media networks and more.
In case you were not aware, in 2012, a group of volunteers set out to create an annual program that aims to increase the awareness of Drupal and it’s capabilities. Now in it’s fourth year, this community-nominated, publicly-voted event recognizes the contributions of individuals, companies, and projects. The Blue Drop Awards are 100% volunteer-organized so we need your help to highlight and showcase the best Drupal websites/modules out there.
There are lots of ways of getting involved! Currently we're looking for sponsors to help us continue this annual project and volunteers to help us run the project.
We're looking for kind volunteers, who are interested in helping with verifying nominations, web design, development, running the booth at DrupalCon LA, wrangling other volunteers and sponsors, and more.
Sponsors are the only way for us to make this a sustaining project because it takes significant amounts of time and resources to put this project on every year. Luckily for our fantastic sponsors, there are tons of benefits of becoming a sponsor! For 2015 we have four sponsorship packages to choose from; sign up and we’ll get your brand in front of tens of thousands of people in the Drupal community. This is a great lead generation and branding opportunity for our sponsors.
Regardless of whether you decide to sponsor or volunteer, we can't wait to see all of the great Drupal nominees come February!
A big THANK YOU to our talent in this Drupal video: Doug Vann (DougVann.com), Arnold Leung (Appnovation), Michael Spinosa (Unleashed Technologies), Stephen Weinberg (Commerce Guys), Ben Finklea, Erik Wagner, Brian Solka, Alexander Popov, and Gilbert Sauceda (Volacci).Tags: Planet Drupal Drupal blue drop awards
In our third year supporting the Drupal Global Training Days Initiative, we have seen more training companies, more community leaders, and more individuals participate than ever before.
Each quarter, communities and training companies host Introduction to Drupal sessions, building better and brighter community members. Global Training Days (GTD) is an opportunity for local training companies and community leaders to build their local community by offering low cost/free Introduction to Drupal training. The Drupal Association lists your training on our site, promotes GTDs and is available to consult on planning and curriculum. Offering these trainings has anecdotally shown to significantly grow individual participation in communities, build a pool of developers, and raise general awareness for the Drupal project.
This year 35 countries hosted over 170 low cost or free trainings. This year our Asian-Pacific communities really embraced GTDs! We had 8 Indian companies host trainings in Srinagar, Bangalore, Ghaziabad, Delhi, Mumbai, Kolkata, and Gurgaon -- the most trainings in one individual country. China, South Korea, Pakistan, New Zealand, Australia, and Japan also hosted training sessions, really highlighting our growth and momentum in Asia-Pacific.
Feeling inspired? Sign up to host a GTD at your DrupalCamp, meet-up, or your local user group. Are you new to Drupal, or do you want to participate in an introductory training? Try reaching out to local Drupal training company to host an event.
Make sure you save the following dates to host and participate in Global Training Days in 2015:
- February 27/28
- May 22/23
- August 21/22
- November 20/21
— Rachit Gupta (@tweet_rachit) September 6, 2014
Acquia Commons is a Drupal distribution that is for building communities within your organization. I have been able to play around with its competitor JIVE and must admit, it stands quite well next to it.
We were approached by Gary Conroy from Specsavers, who have introduced Commons within their organization and needed to do some additional tweaks to make it a bit similar to Facebook. This will be a series of two blog posts, in first we will show how we have made similar functionality to Facebook Like links and in the second how did we change the status form widget.
Drupal Commerce: How to switch your payment settings based on environment variables using Platform.sh
When working on a Commerce project which uses a payment gateway, you need to always make sure that your Staging and Development environments are properly targeting the sandbox or test mode of your payment gateway, and that your Production site is targeting the live account.
This is actually true for any third-party service integration which provides a sandbox where you can test. The objective is to make sure you never send test data on a live account, no matter the service you're testing on.
For this tutorial, I will focus on payment method settings, but the principle remains the same for any other third-party integration.
I will start from an empty Drupal site hosted on Platform.sh and go through the following steps:
- Enable and configure Paypal WPS payment method
- Export its configuration to a settings.local.php file
- Override its Sandbox configuration on the Staging environment
- Write custom code to read the configuration from the settings.local.php
As you see, the goal (as always with Drupal) is to read the configuration from your code so that you can easily switch from a sandbox mode to a live mode.