Daniel Schiavone's blog

How to Develop with Drupal

In preparation for tomorrow night's Baltimore Drupal Meetup I've been thinking of different topics to address. By putting some out beforehand I hope to stir up some ideas and best practices for discussion.

  1. Version  Control: Following the rest of the Drupal community we've been moving to GIT. GIT makes branching a lot easier. With larger projects our releases are organized into sprints. This means a release every two weeks. How do you leverage branches to manage releases?
  2. Configuration Management: This is always a hot topic. In Drupal all your configurations are trapped in the database where they can't be put under version control and synchronizing between different environments is next to impossible. Features can get you 80% there. How do you use features? What do you do for the other 20%?
  3. Data Management: We worked on a site with IBM where someone had set up a database backup to GIT every hour. Brilliant! This way when you do a GIT pull you get all the file updates AND the database. A quick drush bam-restore and viola! You're in synch. How do you use the backup and migrate module? 
  4. IDEs: I use Eclipse to edit code. Though there are many times (usually when I'm staring at an hourglass) I'm tempted to just use emacs or vi. How do you get the most out of Eclipse? Do you use a Php Debugger? Any favorite Eclipse plugins? Do you use some other IDE?
  5. Testing: A while back @greggersh showed me cucumber. It's brilliant. Write your test in plain language before you write code and you got your use cases and testing scripts. But if you're writing test scripts for Drupal chances are you're using SimpleTest. Do you use automated testing? If so what?
  6. Drush: If you're not using this amazing command line tool now you will be. How do you use drush?
So there's a few topics to chew on before getting together at Bertha's tomorrow for the meetup. We won't have enough time to cover it all but I know we'll all learn a bunch. I'll be sure to follow up on this post with some answers to the topics I've laid out.

What the hell am I doing here?

You've convinced your boss to give you the time to go to a conference, registered, booked your flight and hotel. You're ready to go. But have you really thought why you're going? Whether your attending a business lunch, meetup or a conference explicitly setting goals guarantees making the most of your time.

For an IT conference like DrupalCon goals might include gaining specific knowledge, meeting Dries Buytaert or having a beer with "the king of denmark”. It's best to keep the number of goals to 2 or 3. [Warning: Business Jargon] Goals should be as Specific, Measurable, Attainable, Relevant, Time-bound.

Here's my 3 goals for DrupalCon Chicago.

Goal #1: Become a contributor to Drupal

Even before we identified Drupal as our platform of choice we knew that open source was going to be at the heart of our business. The strength of the community sold us on Drupal so getting involved is important. Though I may not nail this one down by the end of the conference a brief conversation with Dries has given me a path to success and I'm hammering away at it.

Goal #2: Meet freelancer Drupal developers to collaborate with

Small companies like ours depend on partnerships and relationships. We have a growing network in Baltimore and DC that includes a wealth of talent but the local Drupal community is small and we sometimes need to bring on freelancers to expand our capacity. Dries has said, “The demand for Drupal talent continues to exceed the supply”. While this is true, Drupal developers tend to prefer freelancing rather than being tied to a desk. This works in our favor. I've met a handful already and I've organized a Freelancer Speeddating BoF (Bird of a Feather) during the conference to accelerate the process.

Goal #3: Learn more Drupal best practices for module development and site deployment

This goal is a bit typical but it helps to have some specific questions to get answered. I've already attended some great sessions on deployment tools and what I don't learn from sessions will get taken care of by cornering conference speakers and uber-geeks.

Having these goals in mind has guided what sessions and activities to attend. They've motivated efforts to meet people and fed topics for conversation. Most of all, having goals will help me get the most out of DrupalCon.

Drupal Going Corporate?

In 2009 DrupalCon DC had 1400 attendees. This year there are around 4,000 attending in Chicago. Growth around Drupal has been explosive to say the least. 1.7% of web sites are built with Drupal. How does a community based project like Drupal maintain a vibrant, fresh community while scaling to enterprise proportions? How does an open source project manage this kind of growth? 

Corporate Hierarchy

During this morning's DrupalCon keynote Dries Buytaert, the inventor of Drupal, answered this question introducing a middle management layer into the maintainers organizational structure. It seems there's no avoiding the corporate org chart. Coincidentally, I had grabbed Clay Shirky's book “Here Comes Everybody: The Power of Organizing without Organizations” to read on the plane and just read a section describing the history of the corporate org chart. I hadn't really looked closely at the conference schedule so I didn't know that Shirky is tomorrow's keynote speaker. I'm curious what he thinks.

There is a certain sadness seeing an idealistic, scrappy, pure open source project like Drupal growing up. But after hearing about the challenges releasing the latest version I completely understand. Other large open source projects like Linux have had to adopt similar structures. Even in my son's preschool you see how hierarchies natural appear in human endeavors. Ironic that while Drupal helps organizations become organic its success forces it to become more hierarchal.

Related links

http://association.drupal.org/blog/kieran/Drupalcon-growth-Ideas-from-300-to-30000-participants

Drupal Growing Up: Organic with a sprinkle of hierarchal

In 2009 DrupalCon DC had 1400 attendees. This year there are around 4,000 attending in Chicago. Growth around Drupal has been explosive to say the least. 1.7% of web sites are built with Drupal. How does a community based project like Drupal maintain a vibrant, fresh community while scaling to enterprise proportions? How does an open source project manage this kind of growth? 

During this morning's DrupalCon keynote Dries Buytaert, the inventor of Drupal, answered this question, introducing a middle management layer into the maintainers organizational structure. It seems there's no avoiding the corporate org chart. Coincidentally, I had grabbed Clay Shirky's book “Here Comes Everybody: The Power of Organizing without Organizations” to read on the plane and just read a section describing the history of the corporate org chart. I hadn't really looked closely at the conference schedule so I didn't know that Shirky is tomorrow's keynote speaker. I'm curious what he thinks.

There is a certain sadness seeing an idealistic, scrappy, pure open source project like Drupal growing up. But after hearing about the challenges releasing the latest version I completely understand. Other large open source projects like Linux have had to adopt similar structures. Even in my son's preschool I've seen how hierarchies are essential to human endeavors. Ironic that while Drupal helps organizations become organic its success forces it to become more hierarchal.

Related links

http://association.drupal.org/blog/kieran/Drupalcon-growth-Ideas-from-300-to-30000-participants

Before You Build

Building a FoundationOne of the more interesting challenges of software development is that whether it's for business automation or creating a web site technology, it touches business processes. Technology can't fix a flawed or or outdated process. Technology can automate, improve efficiency, provide metrics, facilitate communications, deliver information and a bunch of other things but there's nothing worse than getting half way into a software project only to find that your fighting against a tide of broken business practices. The same goes when you decide you build a new web site. Prepare before you build. Here are a few things to think about.

Message

Define your value proposition, mission and goals. Who are you? What do you do? Who are your customers? What can you do for them? What's the call to action?

 

Branding

By the time you get around to building your web site you should have some branding in place even if it's just a logo. You should also know your audience and what image you need to project whether it's classic corporate or fun loving startup.

 

Web Strategy

Great, you want to get on the web. Why? What business need does it fulfill? Once your new site is up who's going to maintain it? Content will need to be written and new functionality will need to be added. Who are you going to call for support? Be realistic. Delegate and plan for maintenance and growth.

 

Plan

You might not need all the answers to get started but you're going to need to ask the all the right questions. Ideally, you'll have your information architecture laid out and the major content written. Spend time on designing navigation. You've got seconds to capture interest.

 

Execute

Find the right help and get a new web site up and running quickly. You don't have to get everything right the first time but make sure you have a good foundation. There's no avoiding it, your site needs to be in a content management system like Drupal. A good foundation facilitates future growth.

 

Evaluate

Things on the web move quickly. You'll need to stay flexible. Revisit how your site is meeting your business goals on a regular basis, collect data, and find what's working and what's not. The agile nature of the web makes it easy to ditch what's not working and build on success.

The Way To Do Small Business Web Sites Is Changing

Last Friday I ran into a college friend who has been taking over a family business. Cambridge Iron & Metal has been a fixture in Baltimore for decades. It's not the kind of business you'd expect to have a large web presence and yet they just put up a new site. Because they've been around so long they show up fourth in a search for “scrap metal Maryland”. Meanwhile, their Yellow Pages budget has steadily declined.

It used to be when you started a business the first thing you did was order up a telephone from Ma Bell and print up some business cards. Now you purchase a domain name, get an email account and put up a web site. In the past most small businesses web sites were static brochures often designed by a friend or family member and maintained by the office power user. This way of doing things has worked for a lot of people in the past but with 266,244,500 people on the Internet in North America and more than 500 million on Facebook world wide the Internet is becoming too important for DYI half efforts. The brochure site is irrelevant with user's expectations where they are today.

Small businesses like Amuse Toys in Fells Point have to be savvy enough to nurture their community both off-line and on-line While they're actively supporting, donating, sponsoring organization like the Baltimore Downtown Family Alliance they continue to nurture their on-line community through regular blog posts and an on-line shopping cart. Their blog is maintained by Miranda Wulff Altschuler who is active in relevant associated communities. The blog is essential part of their business, like stocking shelves and arranging their display window. Maintaining a web site doesn't have to be expensive or complicated. But your web site is important enough to dedicate time and delegate to someone with expertise.

Choosing a Hosting Service Provider

What's between the bun

Low prices aren't always a good thing. Whether your buying a hamburger or a hosting plan it's important to ask what's between the bun. There's a big difference between a $1 and a $8 burger and there's a big difference between a $5 per month shared hosting plan and the a more expensive plan. In the last week or so we launched three web sites on three different hosting providers each experience was unique. I'd like to share our experience.

VPS or Shared Hosting?

The first question you should ask yourself is how much control do you need. To little or too much control can cost time and money. A VPS (Virtual Private Server) basically puts you in charge of the Operating System. While this gives you the ability to load additional libraries and have granular control of the environment it also burdens you with the responsibility of maintaining that environment including loading security patches and locking down the Operation System. A shared Hosting provider takes care of the Operating System, all you have control of is you sites directory and maybe overriding some Apache settings. Both have their place. None of three sites we recently launched merited their own server. At least not until they get crushed by success.

Bigger is not necessarily better

Big shops like GoDaddy and Network Solutions have restrictions in place that make it difficult and sometimes impossible to adjust crucial parameters like available memory. They also limit console access so installing additional libraries isn't possible. What does this mean to the business person who wants a reliable presence on the web? You may experience memory errors and if you have someone helping you they will spend more time working around restrictions to get the site running properly. These restrictions help the big shops provide services to a non technical audience. If you're creating a DYI site they might be a good fit. But depending on your web ambitious you should look elsewhere.

 

Go Daddy

Web Faction

Snake Hill

Cost per month

$14.99

$14.50

$40.00

Time to launch

6 hours

2 hours

45 minutes

Annual hosting

$179.88

$174.00

$480.00

First year cost

$779.88

$374.00

$555.00

Features

Disk Space

Unlimited

Bandwidth

Unlimited

 

Disk Space

20GB

Bandwidth

1200GB per month

 

Disk Space

20GB

Bandwidth

200GB

 

Audience

Lot's of features for tech light users

Lot's of features for tech savvy users

For people who want someone to take care of their needs

How the startup cost of the three sample sites break down

 

Know your requirements

In our three examples each client is going to have help from Snake Hill or another technical resource to maintain their site. The DIY aspects of consumer oriented providers just get in the way in these situations. For the client who wanted a third party hosting provider it didn't take much research to find them a good fit. Among the criteria in making the choice was root ssh access, an appropriate Php environment to run Drupal, and reliability.

The Interthingie is built by and for geeks

Geeks like to design products that are geared towards their own needs. In the realm of hosting options for other geeks this means that there are plenty of hosting options to choose from. But each option is addresses a different skill set. For example, Microsoft driven sites have very different technical requirements than LAMP (Linux,Apache, MySQL, Perl/Php) sites. And even among LAMP focused hosting providers the tool sets can be very different. The primary challenge for making a decision was finding a hosting provider that caters to your platform. It's important to remember that moving the site again will likely cost more than a year's hosting fees. So understand your requirements and read carefully the specification for the provider's offering.

Time is money

Don't get hung up on hosting fees. Hosting isn't your only cost when maintaining a web site in fact it's one of the least expensive items involved in maintaining a web site. Whether your maintaining the site yourself or having someone else help you time is valuable. Time spent fighting with mismatched tools and time spent with tech support is time away from taking care of your business. Getting value out of your web site means making sure it's available, valuable and timely. These three things will cost more than any hosting plan.

Included in the Snake Hill price is a monthly support package which can include anything from answering user questions to updating code on the site. This is a great fit when you know you're site is going to be a growing, living entity that's not just launched and forgotten. This comes back to the initial questions you have to ask yourself, "why put up a web site?" But that's a topic for another post or two.

Syndicate content

Recent Blog Entries

04/26/2012 - 6:05pm
03/14/2012 - 2:16pm
02/24/2012 - 1:15pm

Last year Chrome over took Internet Explorer. Seeing the light at the end of the tunnel. No more IE fixes http://t.co/1hLwVqct
1 day 11 hours ago

If you haven't heard "Drupal 7 – the Essentials" was added to the Drupal community wiki http://t.co/mhfVsnJE
3 days 49 min ago

Drupal Meetup tonight! Bertha's - 5:30/beginners; 6:30/drupal on the cloud http://t.co/pAHXWc5J
1 week 3 days ago