Home / Taxonomy term

acquia drupal planet

Database Magic on Acquia Hosting

As I discussed in my previous screencast, Drupal site building workflow involves a separate development, staging, and production environment. The different environments use different databases, generally on different database servers since you do not want your testing activities to impact your production site. Traditionally this means you need to juggle multiple Drupal settings.php files containing your database credentials and manually configure database replication and failover yourself.

Drupal in Greece

Athens, Greece Greece hasn't had an easy ride lately. Through the financial crisis and collapse of public sector funding and wages, many young Greeks have suddenly lost their prospective career path. The trash collection and public transportation workers have been striking, meaning not only will you have to walk to work, you might have to avoid gigantic piles of trash, ironically decorated with Christmas lights, along the way. To add insult to injury, it snowed the day I arrived - a rare event - and many of the smaller roads in the mountains were closed.

It would be easy to feel held down in such an environment; not so the Greek Drupal community. The buzz and energy at this weekend's DrupalCamp Athens was palpable, and one could taste the optimism as plans were made for testing Drupal 7, holding translation sprints, and sharing resources on finding venture capital for startups.

Part 2: Testing and applying patches for d7cx

I wanted to show how so-called "non-coders" can make significant contributions to the Drupal project. Probably the quickest way to make friends with a module maintainer is to help out in the issue queue. You can also help out with triage on some of the busiest projects. This requires no coding at all. (Check out the Views bug squad!) After triage, the next things you can do are:

  • Try to replicate bugs - are you finding the same problems under the same conditions?
  • Download and test patches - does the patch work as expected under your conditions?

Previously in Part 1 - I described how you can simply download and test your favorite modules to make sure they are working in Drupal 7. Even simple modules like "Environment Indicator" have alpha versions available for Drupal 7. That project has no issues for 7.x version. But has it been fully tested? Give it a whirl! If you find a bug, then say so.

In this next part, I have 2 videos which will show your how I apply and test a patch with a GUI; then how I create a new patch. Now we'll look at patches: applying, testing and submitting.

First: What's a patch?

Does the word "patch" sound mysterious to you? Never had a chance to "apply a patch"? or "Reroll a patch"? Or possibly even submit a new one?

Patches are text files they have instructions indicating differences with lines preceeded by a "-" to indicate that a line will be deleted, and a "+" sign to indicate a line will be added. This set of instructions is saved, instead of just making the changes directly. This means you can pass along this fix. By sharing this fix, other people can apply this patch and get the same fix.

When we say "don't hack core" in Drupal, it means don't change the files directly. You can however write neccessary patches, apply and share them. Patches are written to fix a bug, but sometimes can introduce new problems. Because of that, they need to be tested. And we'll see how to do that.

Importing a Drupal site into Acquia Hosting

Drupal site building often involves moving a site from one environment to another: from a local development environment to a staging server on the web to a full production cluster. This short screencast shows how to export a site from Drupal Gardens and import that site into Acquia Hosting.

Help make my Drupal Gardens site look great!

Thank goodness I only have black socks in my drawer. Otherwise I’d walk around with black and blue mixed and never notice! To say that design isn’t my forté would be missing the point. I can sum up most of what I know about CSS in one line: border: solid red 1px; It's called "The Rob", and it's what you do to an element to see if you've selected it correctly. Given these limitations, I usually leave designing websites to those who can. Whenever in need, I usually ask someone I know to help out.

Part 1: Drop everything and Help module maintainers fulfill their d7cx pledge

Drupal 7 RC 1 needs testers. And now more than ever, your favorite modules need testing too. As Moshe wrote yesterday, they're here to collect on the D7CX pledge. This is a great way that a new Drupal user can make a significant contribution, and make some friends in the process :)

I was amazed at the most recent DrupalCamp in Ireland that some people I spoke to weren't trying out Drupal 7 yet. I've been using Gardens so much, I adore D7 and get all itchy when I use D6. Come in, the water's fine!

Well, except that many of your favorite modules aren't quite ready yet. Many module maintainers took the D7CX pledge to be ready for the release of Drupal 7. That looks to be in about 7-10 days! There's a mad rush on and even as a non-coder, or a new user to Drupal you can help.

Download Drupal 7, and test your favorite modules. Report bugs and submit patches! It's easy, right? I'll be making a few posts this week to take "the scary" out of testing patches, and show you exactly how I do it. In this post, we'll get D7 up and running, and determine the best way to locate modules which need help, and the specific issues which need testing.

203 people tell What I wish I knew when I started Drupal

We had 226 respondents to a survey about roles in the Drupal community. Though we pilot tested the survey and honed down the questions, the findings were inconclusive, though we could draw one result. Apparently we use terms like "themer" or "module developer" yet these platonic ideals seem to only exist in our heads. In reality, a person on a team will find themselves handling many roles. In the context of a larger organization, Drupal is one tool in a larger set to be integrated with. In a smaller dev shop, Drupal is again, one tool of many which are used. Slicing up Drupal developers into roles turned into a muddy exercise.

However, there was one interesting outcome. Of the respondents, 203 individuals replied to the open-ended question: "What do you wish you had known when you started Drupal"? It's taken me this long to code and analyze this information so we can make some use of it. I think it can give people within Drupal some insight on how we can improve our welcome mat. And for those who are new, I hope this gives you some good tips and advice!

Delivering the "Right" Search Results

The Apache Solr search server that powers Acquia Search has many powerful features. One of the less appreciated ones is the ability to specify at query time that documents matching certain criteria should get an extra "boost" in their relevancy score. This means that they appear higher in the search results.

Imagine that you are maintaining a site and you have recently added Acquia Search. Your boss, Bob, is not pleased, however. He says "I thought you told me this new search would do a better job of finding the most relevant results - but when I try it the ones I expect to see come up first are not there." After protesting that the result are good matches to the key words, further discussion reveals that Bob expect his blog posts to be the most relevant matches!

In the Apache Solr settings you can use the "Content bias settings" tab and "Search fields" tab to adjust the boost (see screen shot below). The boost can be set based on a range of properties including content types and node properties, as well as for cases where a keyword matches a certain node field or taxonomy vocabulary. By changing these configuration options, in most cases you can shift the results so they match the needs of your site. Given the problem with Bob's blog posts, you adjust the settings so that all Blog content gets an extra boost.

However, you may still find that the search results are not optimally relevant, especially if you have certain pieces of content that you think should be highlighted, or some pieces of content that you know are of particularly high quality. In this case, you can add a search boost at the node level to make these "important" nodes come to the top. You can write a very small amount of custom code in a site-specific module to get the desired result.

In our imagined scenario case, Bob is still upset because the developers also write blog posts, and those tend to include more of the keywords so are better matches, plus he's annoyed that when one of his blog posts does show up, it's one he wrote last month. If you have some way to automatically identify the "important" nodes, then you may be able to transform those rules into code if the rules can be formulated as a Lucene query. For example, like this hook implementation:

Why Varnish Rocks (and details on Boston training)

We are big fans of Varnish Cache, the incredibly fast and flexible open-source, caching software. Varnish delivers a significant fraction of the content for our Acquia Hosting and Drupal Gardens users.

Drupal Gardens site design contest winners

The Drupal Gardens sites submitted for our recent contest were fantastic and it was really hard to pick just one winner. The site designs were judged on their creativity, attractiveness, and complexity. The winner is Susan MacPhee who built Ipswich Ale Brewery, the website for a New England craft brewer. Congratulations Susan - enjoy your new iPad!