Skip to Content

Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 1 day 11 hours ago

Wim Leers: Drupal 8's render pipeline

6 November 2014 - 3:59pm

In Drupal 8, we’ve significantly improved the way pages are rendered. I will explain the entire render pipeline, which will also cover:

  • render caching — blocks and entities are now render cached automatically!
  • cache tags — finally we have the cache invalidation system we’ve always needed!
  • assets — only the necessary assets are loaded anymore, thanks to asset dependencies!
  • bubbling — rather than relying on global statics that broke caching, we now correctly bubble up all attached metadata — no more frustrations!

But I will also explain what is going to be possible in Drupal 8:

  • anonymous page loads: invalidating Varnish/CDNs with perfect precision
  • authenticated page loads: not completely regenerated on every page load, but assembled from render cached parts
  • alternative render strategies, like Big Pipe

Where relevant, I’ll compare with Drupal 7, how you can write Drupal 7 code today that will be easy to upgrade to Drupal 8, and which Drupal 7 backports exist (hint: Big Pipe does exist!).

Slides: Drupal 8's render pipelineConference: DrupalCamp GhentLocation: Ghent, BelgiumDate: Nov 7 2014 - 09:30Duration: 45 minutesExtra information: 


Categories: Drupal

Mediacurrent: Drupal 8 Theming Update

6 November 2014 - 1:46pm

This webinar is an update to Dante Taylor’s TWIG: Getting Started in Drupal 8 presentation from October 2013. The most significant change to Drupal 8 theming is the introduction of the Classy Theme, which was part of the 8.0.0-beta2 release last month. In a nutshell, Classy is a base theme for those who want to have templates with the core classes. Setting Classy as a base is simple—add the following line to the file inside the theme directory:

Categories: Drupal

Midwestern Mac, LLC: Preventing yourself from accidentally breaking production with Drush

6 November 2014 - 10:51am

For all the sites I maintain, I have at least a local and production environment. Some projects warrant a dev, qa, etc. as well, but for the purposes of this post, let's just assume you often run drush commands on local or development environments during development, and eventually run a similar command on production during a deployment.

What happens if, at some point, you are churning through some Drush commands, using aliases (e.g. drush @site.local break-all-the-things to break things for testing), and you accidentally enter instead of @site.local? Or what if you were doing something potentially disastrous, like deleting a database table locally so you can test a module install file, using drush sqlq to run a query?

Categories: Drupal

Metal Toad: ToadCast 028

6 November 2014 - 10:05am

For ToadCast 28 we have special guest Chris Bloom!

Categories: Drupal

Blink Reaction: Programmatically Creating a Block in Drupal 8

6 November 2014 - 7:20am

hook_block_info and hook_block_view are gone in Drupal 8. What's more: the whole paradigm of creating blocks through the hook system is replaced with the Plugin API.

Categories: Drupal

ERPAL: Start an online business with ERPAL Platform

6 November 2014 - 1:51am

Drupal has everything you need to start a full-featured online business. Drupal is open, free and flexible – and it provides all the components required to integrate content, commerce and community features. With just a few of the 15,000+ modules, it’s possible to build almost any web application you need. With the ERPAL Platform Drupal distribution, Drupal developers and site builders get a pre-configured Drupal installation as a starting point for flexible and open business applications. As one of our first use cases, I want to show how you can use ERPAL Platform to build your complete online business within a single Drupal installation. In this blogpost I’ll cover the overall functionality of this e-commerce use case and in one of the next blogposts I’ll show you in detail how to build your online shop, complete with all the administration features you need to manage your online business.

Business processes first

No matter whether you sell services, projects, or products; no matter whether you sell them online or offline: all business will go through the same basic steps. Starting with the first customer contact to begin the sales process, you’ll mostly be tracking leads that will be transformed into opportunities and become prospects. In the prospect status you’ll create a quote for your customer in which you offer the products and services that the customer requested. After the quote is accepted, it becomes an order (which may be different from the quote). The order confirmation is sent as a receipt to your customer. Now it depends on the payment modalities negotiated before the order as to how and when you can create one or more invoices to get paid. You may get some upfront payment with the submission of the order, after some or all products have been delivered, or once you’ve reached a certain milestone in a project or manufacturing process. So no matter what you deliver to your customer, you get paid either in advance or upon delivery, or a combination of both.

