Enterprise Drupal

Josh Koenig of Chapter Three is starting a series about Drupal and the Enterprise and mentions the “Is Drupal an Enterprise Solution?” panel from OSCMS Sunnyvale.

His post merges nicely with some things I’m doing right now (and reminded me of this old post).

In my new job, one of my tasks is contract management. That means I need to know where each vendor and customer contract is in our bureaucracy. It’s tedious but necessary.

To keep up, I built out a Drupal 5 intranet site. Decked out with CCK and Views, I was able to put together a simple tracking system that gives my bosses a quick overview of the contract status for all our various dealings.

I’m also using the Node Access module to keep company secrets (mostly contracts that include non-disclosure language) from being seen by all employees. We’re using private file downloads to keep digital files out of the wrong hands, too.

Ironically, I’ve been working with Drupal for almost 3 years, and this site is the first Drupal site (aside from my development test site) that I actually manage. Usually, I just write some code or give some advice and others do the day-to-day work. But this time, I approve all the content, manage accounts, and (importantly) set access rules.

Now, a funny thing has happened. Every person who gets a tour of the site really likes it. Or they say: This would be great for me if it had this change. Sometimes, in CCK, I make the change in front of them. I had a meeting on Friday with the head of procurement, who is now testing the site for his needs. (And his department does purchasing for 60+ different business operations.)

The enterprise moral to the story? My competition in this space isn’t Joomla, it’s our SAP installation. We use SAP for most financial tracking, but it is too big and unwieldy for something like contract tracking. The fact that I can alter the site quickly and in direct response to user feedback makes this site incredibly powerful.

There is a potentially huge market for this type of Drupal work. Historically, you’d hire a programmer (or a team) to develop a custom application (my brother-in-law makes a good living doing custom accounting systems). Or, you’d hire a monolithic application provider like SAP to install cumbersome software that either does half or what you need or does three times more than you can comprehend.

With Drupal, I’ve been able to find just the right balance. And now if we hook the user auth system into our Exchange server, we may take this site company-wide, so that managers throughout our company can use a single system for contract tracking.

End of Life for PHP 4

Update: When PEAR signs on, you know the movement to PHP 5 is real.

Well, that was pretty fast. Php.net announces:

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5.

I’m not taking any credit here. The writing was on the wall, and GoPHP5 was a symptom; this announcement is the cure.

New mugshot

rickard.jpg

Thanks to Diana Porter for a new mugshot! I’ll have to incorporate it into the site.

That’s me, in my office, in front of a print of Mark Rothko’s
Untitled (Violet, Black, Orange, Yellow on White and Red), 1949.

Melty

My trusty G4 MacBook (where I do all my development work) is in the process of melting.

I think the fans are broken, which causes the CPU to overheat and the system to auto-sleep.

About to ship it off to AppleCare (it is under warranty). But looks like I’m out of action during the code-freeze cram-a-thon. This also means no MySite fixes for a little while

I did manage to get a Targus chill mat to keep it from overheating while I move everything to backup.

UPDATE: Apple is waiting on a part, which supports my broken fan theory.

Grooming more Drupal developers

Dries has a post today about the apparent shortage of Drupal coders-for-hire.

I left a long comment on his post, and I’d like to keep it, so I’m reposting here with some additions.

Corporately, we’re following three paths, all of which are productive.

1) Hire talent and let them learn on the job. We simply get the best people we can.

2) Interns, interns, interns. A college student with a free summer can get up to speed with Drupal development. Programs like Summer of Code are proof of this. We recruit whenever possible and always reach out to local students who show an interest in Drupal.

3) Work within your industry to promote Drupal. Groups like http://groups.drupal.org/newspapers-on-drupal can draw talent to your project and the Drupal community.

The only barrier I’ve ever seen to Drupal adoption is from coders (always ones with CS degrees or specific certifications) who disagree with some foundational elements of Drupal for “religous” reasons akin to Mac v. PC v. Linux loyalties. [Example complaint: Drupal isn’t OO, so it can’t be any good. Then the developer never bothers looking.]

Then there’s the infamous attitude: “Open source software is developed by untrained hacker kids in their basements. I’m a professional software developer and my personal project will always be better.”

I like the way Rasmus killed that myth in his Sunnyvale talk on PHP security.

One of the aspects of Drupal that (I suspect) many of us find so appealing is the open collaboration. It is a learning environment for many (myself included), but it can be a real business asset as well.

One possibility that occurs to me is that some projects might not be able to hire developers because, frankly, the project isn’t very good. I’m not sure anyone would willingly take on a Drupal project to produce “a MySpace clone,” yet people ask for that all the time.

I get occasional offers to do small projects, which I turn down for two reasons.

1) I have a day job that keeps me quite busy.

2) If the project is really interesting or useful to the community, I might pick it up anyway.

