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.