This sales process is always fundamentally the same and it’s the core functionality that ERPAL Platform provides. With Drupal Commerce entities for quotes, orders and invoices, this business process is flexible and can be extended with fields, rules and views. With these features the administrative backend for the general business process is already in place, and you can extend it as you need. Read one of the first ERPAL Platform blog posts for more details about this business process and how it’s implemented in ERPAL Platform

Integrate a Drupal Commerce storefront

Since Drupal Commerce is already integrated into ERPAL Platform, it’s easy to extend the feature set with an e-commerce storefront. At the "frontend" you sell your products to your customers. They can buy any products directly in the web from an online store that’s built on top of your business process platform. If you already know Drupal Commerce, it’s easy to extend ERPAL Platform to expose a storefront to website visitors. In this use case, the ERPAL Platform features will serve a complete administrative backend – visible only to shop administrators – for all your business processes.

Imagine we have three commerce order bundles – order, quote and invoice – to separate these entities. If a user adds a product to her cart, this is an order entity. For an order entity that’s not yet checked out, as a customer you can request a quote, which can be used to compare products and prices with other stores or to show to another party (as PDF). If the customer comes back, she can continue with the order and complete the checkout process. After the checkout is complete, the invoice is created as a separate entity and both the user and the shop administrator can access all these receipts in the same Drupal installation: no synchronization between systems needed. If a payment is made, it’s added to the invoice and changes the balance. That’s it! There you have all you need to process your business in a nutshell. If you build an e-commerce site for a start-up you may want to begin lean and without heavy integration projects. With ERPAL Platform you have all the features in one distribution to start an online business and to continue to grow it in an agile way.

In one of our next blogposts, we’ll present a step-by-step guide for building an online business based on ERPAL Platform.

In our upcomming webinar with the Commerce Guys, we will talk about open integration of Drupal Commerce and give a real use case of an ERPAL Platform project that integrates all online-business process in one platform. 

Categories: Drupal

Amazee Labs: Being part of the community - a non-techie perspective

6 November 2014 - 1:19am
Being part of the community - a non-techie perspective

Recently our Sitebuilder Boris shared his thoughts on the Drupal community. So I thought I’d share my thoughts on it too, but from a perspective of a non-techie!

It’s been one and a half years since I joined the Amazee Crew. Within the first 6 months only one day a week complementary to my studies in Business Administration. Yep, you’ve read that correctly, I don’t have any background in tech, not to mention open source CMS. HTML, CSS and PHP were only a couple of letters to me and people sitting behind the screen coding seemed somewhat geeky to me. I would have only been involved with Drupal if some of the fashion and beauty blogs that I read would run on Drupal.

Fascinated by the colored lines of code on the screens of our developers (who I hold dear and absolutely enjoy working with) I very much looked forward to my first DrupalCon in Prague in 2013.

Truth be told, I was quite overwhelmed by the immensity of the community. And honestly, walking into a sprint room did make me feel a bit like being in the wrong place, but I decided to join the fun and give it at try (no I did not sprint, that wouldn’t be helpful to anybody).

I attended various sessions, in some of them I could actually understand something, some of them were just way to tech for me. During the week I’ve met a lot of really nice people and I had to admit that I did the community wrong in the first place. It wasn’t all geeky and tech talk; you’d be surprised what kind of hidden talents you can find there! Singers, musicians, paragliders, you name it.

A year later my HTML, CSS and PHP skills are still bad, but I did learn a bit and can do some basic stuff by myself. I enjoyed DrupalCon Amsterdam even more and found myself hanging out with and getting to know more people of the community from all over the world.