Of course, I also have the luxury of getting paid to spend part of my time developing my Drupal project.

On a positive note, some of us are thinking of throwing a News and Drupal miniconference some time this year. The goal would be to expose more people to the platform and to exchange best-practice ideas.

It also occurs to me that reviving the “gold standard” concept for contributed modules might be a good way to encourage new developers to learn proper Drupal mojo.

Surprise (part two)

Amy Gahran was nice enought to write a follow-up piece that is mostly an edited version of some notes I dashed off last night.

Hopefully it makes sense to everyone. I think I’ll do a series of posts later to elaborate on some of the points, particularly the cryptic challenge below:

Do you think collaboration creates better journalism and openness creates a freer society? (That’s really a philosophical point for using an open platform.)

Surprise!

Picture 2.png

Late in the day today I surfed over to the Poynter Institute’s “E-media tidbits” column* (which I’ve been reading daily for over five years now).

And what did I see? Me**.

In a post by Amy Gahran about Open CMS systems for newspapers, Lisa Williams was nice enough to mention MySite as an example of “current efforts to push the news CMS envelope.”

Lisa is a member of Newspapers on Drupal along with other recent Knight Foundation winners. And we have a MySite user group, too.

* Poynter is a non-profit journalism foundation that also owns the St. Petersburg (FL) Times.

** The picture is an old photo I took of myself in the mirror, using the first digital camera I ever used (in 1999) while working my first newspaper job. Then I PhotoShopped it to look cool. I think the photo is a goof, so I use it for an avatar frequently.

[Note to self: maybe you should apply for a Knight grant….]

Say “cheese”

BigHeadKen.jpg

For those of you playing our home game, here’s the photo I use as an avatar.

It is, appropriately, named BigHeadKen on my local machine.

I took this photo almost 10 years ago. Strange.

GoPHP5.org

Support GoPHP5.org

How many people does it take to start a movement? I guess we’ll find out.

GoPHP5.org launched today, after a lot of hard work by Robert Douglass, Larry Garfield and Marc Delisle. I know that Larry has been evangelical about contacting web hosts and PHP projects for the last month.

The purpose is to coordinate the movement of Open Source Software (OSS) projects to the exclusive use of PHP 5. Why exclusive? Because there are some incompatibilities between PHP 4 and PHP 5, developers often write workarounds to cover both cases. And, in other cases, we have to avoid using functions that are PHP5-only. Frankly, that just doesn’t make much sense to me.

For me, the whole thing started in Sunnyvale, during Dries Buytaert’s “State of Drupal” talk at the last Drupal/OpenSourceCMS meeting. After his informal talk, there was open Q&A. And, since we were at Yahoo!, Rasmus Lerdorf was handling the microphone for the audience.

The two had a friendly exchange about why more OSS projects didn’t use PHP 5 (Drupal 5.1 and the upcoming 6.0 both run on PHP 4 and PHP 5). The basic answer, from Dries (as I recall it) was so many of our users rely on shared hosts and most shared hosts still only offer PHP 4. Now, pride in his work aside, Rasmus has a vested interest in getting people onto PHP 5 as a platform: if the developer community doesn’t use it, support for new features will fall off, and the proect will suffer. Dries discussed this right after the Sunnyvale conference. Rasmus also faces the challenge that the PHP working group can’t force people to drop PHP 4. The code is loose, and people can do as they like.

But there are great benefits to moving development to PHP 5 (especially if you like to pass data around using XML).

My position on the issue is simple, but its a complicated kind of simple.

  • I work for a large company where we use PHP 5.2 exclusively in production.
  • On my development machine, I code and test on PHP 5.1.6 (thanks to Marc Liyanage).
  • My web host (for this site) runs PHP 4.4.x
  • I develop and maintain a Drupal module
  • The company I work for runs Drupal and Joomla sites, and Jonah Braun is on our staff.

So one day Jonah was having a barbecue and we started talking about the PHP 4 / PHP 5 debate, and the role of Drupal and Joomla. We agreed, in theory, that the problem for both projects is this: If one declares a move to drop PHP 4 and the other doesn’t, the project risks losing users not based on quality, but simply based on the availability of PHP 5.

Now we work on different projects, but Jonah and I agree (I think) that your decision to select software should be based on the merits of the product, not forced restrictions. So we thought: Hey, if we both declare that we’re moving to PHP 5 on some arbitrary future date….

After that conversation, I sent a note to Larry (who I knew was working on cool PDO features for Drupal that, yup, require PHP 5), and he thought it sounded like a good idea. That exchange spawned this soon-to-be-infamous post to the Drupal development list.

Since then, thanks to Larry and Robert and everyone else who has commented on, worked on, or debated about the proposal, the GoPHP5.org movement has gathered steam and leaked out to the greater world.

And that’s a good thing.