Between thought and the real, there is no necessary or natural transition.
In honor of integrating frameworks with Drupal, here's some fun code snippets to get you adding classes without using Sass.
Once you have an awesome new framework how do you make the buttons match the awesomeness?Read more
The combined company will bring together more than 350 extremely talented people, and assemble one of the most formidable, independently-owned creative agencies in the world.
A bunch of Lullabots headed towards the equator in early February to attend DrupalCon Latin America in Bogotá, Colombia. In this episode Addi chats with Joe Shindelar, Chris Albrecht, Mike Herchel, and Daniel Dalgo about the main themes that emerged from the sessions, some of their top picks, and how awesome Bogotá was to explore.
Feeds is a very useful module when it comes to importing content into your Drupal site. However, it’s not very forgiving, in that your data has to be formatted just right for the feed to take. This post will run through the basic feed importers and some key points I learnt from hours upon hours of troubleshooting. I’m pretty sure I’ve spent upwards of 50 hours dealing with feeds thus far in my life.
Before I begin, I have a short rant on the importance of content. You could skip directly to the bits on feeds but then, it’ll be less entertaining.
The heart of every website is its content. At least, most of the time. And as much...
For the sixth year in a row, Central Florida will host the Sunshine State's largest gathering of Drupalists for two full days of learning, networking, and sharing at Florida DrupalCamp 2015. To be held Saturday and Sunday, April 11-12, 2015 at Florida Technical College in Orlando, approximately 300 people will gather for a full day of sessions and a full day of community contributions. Attendees will be provided with knowledge, food, and clothing - and maybe a surprise or two as well!-->
A few weeks ago, I was pulled into a Non-Drupal project. As I was configuring the site to run on my local computer, I realized that I have been taking advantage of Drupal and Drush. I forgot how easy it was to import and export MYSQL databases. If you're a drupal developer and are not using drush to import and export your databases, you should. It will save you time, and its easy.Configure Settings.php
Before you attempt to import a new database, make sure you have the database configurations setup properly in settings.php. If you don't have this specified, drush...Read More
In this installment of the Daily Dose of Drupal, we are looking not at a module, but rather how to exclude a node from a view using the node/content ID.
The video explanation will put a lot more context around exactly what I mean, but the general idea is using a view we will be able to exclude the current node id we are on (grabbed from the URL) from the view. In other words, if you are on a page about grasshoppers the view possibly on the sidebar that displays other insects won't have the grasshopper listed (ie since we are already on this page).Tags: DrupalBlocksContent TypesViewsDrupal 7Drupal Planet
PHP security expert and member of the Global Cybersecurity Group at Hewlett Packard, Chris Cornutt and I had the chance to meet in person at PHP World 2014, in Washington, D.C. We compared notes on the "PHP Renaissance", looking over other projects' shoulders, sharing code, and PHP security basics.
This is the first in what’s going to be a series of posts documenting our equipment booking system project. We’re developers working at a library that circulates equipment (laptops, tablets, cameras, etc.) — and we’re sick of maintaining the custom PHP application that manages the reservation process. So we built the whole thing into our existing Drupal site. I say “built” because it’s done … or at least sitting on the production server waiting for content to be entered. We’re doing the documentation after the fact, so I’ll try to pick and choose what’s worth putting out there. I’m guessing that will boil down to plugging a few modules and spending way too much time writing about the PHP script we used to check for reservation conflicts. We’ll see.
The beginning of the project was deciding whether or not we wanted to use a module to manage the reservation process. Actually the beginning was MERCI— we got a little turned around on this one … picked the module and pitched it before we had everything specd out. Once we dug in, MERCI turned out to be a reasonable module but just a little heavier than what we needed. In particular, the “bucket and “resource” model was too much and it was kind of a pain to manage without being able to get into the field configurations. We also tested out Commerce Stock for its inventory tools. Way heavier than MERCI. To use Commerce Stock we would have to install Commerce and everything that comes with it. Rather than ripping things out that we weren’t going to use (or adding more to our already overstuffed stack) we decided to build the whole thing with content types, rules and views.
No problem right?
Our second month of having the contrib committee in place was a little slower in some ways than January. By the numbers, we put in just over 110 hours of non-billable time on contrib projects. There were many reasons for the drop in hours from January – several team members were putting their non-billable time into learning Drupal 8, the lack of a code sprint, and planning began on a number of camps for 2015. Also, remember that this is non-billable work – billable contrib work continues to be a priority for Mediacurrent and our clients.
It was the best of shows, it was the worst...no wait. That’s not right. DrupalCon 2014 was just great and there are always new learnings to make it better.
Last year, DrupalCon really hit its stride, especially in Europe. We have already produced one of three great DrupalCons in 2015, so before we get further into the year, I’d like to summarize what happened with DrupalCon in 2014. More posts will come to highlight our 2015 DrupalCon planning so there is more transparency into our team’s work.
In 2014, DrupalCon North America was held in Austin, Texas, USA while DrupalCon Europe was hosted in Amsterdam, Netherlands. They both had their fair share of successes and new learnings. The Drupal Association has become more data driven over the year and we’d like to share interesting statistics and budgets below. Our staff gleaned some pretty good insights, especially around who attends DrupalCon, allowing us to better plan programming and experiences to match those demographics.DrupalCon Austin
Austin was a great city for hosting DrupalCon. It’s a city of creativity and innovation as well as cowboys, live music, and thousands of bats. 3,300 people attended the week long celebration of Drupal and community. Our trainers grew the skills of 545 training attendees; 118 business leaders gathered at the Business Summit to brainstorm ways to grow the Drupal adoption rate; and 101 community leaders attended the Community Summit and discussed ways to grow and strengthen local communities through various programs like camps and sprint mentoring.DrupalCon Amsterdam
Amsterdam is also an A-rated city known for Dutch design, world leading water management, as well as tulips and cheese. Centrally located in Western Europe and in the backyard of many budding Drupal businesses, this event was the largest yet for the region with 2,370 attendees. This event sold the most one day-tickets, which were bought primarily by beginner developers and those local to the event, who only had time to attend for one day due to business demands. A great location really drove attendance for this event.Demographics
We are especially proud of DrupalCon’s diversity. Unique to DrupalCon Austin, this conference attracts a more distributed number of job types from developers to project managers to evaluators and they represent a range of employers from Drupal Shops to Drupal customers (libraries, universities, enterprise customers).
DrupalCon Amsterdam attracts many more developers who work at Drupal Shops. Clearly, we can do a better job attracting developers from European Drupal customers, too.
We are also proud that 20% of DrupalCon Austin attendees are female - a very strong percentage for a tech conference. DrupalCon Amsterdam had 10% female attendance - a number we would like to increase together as a community.
It’s also interesting where attendees come from. DrupalCons are certainly international with almost 60 countries represented at each event, but it is clear that the majority of attendees come from the host country and nearby countries. More than 70% of DrupalCon Amsterdam attendees come from Western Europe while 88% of DrupalCon Austin attendees were American, 4% were Canadian, and 1% was from the UK.
With multi-year data, The Drupal Association can now see that these events are attracting different kinds of audiences. We are working internally and with community leaders to better understand how to tailor the event programming to better serve each one. As we know more, we will share details in future blogs.Attendance Drivers: Content is King
DrupalCon Austin’s main attendance drivers were sessions, building Drupal skills, and networking while DrupalCon Amsterdam’s were location, sessions, and networking. Our survey shows that the events nailed these three areas and attendees felt these areas met or exceeded expectations.
Looking a bit more closely at our sessions - a large percentage of our programming, we can see that Drupal 8 continued to be a hot topic and was a major focus on sessions that were the most attended. In terms of ratings, we saw in Austin that the Careers Lab, led by Mike Anello and Gwendolyn Anello, ranked highest and in DrupalCon Amsterdam, Susan Rust’s Business Track session: “Train Wrecks & Ugly Baby Client Meetings” was top rated. Clearly content must continue to go beyond a developer focus to meet other learning pain points in our community.
Sessions are scored by attendees on a score of 1 through 5, 5 being highest. DrupalCon Austin scores slipped a bit from DrupalCon Portland scores. We are looking into this more, but individual comments showed that we can do more training to help speakers avoid pitching their company, which invariably is an attendee turnoff. DrupalCon Amsterdam scores slipped a bit as well from the previous year’s DrupalCon Prague. Looking at individual comments, it is clear that the content was well received and speakers did a great job. The issue was that the RAI rooms were too small to accommodate the crowds of people. This is something we can better address with future DrupalCon planning.
I’m also proud to point out that sprints are growing in size and much of that is thanks to our sprint mentors and the work they do leading up to sprints, preparing hundreds to participate. DrupalCon Austin had 790 sprinters compared to DrupalCon Portland’s 730 sprinters while DrupalCon Amsterdam had 631 sprinters compared to DrupalCon Prague’s 462 sprinters.The Net Net: DrupalCon’s Net Promoter Scores
In the attendee survey, we ask the attendee if they would recommend DrupalCon to a friend and they answer by selecting 1 through 10, 10 being a strong “YES!”. This is the basis for determining a net promoter score and there is some basic math to figure out DrupalCon’s score.
DrupalCon Austin was the first time we asked this question in a DrupalCon North America survey. The score is 53, a very good baseline, which we can now use to gauge the health of DrupalCon Los Angeles. We asked this question for DrupalCon Prague and the score was 49. Unfortunately, when we asked this for DrupalCon Amsterdam, the score was 25, which was surprising since scores were high on sessions and other aspects of the programming. When we dug into the comments, we found that the low ratings were very much tied to the lower quality of food and lack of seating during lunch, the desire for more coffee service, and the need for larger session rooms. Attending session after session, food and coffee really are important to fuel the marathon of Drupaling for a week. We are taking this feedback seriously and looking at ways to improve upon it for DrupalCon Barcelona.The Financials
DrupalCon North America continues to be a large fundraiser for The Drupal Association. It takes a large cash outlay to generate a net profit of $802,756. Those funds allow us to run our other community programs like Drupal.org improvements, Community Cultivation Grants, and Drupal Marketing.
Leading up to DrupalCon Amsterdam, we thought we weren’t going to make our attendance goal, but once summer break in Europe ended, ticket sales skyrocketed.
Below are high level details on income from ticket sales and sponsorships and our top line expenses.DrupalCon Austin Income Ticket sales $1,276,805 Sponsorship $856,300 Donation $200 Total Income $2,133,305 Expenses (below are top expenses, not all expenses) Venue $83,198 Catering $496,090 AV, Internet, Power $106,161 Total Expenses $1,279,060 Net Profit $854,245 DrupalCon Amsterdam Income Ticket sales €1,132,470.52 Sponsorship €393,196.88 Total Income €1,151,779.89 Expenses (below are top expenses, not all expenses) Venue €141,689.41 Catering €227,030.02 AV, Internet, Power €74,821.25 Total Expenses €978,468.46 Net Profit €173,311.43
Onward and Upward
Moving to data-driven conference planning is key to creating events that meet our attendees’ needs. It shows us who is attending, what attendees want to learn about, and what is important to deliver the best user experience. Additionally, we can see who is not attending our conferences and determine how to attract other community members so DrupalCons are truly diverse and serve more groups. We are using this data to evolve our conferences, but we don’t want to use just data alone. Hearing from community members is key, too. If you have feedback or ideas, please use comments to share them with us. We are listening. And, we will send out more blogs letting you know about DrupalCon planning in 2015.
Note: this article assumes some experience working with Drupal modules and doesn't profess to be a general introduction to writing a Drupal or Backdrop module from scratch.
Now that an official release of Backdrop CMS is available, we have the opportunity to examine this fork of Drupal more closely, and evaluate its appropriateness for projects. It’s impossible to evaluate Backdrop’s feasibility without having an understanding of the level of effort involved in porting modules.
Just finished up the first Drupal 7 class at Piedmont Virginia Community College and had a blast... not the least because Russel Bahorsky - founding member of GWAR was there... to be clear I'm the dude who's really stoked to have some GWAR in a classroom, and Russ is a mellow dude who actually helped start GWAR! Also a special thanks to Valarie Palamountain, Pat O'Rourke, and Jessica Speth at PVCC who got this class (and me) through the process - they're a great group to work with.
Please see our article Building GIT for Windows from Sources to upgrade you GIT console to the latest version.About the Error
In this article we will show you how to deal with the following error:
sh.exe has stopped workingMore articles...
- Bypassing Form Validations and Required Fields in Drupal: the BFV module.
- Node Comment and Forum working together to boost user participation
- Getting #2,000 requests per second without varnish
- Drupal Session Handler: everything you need to know
- Setting up Code Syntax Higlighting with Drupal
- Deploying Drupal Like a Pro - Part 1: File Structure
- Git shell on Windows reports “sh.exe has stopped working (APPCRASH)”
- When PHP crashes: how to collect meaningful information and what to do with it
- Build GIT on Windows from Sources
- Drupal on IIS or Apache
One of our long standing traditions here in the Drupal Association was to give community regular updates on the latest Drupal.org related activities in a form of week notes posts. We’ve been publishing those for over 2.5 years now and it feels like the time has come for a slight change in the format.
From now on we’ll publish monthly ‘What’s new on Drupal.org’ posts, which will showcase new and upcoming features, functionality and user experience improvements. We’ll schedule these around the public Board meetings, so that both the Board and community get the same information at the same time.
So here is our first update in this new format..What’s new on Drupal.org: February 2015
Look for links to our Strategic Roadmap highlighting how this work falls into our priorities set by the Drupal Association Board and Drupal.org Working Groups.Better account creation Account creation improvements
Account creation is now much more streamlined, quick, and lets people get back to the context they started from once the registration is done. Recently added 2nd step of registration allows us to prompt users to quickly and easily fill out the most important fields of their user profile, upload picture and sign up for Newsletters, before proceeding back to the task they were at before registering.Newsletters signups right on your Drupal.org profile
While working on account creation improvements, we wanted to make it really easy for new users to see what kind of newsletters are available and sign up for the ones they are interested in. Previously only Mailman-powered newsletters were available for sign up on Drupal.org, while for the Drupal Association Newsletter we used MailChimp.
MailChimp allows us to send beautifully designed html emails, provides great content creation experience and detailed analytics. Thus we decided to standardize on one solution and migrate existing newsletters from Mailman to MailChimp. This is partially done, with Security Announcements and Maintainer News following soon.
MailChimp module is now installed on Drupal.org, and all various newsletters are available for sign up right on your user profile edit form. Users will also be able to unsubscribe from their profile or using the unsubscribe links provided through MailChimp.Organization and user profile improvements Issue comment attribution and credits
Both issue comment attribution and issue credit UI are ready. At the beginning of March, we opened them for community testing. The feedback is pretty positive so far. Deployment is tentatively scheduled for March 12th.Content Strategy and Redesign
The draft Drupal.org content model was presented to Working Group members and we are now collecting and incorporating feedback, while at the same time working on a more detailed outline of content and entity types. The outline will include detailed information about fields and settings, as well as view modes with wireframes per content type.
The next deliverable, which is about ready for Working Groups feedback is Content Governance Plan, which reflects the new content model and suggest some improvements in the way we govern content: create, edit, moderate, archive and delete.
The third deliverable, which is nearly done as well, is the Communication Channels Plan, which aims to answer the long standing question of “what is the one place I need to go to to find all important Drupal community news and announcements?”.
The next deliverable we are about to switch out focus to is the updated Drupal.org Site Map, which will reflect suggestions for better IA and navigation on *.drupal.org.DrupalCI (community initiative and Drupal 8 blocker)
DrupalCI may move into a formal initiative in March as staff works to implement a production environment with the help of the community members that have been involved in the architecture and development.
The test runner is nearly working. Several major portions of the stack are in production—if not yet totally configured—as well as the PrivateTravis containers running php 5.4, 5.5, and 5.6 with mod_php. Overall, it is proceeding on track to have an MVP ready by the end of the sprint sponsored via Drupal 8 accelerate program, which is scheduled to take place at the end of March in Portland.Revenue-related projects (funding our work) DrupalCon Los Angeles
On February 25th, registration for DrupalCon Los Angeles went live on the new Drupal Events (events.drupal.org) subsite. Events will be the primary site for all DrupalCon websites moving forward as well as the archive for past events. This will give us great flexibility with historical reporting and make maintenance and security releases for DrupalCon websites more efficient. It also means that any new feature development for DrupalCon websites now benefits all future con sites.
The first of those new features is a set of improvements to registration. We’ve streamlined the experience of purchasing a ticket both for individual users, but also for users who may be purchasing large blocks of tickets for their organization. There are three time-saving new registration features:
- Users can now copy their registration data from a previous ticket. This means that a user purchasing several kinds of tickets such as the DrupalCon ticket and a Business Summit ticket can save time entering fields. It also means that users attending future cons will be able to save time entering their registration data for the next Con.
- Someone purchasing a ticket on behalf of another attendee can now enter that attendee’s email address and a link to redeem the ticket will be sent to them. This saves the purchaser time, and allows the attendee to keep their registration data private.
- Finally someone purchasing a large block of tickets who does not yet know who will attend can now purchase reservation codes which can be given out to attendees to be redeemed.
We’re also working closely with our early registrants and DrupalCon sponsors to further streamline these new features.Sustaining Support and Maintenance Elections 2015
In February, we spent some time polishing the nominations and voting functionality on assoc.d.o, which powers 2015 Drupal Association Board Elections. This year we have much better looking nomination pages, as well as more smooth voting process. Voting is open until March 20. Have you voted yet?Fastly
The Drupal.org download infrastructure (ftp.drupal.org) is undergoing an architecture refresh. Fastly has signed on as a Drupal.org Technology Supporter and the existing FTP mirror infrastructure is being dissolved in favor of the CDN backed by Drupal.org’s static web servers.Server Density
Server Density (drupal.serverdensity.io) was selected as our replacement for Nagios alerting and Munin graphing. Server Density provides us with an alternative to OSL’s shared Nagios and Munin instances, and does not require us to host and manage our own internal monitoring service. Server Density also supports Nagios checks and integrates nicely with our existing infrastructure.
As always, we’d like to say thanks to all volunteers who are working with us and to the Drupal Association Supporters, who made it possible for us to work on these projects.
With the introduction of annotated plugins, a lot has changed in Drupal 8. We have a more streamlined approach to describing and discovering pieces of functionality that extend the core. Along with many other components, the former Field API (part of the larger and consolidated Entity API) is now based on plugins.
In this tutorial we will go through defining a custom field formatter for an existing field (image). What we want to achieve is to make it possible to display an image with a small caption below it. This caption will be the title value assigned to the image if one exists.
The code we write here can be found in this repository as the image_title_caption module. But let’s see how we can get to that final result.The module
Let us start by creating a new custom module (image_title_caption) with only one file:
image_title_caption.info.yml:name: Image title caption type: module description: Uses the image title field as a caption core: 8.x dependencies: - image
Nothing out of the ordinary here. We can even enable the module already if we want.
Continue reading %Creating Custom Field Formatters in Drupal 8%
Come and join our well established UK team as a senior Drupal support engineer. We support interactive sites and applications of all kinds, so every client can offer different challenges and solutions each month.
You'll have the opportunity to be involved with projects ranging from international brands, enterprise public sector organisations through to charities and media sites. We also run several internal projects which you'll have chance to provide input and development for if you wish - this is where we often experiment with new ideas, techniques and technologies first!
The technical skills we're looking for:
- Excellent knowledge of Drupal & its configuration.
- Extensive experience with Panels, Views, Features.