You’ll probably never find my coding the next big module (but then never say never) but you’ll definitely find me at a Drupal event. Because what I have experienced along the way is quite similar to what Boris experienced; Drupal is way more than just an open source CMS. And the community behind it is way more than just a bunch of geeks; it’s a community whit highly versatile skilled people who certainly know how to have fun and will give you a warm welcome, no matter what your background is. I never would have thought that a non-tech girl like me would end up in an open source CMS community and actually finding her way to contribute, even if it’s not writing code. That in fact is another aspect I like about the community - the chance to be able to contribute even if you’re not able to write patches.

As for me, I’m looking forward to the next DrupalCon in Barcelona and might actually even try and check out the local Drupal User Group. 

Categories: Drupal Setting up CoderDojo in Portumna Galway

6 November 2014 - 1:05am
Categories: Drupal

YesCT: 86 sessions you don't want to miss at BADCamp this year

5 November 2014 - 3:38pm
86 sessions you don't want to miss at BADCamp this year
Categories: Drupal frontpage posts: Google Code-In 2014 - Announcement and Application

5 November 2014 - 3:38pm

Are you interested in contributing to Drupal, but don't have the coding skills or experience necessary? Good news, now you have an awesome opportunity to contribute! Drupal is currently in the application process to be a part of the Google Code-In ( ) contest for pre-university students ages 13-17. Our current need is building a list of quality tasks for students to work on during the contest. Please realize these don't have to be code related tasks, but should fit into one of the following five categories: Code, Documentation/Training, Outreach/Research, Quality Assurance, User Interface.

The application process started Tuesday October 28th and ends this Monday November 10th. Our goal is to submit an application with at least 50 quality tasks. Please contribue by adding task ideas directly our open to the public Google Spreadsheet ( ) until midnight UTC-6 Sunday November 9th. After that, we need to see if Drupal is approved for the contest. If approved, we will need help creating, documenting, and mentoring an additional 100-200 tasks. The more tasks we setup the more opportunities we have to contribue to Drupal.

Did you know that organizations accepted into the GCI contest send the top two students on an all expense paid trip to Google in Mountain View with a parent/guardian ( )? I know that I would be very excited as a young computer nerd to even have a chance to participate in such a program. As a community, we have a very good chance to make connections with young students who could end up spending a good amount of time focusing on Drupal after completing the contest. A good way to find quality contributors might be Drupal sending a few young people to California/GoogleHQ...

GCI Summary:
"Code-In can be thought of as the "Summer of Code" for pre-university students. Rather than specific coding projects, students age 13-17 take on smaller tasks in five categories: Code, Documentation/Training, Outreach/Research, Quality Assurance, User Interface."

Details @links that explain everything about the contest:


  • Tue Oct 28 - Application Period Starts
  • Mon Nov 10 - Application Period Ends
  • Wed Nov 12 - Accepted Organizations Announced
  • Mon Dec 01 - Contest Begins
  • Wed Jan 21 - Contest Ends
  • Mon Jan 26 - Deadline for mentor orgs to submit evaluations

How can I help?:


Feel free to contact me or create nodes in the g.d.o group for additional information.

aka Slurpee

Categories: Drupal

Drupal core announcements: Drupal 8 beta 3 on Wednesday, November 12, 2014

5 November 2014 - 2:41pm

The next beta for Drupal 8 will be beta 3! Here is the schedule for the beta release.

Tuesday, November 11, 2014 Only critical and major patches committed Wednesday, November 12, 2014 Drupal 8.0.0-beta3 released. Emergency commits only.
Categories: Drupal

Liran Tal's Enginx: Drupal Performance Tip – “I’m too young to die” – indexes and SQLs

5 November 2014 - 11:05am
This entry is part 1 of 1 in the series Drupal Performance Tips

In the spirit of the computer video game Doom and its skill levels, we’ll review a few ways you can improve your Drupal speed performance and optimize for better results and server response time. These tips that we’ll cover may be at times specific to Drupal 6 versions, although you can always learn the best practices from these examples and apply them on your own code base.


Using indexes, and proper SQL queries can boost performance by a huge factor, especially if the affected tables are very big (millions of rows). Take a look at the diff below showing a fix to a not so proper, and ill-advised use of querying the database:

