Some of you may have seen my tweets and screencasts about the ELI Media Server. It's a new project as part of ELMS that will involve a lot of screencasts about how we're integrating m Features JWPlayer Module
Building a website I recently ran into an issue where I had HTML search facets interacting with Drupal views. The user would click on the facet and it would filter the view depending on the argument. I ended up implementing hook_views_query_alter. To make sure the values I wanted to filter on were in the view, I added the search facets into the view as fields. This automatically joins the necessary tables so that you don’t have to.
Implementing hook_views_query_alter requires two parameters, view and query, both are passed by reference. Since this hook is called for every view the first thing I did was check that I was altering the right query by adding an if statement that checks the view name. After that you're free to modify the query as you wish. In my example, I looped through the search facets and added them as where statements and arguments to the query.
function search_views_query_alter(&$view, &$query) {
if($view->name == 'example_view_name'){
foreach($parsed_url AS $key => $value){
$query->where[0]['clauses'][] = 'profile_values_profile_' . $key . '.value IN ("%s")';
In part 1 of our Maestro module overview we explained the different task types that we have available in the module. One of these task types is the Interactive Task and this blog post will provide more detail on this task type and how to create your own custom function for it to use.
In an interactive workflow driven process, there are many times you need to present information or request information to a user. Examples of this would include:
Basically any task where we want to interact with the user and we want full control over what is displayed. We may need to prompt the user with custom submit actions and execute code depending on what action the user takes.
Wow! Code-Free Drupal Layout with Skinr, Fusion and Panels has been my best launch of an ebook ever. Thanks to everyone that's already purchased their copy. I hope you're enjoying it so far. I made a special offer to my mailing list yesterday and it was so hugely popular that I thought I'd extend it to everyone else too.
Anyone that has purchased Code-Free Drupal Layout with Skinr, Fusion and Panels as of 11:59PM EST (Eastern Time..are we daylight or standard right now? I always get them mixed up.) Sunday September 5 will be eligible to attend a FREE one-hour Webinar next Wednesday. I'll run you through the content of the book. Show you the demo (and real) sites that were used to create the content and answer your questions. If you've already bought the ebook your name is already on the list for the Webinar and you'll get an email early next week with the sign-on details.
Not interested in spending your hard-earned $11.95 on an ebook? That's cool. You can learn a lot from these free resources too:
If you plan to use the securepages module behind a proxy that terminates SSL, there are some additional server configuration steps you need to take.
In order to detect what the protocol is in use, securepages tests the value of $_SERVER['HTTPS']. Out of the box, this merely reflects the immediate connection to your proxy. If this protocol differs from that used by the original client, then securepages can't work (the most likely outcome is a redirect loop).
To resolve this, you'll need to ask your proxy to send the X-Forwarded-Proto header. While you're free to use any header label you choose, X-Forwarded-Proto seems to have become the de facto standard.
Everyone knows the top-tier Drupal modules, but with over 5,000 modules available for Drupal it’s no surprise that many useful ones go unnoticed. As a public service to the Drupal community, Palantir is working to raise awareness of some of these unsung heroes.
In part 4 of our ongoing 5,162-part series, we present: Menu Block: Revisited
In Menu Block (Part I), I talked about its basic options. In this part, I’ll be going into the crazy non-obvious options:
Last week at DrupalCon Copenhagen Antoine Beaupre and I shared our plans for the 1.0 release of the Aegir hosting system. After the 0.4 release that we are currently working on, the project will start working towards a final 1.0 build, rather than head towards 0.5.
Our goal for Aegir has been to implement a hosting system with a stable documented API that provides a solid foundation for integration of other services. Once we hit the 0.4 release, we will have the infrastructure in place to support this. With our key goal met, we've begun determining our must have features for a 1.0 release.
I like Prepopulate. I like to have that pseudo-RESTful way of preloading a form to minimize the amount of work a user has to do to get to the point of submitting a form. But I also like clean URLs. This post reviews in detail a technique to use a single prepopulated nodereference field to prepopulate a bunch of other fields based on that reference. Since Prepopulate’s recent 2.0 release, it because a whole lot more difficult to use the Form API to work magic on what it provides.
I use this in conjunction with nodereference to tailor node forms for their relationship with the referenced node.
CivicActions has been working with Google's “Make the Web Faster” project team to make some (last minute) improvements that make Drupal 7 faster.
Yesterday afternoon we made a new Alpha release of Pay for Drupal available. What is Pay you might ask? At its core Pay is a modular API for accepting, processing and tracking payments. If you want to be able to accept payments on your Drupal site for simple transactions with out "Add to cart" or complicated checkout procedures then Pay is for you! To learn more about Pay, take a look at our blog post last week and check out the project page.
As part of the Pay API we provide a set of base classes which can be extended to provide payment forms or payment methods and gateways. Out of the box we're currently shipping with support for Authorize.Net and PayFlowPro payment gateways. While at DrupalCon Copenhagen I began adding support for PayPal Website Payments Pro and Standard. While still under development some of this work is now available for testing in the latest alpha.
Have you ever wonder how many Drupal websites are there? What about Drupal modules and themes? Ever wanted to know how has Drupal evolved since it was created?
Find out all you ever wanted to know about Drupal, but were afraid to ask.
Take a look at this fast overview of basic facts about Drupal, print out a card and use it as a handy resource to promote the awesome features of this powerful CMS. You can even download a version for t-shirt and become the coolest geek on your next meetup or Drupalcamp.
Questions covered:
This is the question I got at many events where I presented about localize.drupal.org. We've just rolled out support for suggestion exports for translators about a month ago to make quality control and management easier, but that does not help people much who are just looking to download what's available.
I've also announced about three months ago that translation downloads were becoming stable and continually generated in a nice pace. However, the usability of those downloads left a lot to be desired. When looking at project pages on the site, you were shown a bland list of links to major Drupal versions the project was compatible with which all led to a long list of filenames on an FTP browser frontend. Also, some files being months old looked shocking given I've told you the downloads are now stable and up to date.
Since a few months I try to have a closer look at Drupal 7. After the release of Alpha 6 I decided to start a clients project based on Drupal 7. Two weeks ago we discovered a more or less strange problem.
In Drupal 7, as far as I knew, the profiles module will disappear or integrated in the new field api.
So I thought it would be a good idea to create the user fields as "fields" not as "profile fields". That worked perfect. It was possible to see the fields in the user edit dialog and in the user profile. It was also possible to access the fields via the views module.
But ... what is with the registration dialog? Read more
The next major addition to Translation Management will be the addition of a reporting tool.
This reporting tool will answer questions like these:
To answer these questions, and more, we're setting up a Translation Analytics tool, which would work very similarly to the famous Google tool for Website Analytics.
The idea is that you can define special taxonomy for documents, like urgency, budget code, project, etc. The Translation Analytics will identify these fields and create database entries for them.
You will be able to drill down through the translation statistics and create reports that give you the information you're looking for.
Moshe Weitzman talks about the new Page rendering flow and hook_page_alter() functionality in Drupal 7, which allows a more control over what appears on each page load. This will enable one-off customizations to the page loads in a much easier way. He talks about how Drupal 7 themes can now implement alter hooks, and how the page render arrays use the same approach as forms and nodes. Weitzman suggest that if you're new to the concept of render arrays to check out either the Pro Drupal Development book or some of the other training resources such as a workshop or other training videos.
Moshe Weitzman talks about the new Page rendering flow and hook_page_alter() functionality in Drupal 7, which allows a more control over what appears on each page load. This will enable one-off customizations to the page loads in a much easier way. He talks about how Drupal 7 themes can now implement alter hooks, and how the page render arrays use the same approach as forms and nodes. Weitzman suggest that if you're new to the concept of render arrays to check out either the Pro Drupal Development book or some of the other training resources such as a workshop or other training videos.
Drupalcamp Atlanta recently launched their new site for the 2010 Camp. I reviewed some of their features and found it to be a solid site. As the GVS team increases our focus on selling events with Drupal, I wanted to hear more about the backend of the site. So, I got in touch with Brent Ratliff who was the lead developer on the site, to find out how the site was built.
It’s by sharing knowledge with others that the Drupal community continues to grow and flourish. In that spirit, DrupalCon Chicago will be offering pre-conference training courses and workshops to attendees interested in gaining additional hands-on knowledge on a variety of topics related to Web and Drupal development. We are looking for talented, professional trainers who can share their knowledge at pre-conference training courses and workshops.
These courses will take place on March 7, 2011, before the main conference begins and will be held in the classroom facilities of the University of Chicago’s Gleacher Center, located steps from the conference venue. We are looking for sessions and workshops that touch on all aspects of Web development, from Drupal site-building, module development, user experience design, and beyond.
Recent comments
1 year 33 weeks ago
1 year 35 weeks ago
1 year 35 weeks ago
1 year 37 weeks ago
1 year 38 weeks ago
1 year 42 weeks ago
1 year 43 weeks ago
1 year 44 weeks ago
1 year 46 weeks ago
1 year 46 weeks ago