Planet Drupal
Learn By The Drop: Albany Drupal Meetup Notes
The first quarterly (hopefully ) Drupal meetup for the Albany, NY group took place last Saturday. Seven people from the upstate New York area attended and there was a lot of really good discussion about Drupal. Here's a summary of some of the things that we discussed.
Drupal for Educators
One member of the group was interested in using Drupal in an education setting. There was a discussion of whether or not Joomla or Drupal would best meet this person's needs. It's not surprising that we all felt Drupal was a great choice. That said I think it's important to be able to clearly and concisely make the value proposition for Drupal vs. other platforms such as Joomla and WordPress. Like anything else if we want Drupal to grow in a competitive environment then we need to know how to sell Drupal.
Palantir: Drupal for Museums in Denver
Museums and cultural institutions make up a large part of Palantir's business. We like working with them because we support their mission and they tend to have fun, twisted problems to solve. They like working with us because we tend to have fun solving twisted problems.
And we both like it because Palantir uses the industry-leading Drupal Web content management platform, and Drupal rocks for museums. In fact, it rocks so much that we'll be giving a workshop on Drupal at the Museums and the Web conference in Denver April 13-17th.
Dave Hall Consulting: Solr Replication, Load Balancing, haproxy and Drupal
I use Apache Solr for search on several projects, including a few using Drupal. Solr has built in support for replication and load balancing, unfortunately the load balancing is done on the client side and works best when using a persistent connection, which doesn't make a lot of sense for php based webapps. In the case of Drupal, there has been a long discussion on a patch in the issue queue to enable Solr's native load balancing, but things seem to have stalled.
In one instance I have Solr replicating from the master to a slave, with the plan to add additional slaves if the load justifies it. In order to get Drupal to write to the master and read from either node I needed a proxy or load balancer. In my case the best lightweight http load balancer that would easily run on the web heads was haproxy. I could have run varnish in front of solr and had it do the load balancing but that seemed like overkill at this stage.
Now when an update request hits haproxy it directs it to the master, but for reads it balances the requests between the 2 nodes. To get this setup running on ubuntu 9.10 with haproxy 1.3.18, I used the following /etc/haproxy/haproxy.cfg on each of the web heads:
Development Seed: SXSW: Selling Your Milk When the Cow is Free
This afternoon I am speaking on the SXSW panel Selling Your Milk When the Cow is Free about what it has been like to make the transition to selling products with Open Atrium.
We only have one way to sell milk right now, and it ain't scaling, but we have plans :)
On the panel, I'll talk about the bootstrapping process we undertook when Open Atrium first launched last July. I'll share how we communicated about the work we wanted to be doing in a way that let us book a set of clients that had similar needs, which allowed us to pool resources to build a good foundation for Open Atrium.
Dries Buytaert: Druplipet, a Drupal chia pet
And the answer to yesterday's "Eye grow Drupal" question is: Druplipets. Hundreds of cute little Druplipets, your friendly Druplicon chia pet. Druplipet is the newest member of the Acquia and Drupal Gardens family and will be making appearances at industry events this year. It is making its first appearance at SXSW along with a fun contest. Needless to say, Drupal chia pets are fun and powerful stuff!
Ventura Cottage: Designing for IE - all of them!
So you create your beautiful Drupal theme, tweak it to perfection using Firefox and Firebug, send the url to the client, confident of praise and adulation.
Then the dreaded response "I'm looking at it in Internet Explorer 6 and...". As you can't run multiple versions of IE on the same machine, previously I have used old machines running different versions of IE, and tools like LogMeIn to check browser compatibility but now there is a simpler way.
Fusion Drupal Themes: Ultimate list of Drupal grid theme resources
Grid-based web development has evolved over the past few years from being the stuff of a few fringe enthusiasts to a fundamental concept for designing and building web sites. While grids aren’t the answer to everything, there are a number of ways they make your life a lot easier.
If you’re interested in building or using a grid Drupal theme, here is a big collection of resources in one place to get you started!
There is a module for that!: Actions REST, a poor man's URI interface to actions
I rely on actions extensively to build functionality in my sites. I find them convenient for business logic because they are packaged chunks of functionality that can be called from many places, including Trigger, Rules, and VBO. Today, I've added a new place where actions can be called: the URL. Actions REST provides this functionality.
Consider a job site where a supplier receives an invitation to participate in a project. The supplier logs on the site and views the invitation, then wants to accept or decline it.
CiviCRM Blog: Support Canvassing and GOTV (Get Out The Vote) functionality in CiviCRM
Political groups and campaigns have been some of the earliest users of CiviCRM. We've had quite a few political parties using CiviCRM: Green Party of New Zealand, Green Party of Canada, Oregon State Democrats, Vermont Progressive Party and even the Pirate Party of Germany! One of the features missing from CiviCRM has been Canvassing, GOTV, PhoneList and WalkList functionality. This has been long requested and there have been various specifications on the wiki for this.
Earlier this year we worked with Progressive Technology Project (PTP) on CiviEngage, a Drupal Module that brings address parsing, walklist and phonelist support into CiviCRM. You can read more about this work here: Canvass and Phonebank.
At the same time Will Brownsberger, a state legislator from Massachusetts, started using CiviCRM to support his office and campaign operations. As part of his campaign he wrote a drupal/civicrm module to do voter canvassing. Will was kind enough to attend and demo his module at the CiviCRM Boston Developer Camp in February.
Pronovix: Real time activity and message stream on Open Atrium
Yesterday I saw this post with a video on the new P2 theme for Wordpress and how Automattic* is using that as a real time microblog like tool for status updates in their company. And it got me thinking...
For some time now we've been using Open Atrium in Pronovix for project management. But until today all of our real time communication takes place through Skype. At some point we tried to replace Skype with XMPP (because Skype didn't properly work on Linux) but once Skype worked again for all the colleagues Jabber got abandoned.
One of the reasons why we were interested in Jabber was to integrate activity updates into our communication tool (e.g. posting comment, case, commit messages). So that we would be able to have a discussion and have a bot post newly created cases into our chat channel.
CommonPlaces e-Solutions: CommonPlaces’ Michelle Lauer to Present at DrupalCon SF
CommonPlaces is thrilled to announce that Michelle Lauer has been selected by the Drupal community to present “Views Examples: Using Arguments and Relationships” at DrupalCon San Francisco, which will be held from April 19-21. You can read our press release here.
In her session, Michelle will share a repeatable strategy for using arguments and relationships with Drupal Views to display specific subsets of content. Here’s the session description, from the DrupalCon SF site:
Views are a powerful way to display specific subsets of your content. From a simple list of all nodes in a single content type to a complex collection of related information, each step will be explained so you can easily repeat the strategy in your own views.
I will demonstrate a systematic approach to building all views and show examples of using arguments and relationships.
Topics
Appnovation Technologies: Theming Views on Drupal 6 (the simple way)
There are several ways you can theme a view on Drupal, and this tutorial will describe a simple and quick way to accomplish just that. I assume that you’re familiar to working with Views and CCK, so I won’t go in much detail on the process of creating the view and content type.
For this example I’m creating a block simple view that will display a teaser for the 3 latest blog posts.
First thing we’ll have to do is create the actual template file on the themes folder (I’d recommend that you create a folder for all the views, but this is optional). We’ll start by going to the views interface to find out how that file should be named.
On the Views interface select “Theme: information” under “Basic Settings”.
You’ll see a list of the possible files you can use listed from the most general(full page)on top to the most specific on the bottom. We’re going to be selecting one option on the “Row Output”. If you don’t need to be too specific about theming that view, you can use the second option. Copy the file name and create that file on your themes folder.
Lullabot: Drupal Voices 80: Yves Chedemois on the History and Future of CCK
Yves Chedemois (aka "yched") talks about how he became the co-maintainer of the Content Construction Kit (CCK) along with KarenS. He also talks about the early days of CCK, and the co-evolution along with the Views. Yched also talks a bit about his motivation for continuing to work on a project such as CCK, and the challenges of working on it. He also talks about which parts of CCK are included in Drupal 7 as a part of fields in core, the new field storage engine in D7, and which parts of CCK are not included as well as pending tasks such as the challenges of developing the upgrade path to D7.
Adaptivethemes: Field Type Suggestions in Drupal 7
Today I finally got around to testing out the new field suggestions in Drupal 7. If you’re not familiar with the standard suggestions in short you can either use field templates or override theme_field using a naming convention not unlike we do with preprocess functions. What struck me as kind of odd was the lack suggestions for field types—maybe there’s a very good reason for this such as performance, I don’t know, but I thought it might be interesting to see if I could use them, if I wanted to.
Fusion Drupal Themes: New faces at TNT
In all our recent excitement, I have neglected to introduce the two newest members of the TopNotchThemes family!
Stacy WrayStacy joined us a few months ago to provide some much needed assistance with themer-herding, customer support, bookkeeping, and generally supporting our team. She’s the friendly face you’ll talk to first if you have any questions about our themes. Stacy is also involved with the rebirth of the Drupal Dojo/Kata, and has been upping her Drupal nerd cred on a daily basis.
Sheena Donnelly
Dave Cohen: Drupal for Facebook at SF DUG
I had the opportunity to present my project Drupal for Facebook, at the San Francisco Drupal Users Group.
Drupal for Facebook let's you build Facebook Apps with Drupal. These apps allow users to register on your site using their facebook password. Or, place your content within facebook.com. It's flexible, lets you build features the way you're used to (The Drupal Way), and can give your sites social features that would otherwise be impossible.
Big thanks to Conrad for providing the video. And to John for inviting me to speak, and everyone at Parisoma for hosting.
Boombatower Development: Upgrading theme() calls with Coder Upgrade
A lot of effort has been poured into the upgrade routines for Coder Upgrade as evidenced by the green check marks on this page. (A side note: so far, duellj is the only person to show up for the upgrade barn raising and much thanks to Jon is due. If you are up for a challenge, help is still welcomed and needed to write and/or test routines.)
An interesting example of an upgrade routine is the theme() function call change. This upgrade involves "array-itizing" the variable parameters. For example, this:
<?php
theme('user_list', $users, $title);
?>
becomes in D7:
<?php
theme('user_list', array('users' => $users, 'title' => $title));
?>
The twist involves finding the keys for the associative array of variables.
Sparing the details, Coder Upgrade will insert the proper keys for any theme defined in D7 core files (includes and modules directories) as well as themes defined by the module being upgraded.
CommonPlaces e-Solutions: New White Paper – “When to Use a Multi-Site Architecture”
Are you planning to build multiple websites for your business? Before you do, read out free, 9-page white paper, “When to Use a Multi-Site Architecture,” to learn more about the significant savings that multi-site can deliver. If your goals require multiple websites, a multi-site solution could cut your development and maintenance costs in half.
Here’s an excerpt from the white paper:
“More often than not, one website can deliver everything an organization needs, and help them achieve all of their goals.
In some cases, however, your goals may necessitate multiple, related websites. Perhaps you want to build upon the success of your resource site for plumbers, and offer one for electricians as well. Maybe you want to create an online university, separate from your main site, and offer courses to your current users. Or maybe you want to customize multiple online stores for different segments of your customer base, but offer many of the same products to them.
Lullabot: Drupal Voices 79: Daniel Kudwien and his many Drupal development contributions
Daniel Kudwien (aka sun on drupal.org and tha_sun on IRC) of Unleashed Mind is a prolific Drupal contributed module author, but also Drupal core developer.
He discusses some of the well-known modules that he helped author and maintain, such as WYSIWYG, Admininstration Menu, Image Assist, Inline, and Demonstration Site.
He's taken it upon himself to make sure a lot of the Drupal 7 APIs have been standardized and cleaned up as much as possible, and also rallied a lot of help on tackling Drupal's oldest standing task of "Node 8," which is allowing users to cancel their own accounts. Sun also gave a heroic effort on helping on many of the different exception patches during the code slush period, and fellow developer chx commenting that he's never seen anyone sprint for Drupal.