The bad performing query took anything between 6 to 60 seconds to run, depending on the data, and database load, and database’s current cache state. The newer query takes milliseconds.

(adsbygoogle = window.adsbygoogle || []).push({});

The post Drupal Performance Tip – “I’m too young to die” – indexes and SQLs appeared first on Liran Tal's Enginx.

Categories: Drupal

KnackForge: Amazon S3 module in drupal

5 November 2014 - 10:47am
The AmazonS3 module allows the drupal local file system to be replaced with S3, where the files can be uploaded or downloaded from S3. I used the following modules to achieve this:   Download and install these modules and place SDK library at sites/all/libraries/awssdk. Check  'Status report'  for information about the installation of  AmazonS3 and AWSSDK.     Here we go:  
  •  In admin/config/media/amazons3, give your default bucket name which you would have created in S3.


Categories: Drupal

AGLOBALWAY: Choosing your Media Solution for Drupal

5 November 2014 - 9:58am

Often we will encounter something in our Drupal project where we have to make a decision: do I install a module to solve my problem (because let's be honest, it's probably out there), or can I achieve it some other way on my own?

As an example, say qw have the need to embed a YouTube video, or some other form of embedded media like Vimeo, etc., but it needs to be responsive. CSS can't make those elements responsive in the same way it works with images:

img { max-width: 100%; height: auto; }

So we need another solution. The thing is, we only need to do this once. So the thoughtful developer will ask him or herself, "do I really need another module to accomplish this?"

Let's look at some of our options. FitVids

If you're going the module route, you should know about FitVids. The advantage here is that FitVids is a simple module to configure - it provides an interface where you can indicate the HTML element you wish to apply the responsive effect to. We can select


to apply it to every instance of embedded media in our document. Alternatively, we can be more selective if we have performance concerns, or if for some reason we wish it to not apply to certain instances of our embedded media.


If you happen to be using Bootstrap as a Front-End framework, you may or may not have discovered this little gem. Somewhat recently added, it allows us to use embedded media in the same way we might make a carousel, by wrapping it in some markup with classes that Bootstrap hooks into to make it work:

<!-- 16:9 aspect ratio --> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="..."></iframe> </div> <!-- 4:3 aspect ratio --> <div class="embed-responsive embed-responsive-4by3"> <iframe class="embed-responsive-item" src="..."></iframe> </div>

Both of the above options accomplish the same thing - it's up to you to decide which approach to take. Remember, even if you're not using Bootstrap as a base theme or as a front-end framework, you can always download individual components to include in your own theme.

drupal planet bootstrap drupal
Categories: Drupal

Phase2: Hallway to the Future: Reflections of a Drupal Enthusiast

5 November 2014 - 9:57am

Before we go to the future, a little detour to the past…

Enjoy the view from the top of the center of knowledge and mysticism of the Incas, facilitated by the incredible #DrupalPicchu.

Seven years ago, I decided to go in a new direction. I left the non-profit I’d been working for, which focused on my exact academic interests, to join an entertainment company. There, I would be a part of  a team building and using an internet system covered in nodes, blocks, exposed integers and pagers that run on computer time: Drupal.

As I looked into the future, this modular open source “content holder software” seemed poised to be a springboard for a lot of smart, kind, passionate people to come together and build something greater than themselves.

Community is Key

Fueled by meetups, the community has a very involved distributed culture and communication network in which people form alliances around ideas.  There were a lot of aspects reminiscent of some of the indigenous communities funded by the NGO where I’d previously worked. The center of both was “the community” or in Spanish “la communidad.”  Even in a big company, the community is a major part of the story when open source is involved.

Some Sony connected Drupalers at DC Chicago. Photo credit: Thomas Turnbull

About 2.5 years ago, I started a new chapter at Phase2, continuing along the path that I had started when I decided to see what all the Drupal fuss was about.

Phase2 orange related sign I saw in a cornfield.

As one of the leaders in open source and big Drupal, Phase2 has a high concentration of smart, talented and passionate people in addition to the amazing clients we work with to build amazing open source web systems.

Phase2 team at DC Austin

It’s All Happening.

Seven years later, we stand on the cusp of a very interesting time for open source. Drupal powers a key segment of the web, and its societal power to influence culture is outstanding. You can petition the president, donate to poverty fighting in NYC, buy a bicycle, keep up to date with latest science news or local news,  watch college sports, discuss servers and what software lives on them, coordinate the large amount of information on a humanitarian crisis, catch the latest music video, decide what to major in at your University, visualize a social movement, hear about the latest in international crowd funding,  and launch your own indigenous digital asset management library.

Drupal is not only the enterprise system of record for open source, but it is growing in leaps and bounds throughout the world, supported by its sophisticated multi-lingual underpinning. Over the last year, I’ve had the incredible opportunity to get to know the international community even more through attending and speaking at several amazing camps in South and Central America: Drupal Summit Loja, Drupal Camp Costa Rica, Drupal Picchu & Drupal Camp Mexico City.

Drupal Picchu group shot via Cristian Torres

Right now, Drupal powers academic institutions, Fortune 500 platforms, and global non-profits. This is Drupal. This is what we have to start from! Not to mention Drupal’s greatest asset: the incredible community of people that develop its core, use it to get their content to the world, make it easy to host, consult on strategies, and share approaches with others.

Looking to the Future of Open Source…

Just imagine – if all of the above has happened in the last seven years, what will the next 11 bring?

While the technical advances in Drupal 8 are amazing, it’s the implications for the communities around Drupal which I feel most connected to.

  • We are becoming more accessible to non-English languages through the #D8MI (Drupal Multilingual headed up by Gábor Hojtsy). This will allow Drupal to become more globalized than it already is, opening up our ability to interact with even more communities around the world.

  • We are becoming more technically accessible as well accessible. By Drupal adopting HTML5, we make it easier to create responsive, and accessible websites for a greater range of abilities and technical capacities.

  • Through the ideas in the Drupal as a RESTful data store it will become even easier for us to integrate with other software projects, making us more collaborative, and creating a more positive and open world.

As Drupal continues to evolve in the open source space and expand globally, I hope to see more inspiring stories like this one of a community using open source technology to build and operate their own cellular networks in rural Mexico.

I look forward to continuing to engage and be a part of this awesome community, and I’d like to hear your story as well. How did you get involved in our eclectic and awesome community? In what ways are you most excited to see Drupal evolve in the future?

If you are in the Bay Area this week, check out the Bay Area Drupal Camp (BADCamp) November 6th-9th.  This completely free, volunteer run 4 day conference is yet another example of the power of open source community.  Join me at the BADCamp non profit summit tomorrow to learn how nonprofits are leveraging Drupal to further their organization’s missions and ultimately contribute to our shared global community.

And for those international adventurers and folks in Latin – the first DrupalCon Latin America is February in Bogota, Colombia #vamosalfuturo.


Categories: Drupal

Phase2: Getting Started with Grunt Drupal Tasks

5 November 2014 - 7:55am

In September, Phase2 released a Grunt-based tool for building and testing Drupal sites. We have been working on the tool since January, and after adopting it as part of our standard approach for new Drupal sites, we wanted to contribute it back to the community. We are happy invite you to get started with Grunt Drupal Tasks.

Grunt is a popular JavaScript-based task runner, meaning it’s a framework for automating tasks. It’s gained traction for automating common development tasks, like compiling CSS from Sass, minifying JavaScript, generating sprites, checking code standards, and more. There are thousands of plugins available that can be implemented out-of-the-box to do these common tasks or integrate with other supporting tools. (I mentioned that this is all free and open source software, right?)

Grunt Drupal Tasks is a Grunt plugin that defines processes that we have identified as best practices for building and testing Drupal sites.

Building Drupal

The cornerstone of Grunt Drupal Tasks is the “build” process, which assembles a runnable Drupal site docroot from a Drush make file and custom code and configuration.

The make file defines the version of Drupal core to use, the contrib modules, themes, and libraries to download, and even patches to apply to any of these components. The make file can include components released on or stored in public or private repositories. For patches, our best practice is to reference patches hosted on and associated with an issue. With these options, the entire set of components for a Drupal site can be declared in a make file and consistently retrieved using Drush.

After the Drush make process assembles all external dependencies for the project, the Grunt Drupal Tasks build process adds custom code and configuration. This includes custom installation profiles, modules, and themes, as well as “sites” directory files, like sites.php and settings.php for one or many subsites, and other “static” files to override, like .htaccess and robots.txt. These custom components are added to the built docroot by symlink, so it is not necessary to rebuild for every update to custom source code.

These steps results in a Drupal docroot assembled from custom source in the following structure:

src/   modules/     <custom modules>  profiles/     <custom installation profiles>   sites/     default/       settings.php     <optionally, other subsites or sites.php>   static/     <optionally, overrides for .htaccess or other files>   themes/     <custom themes>   project.make

Grunt Drupal Tasks includes other optional build steps, which can be enabled as needed for projects. One such task is the “compile theme” step will compile Sass files into CSS.

This build process gives us a reliable way for assembling Drupal core and contrib components, for adding our custom code, and integrating development tools like Sass. By using Grunt to automate this procedure, it becomes a portable script that can be shared among the project’s developers and used in deployment environments.

Testing Drupal

In order to help make best practices the default, Grunt Drupal Tasks includes support for a number of code quality and testing tools.

A “validate” task is provided that includes checking basic PHP syntax and Drupal coding standards using PHPLint and PHP Code Sniffer. We highly recommended that developers use this command while coding, and have included it as part of the default build process.

An “analyze” task is also provided, which adds support for the PHP Mess Detector. This task may be longer-running, so it is better suited to run as part of a continuous integration system, like Jenkins.

Finally, a “behat” task is provided for running test scenarios with Behat and the Drupal Extension. This encourages writing Behat tests for the project and committing them with the project code and build tools, so the tests can be run by other developers and in the integration environment by a continuous integration system.

Scaffolding for Drupal Projects

The old starting point for Drupal projects was a vanilla copy of Drupal core. Grunt Drupal Tasks offers scaffolding for Drupal projects that starts with Drush make, integrates custom code and overrides, and provides consistent support for a variety of developer tools.

This scaffolding is provided through the example included with Grunt Drupal Tasks, which is the recommended starting point for new projects. The scaffold structure adds a layer above the aforementioned “src” directory; this layer includes code and configuration related to Grunt Drupal Tasks (Gruntconfig.json and Gruntfile.js), dependencies for the supporting tools (composer.json), and other resources for the tools (features/, behat.yml, and phpmd.xml).

The example includes the following:

features/ src/ .gitignore Gruntconfig.json Gruntfile.js behat.yml composer.json package.json phpmd.xml

For full documentation on starting a new project with Grunt Drupal Tasks, see

Learning More

Watch the Phase2 blog for more information about Grunt Drupal Tasks. If you are attending the Bay Area Drupal Camp this week, please check out my session on Using Grunt to Manage Drupal Build and Testing Tools.

Categories: Drupal

InternetDevels: Facebook + Drupal — sending invitations to friends

5 November 2014 - 6:45am

We have already spoken about publications on Facebook public pages. Now we want to tell you how to send invitations to friends using Facebook SDK for JavaScript.

Read more
Categories: Drupal

Acquia: Meet Drupal core contributor & mentor, Kalpana Goel

5 November 2014 - 6:32am
Language Undefined

Kalpana Goel - web developer with Forum One - and I sat down to chat at DrupalCon Amsterdam. We discussed the topic of Dries Buytaert's Amsterdam keynote: the potential benefits of "gamifying" and rewarding companies for supporting contributions, especially to Drupal core; Kalpana's discovery of Drupal; her contribution to the Drupal 8 web services initiative and Drupal's culture of sharing, and some of the benefits that are coming with Drupal 8.

Categories: Drupal

Dries Buytaert: The job of Drupal initiative lead

5 November 2014 - 6:18am
Topic: DrupalLeadership

Drupal 8 is the first time we introduced the concept of formal initiatives and initiative leads. Over the course of these Drupal 8 initiatives we learned a lot and people are floating several ideas to increase the initiatives' success and provide Drupal initiative leads with more support. As we grow, it is crucial that we evolve our tools, our processes, and our organizational design based on these learnings. We've done so in the past and we'll continue to do so going forward.

But let's be honest, no matter how much support we provide, leading a Drupal initiative will unquestionably remain difficult and overwhelming. As a Drupal initiative lead, you are asked to push forward some of the most difficult and important parts of Drupal.

You will only succeed if you are able to build a strong team of volunteers that is willing to be led by you. You have to learn how to inspire and motivate by articulating a vision. You establish credibility by setting clear objectives and roadmaps in partnership with others. You have to motivate, guide and empower people to participate. You have to plan and over-communicate.

Not only do you have to worry about building and leading a team, you also have to make sure the rest of the community has shared goals and that everyone impacted has a shared understanding of why those decisions are being made. You use data, ideas and feedback from different sources to inform and convince people of your direction. Your "soft skills" are more important than your "hard skills". Regardless, you will lose many battles. You only "win" when you remain open to feedback and value change and collaboration. To lead a community, you need both a thick skin and a big heart.

Success is never a coincidence. You put in long hours to try and keep your initiative on track. You need relentless focus on doing whatever is necessary to succeed; to be the person who fills all the gaps and helps others to be successful. Instead of just doing the things you love doing most, you find yourself doing mundane tasks like updating spreadsheets or planning a code sprint to help others be successful. In fact, you might need to raise money for your code sprint. And if you succeed, you still don't have enough money to achieve what is possible and you feel the need to raise even more. You'll be brushing aside or knocking down obstacles in your path, and taking on jobs and responsibilities you have never experienced before.

Your objectives will constantly shift as Drupal itself iterates and evolves. You will want to go faster and you will struggle with the community processes. Imagine working on something for a month and then having to throw it out completely because you realize it doesn't pass. Frustration levels will be off the charts. Your overall goal of achieving the perfect implementation might never be achieved and that feeling haunts you for weeks or months. You will feel the need to vent publicly, and you probably will. At the worst moments, you'll think about stepping down. In better times, you realize that if most of your initiative succeeds it could take years of follow-up work. You will learn a lot about yourself; you learn that you are bad at many things and really good at other things.

Leading is incredibly hard and yet, it will be one of the best thing you ever did. You work with some of the finest, brightest, and most passionate people in the world. You will see tangible results of your hard work and you will impact and help hundreds of thousands of people for the next decade. There is no better feeling than when you inspire or when you help others succeed. Leading is hard, but many of you will look back at your time and say this was the most gratifying thing you ever did. You will be incredibly proud of yourself, and the community will be incredibly proud of you. You will become a better leader, and that will serve you for the rest of your life.

Categories: Drupal

KnackForge: Drupal Views exposed filter as Links

5 November 2014 - 4:41am

In Drupal views, we have the option of exposing the filters to users. By default, the exposed filters are displayed as Select boxes. Recently in a multilingual project, there was a requirement to display Courses based on Language. And the Languages had to be shown as links. In order to achieve this functionality, the Views exposed filter had to be customized.

To start with the customization, we need to alter "views_exposed_form" using hook_form_alter

function module_name_form_alter(&$form, &$form_state, $form_id) { global $language; if ($form['#id'] == 'views-exposed-form-course-listing-page') { $links = $form['language']['#options']; $vars = array(); foreach ($links as $tid => $term_name) { if ($language->language != $tid && $tid != 'All')  { $options = array( 'attributes' => array( 'class' => array( 'course-filter-tab' . $tid), 'id' => $tid, ), 'html' => TRUE, ), $language_list = language_list(); $language_title = $language_list[$tid]->name; $vars['items'][] = l($language_title, "course", $options); } } $vars['type'] = 'ul'; $vars['attributes']['class'] = array('course-tabbed-filter'); $prefix = theme('item_list', $vars); $form['links'] = array( '#markup' => $prefix, ); } }

The above code will help us render the select box as link, but to make the links functional we need some jQuery code.

Categories: Drupal

about seo