Drupal

Wall O' Drupal Video Feeds

Jody just created a small patch for FeedAPI that added a filter to Views for "Filter by Parent Term," which allowed me to create a new way to sort through the massive amount of videos that have been coming in via the various Drupal themed video feeds that I've been able to find. Before, FeedAPI only had an option to "Filter by Parent Feed", which only accepted the feed's node id and which made it pretty unusable as an exposed filter. But now that it is working, I present to you, the Wall O' Drupal Video Feeds. This is mostly just a proof-of-concept as I try to work through different ways to organize helpful and informative Drupal videos (espescially instructional videos), but I hope it's useful on its own as well!

Update: The "wall o' feeds" is now known as the Drupal Video Planet

Google Summer of Code 2008 - Views as Web Widget

ZivTech is extremely excited to announce our participation in the Google Summer of Code 2008. Jody and I, along with Aaron Winborn and Roger Filomeno, are mentoring the project Views as Web Widget, which will be worked on by Utah State University student John Snow. At the end of this project you should be able to turn your Drupal Views output into java, opensocial, and facebook widgets, and your site should be able to serve them out as XML feeds. I believe that this project truly has the potential to push Drupal to another level, as it can allow people to publish from their Drupal site to any number of other sites with ease. As Aaron noted in his post Drupal will Explode your Site into a Million Pieces, and Why You Want That:

Views as a Web Widget has the potential to revolutionize the Internet, now that I think about it. Taking a hint from Steve Rubel of Micro Persuasion in The Future is Web Services, Not Web Sites, we are entering a time where creating an API for embedding content within another site is becoming a standard way of sharing information.

The leading players on the web all see the train coming. They are wisely creating APIs and turning themselves into plug-and-play services, not just big destinations. YouTube is just the latest to do so today. Amazon has S3. Google has OpenSocial and an extensive library of APIs. As does Microsoft. Facebook is allowing its applications to live outside the site. Twitter is an API first and (eventually) a business model second. Finally, the booming widget economy shows the promise of small content that can go anywhere.

Anyway, I'll be sure to write more about the project as the summer progresses, but for now I just wanted to end by saying congrats to John Snow, and THANK YOU to google for funding this initiative, and to all the hard working Drupalistas (most of all Webchick) who have helped Drupal to accept 21 awesome students, whose projects promise to bring an amazing amount of new features and functions to Drupal

HowTo: Add a freetagging form to a node display (Drupal 5)

This has been added to the Drupal 5 PHP Snippet section of the Drupal Handbook

I needed to make a little freetagging form to allow users to tag content as they view it - here's how I did it:

Set up a freetagging vocabulary using taxonomy.module and assign it to your content type as usual. Note the vid (vocabulary id) of your freetagging vocabulary (you can find it in the URL when editing the vocabulary). In a custom module, create a new form like so:

<?php
// form for adding tags to nodes
function MY_CUSTOM_MODULE_tag_form($nid = 0) {
 
$form = array();
 
$form['nid'] = array(
   
'#type' => 'hidden',
   
'#value' => $nid,
    );
 
$form['tag'] = array(
   
'#type' => 'textfield',
   
'#title' => 'add tag',
    );
 
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('+'),
  );
  return
$form;
}
?>

A simple shell command for drupal cvs checkouts

#!/bin/bash
cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r DRUPAL-$2 -d $1 contributions/modules/$1

There are lots of great Drupal productivity / development modules (e.g. drush, devel, coder) which due to their nature as modules need to be installed on each site you work on. If you work on a dizzying number of different Drupal sites, productivity improvements which are not site-specific are the most useful.
NB: this post is geared toward Mac users.

Module Mashup: Creating a feed of embedded videos using emfield, feedapi, and feedapi_mapper

The following is a HOWTO I just submitted to the Drupal.org Handbook

It is now easy to create feeds of embedded third-party videos on Drupal sites using a combination of CCK, Embedded Media Field, FeedAPI, & the FeedAPI Element Mapper modules.

  1. Enable the following modules and sub-modules: CCK, Embedded Media Field, Embedded Video Field, FeedAPI, FeedAPI Mapper, Common Syndication Parser or SimplePie Parser, FeedAPI Node, & (if you plan on using views with your feeds) FeedAPI Node Views. Make sure to give yourself the correct permissions in the access control admin page.
  2. Create a content type that includes an embedded video field. Once you add the field in is suggested that you select "thumbnail" or "thumbnail with thickbox" to avoid loading too many videos on pages with teaser lists. You can use FeedAPI Node's default content type, called feed, or you can create your own and designate it as a feed in the content type settings page.
  3. Under admin/settings/feedapi it is suggested that you remove and tags from the allowed list, as these may cause problems with certain providers.

File-Based Content Templates

John Forsythe recently posted that Contemplate is one of the most favorited modules on his DrupalModules.com site, attributable to the learning curve of creating template files.

With no offense to Jeff Robbins who created this very clever module, I've never been a big fan of Contemplate. I don't like it when people store code and markup in the database because it makes it impossible for me to find where their markup comes from when I search the files. It also puts it out of the reach of version control, and creates the possibility of a white-screen situation which can only be fixed by going into the database directly.

But contemplate fills a real void created by the difficulty in per-field theming in Drupal 5. I posted about my method of handling per-field theming in content types recently and have been refining that method since. The purpose of my technique is to allow per-field custom theming without requiring additional work every time a new field is added. Essentially you print out any fields you would like to custom theme, and then you loop through all the other fields and print them all out in the order and with the 'Display Fields' settings as set in CCK. Although this method requires additional setup up front, it pays off when you add new fields (or modules that add new node content of their own) and you don't have to readjust your template (or contemplate).

Hello Zivtech

As Alex UA recently posted, we have recently partnered in Zivtech, a Drupal-only development business. I have been working freelance since coming to web development, and while it has been by far the best job I've ever had, I think that starting a business with a good partner with complementary strengths is going to be even better.

Alex and I are both Philly folks who are very passionate about Drupal. A key principle of Zivtech is to always work as part of the community, submitting patches as we fix bugs and add features for our projects, and taking the extra time to contribute to Drupal in many ways on a daily basis.

I look forward to working with everyone from this new role.

ZivTech 2.0

I'm extremely excited to announce a big step for this small firm: as of last week Jody Hamilton and I officially became business partners. I know what you're probably thinking, and no, I didn't partner with Jody Hamilton the wrestler (pictured - you'll have to google it, I don't want to help his search ranking), though Jody is one mean developer and I hear she occasionally does wear a mask. I met Jody at a Drupal meetup in Philly this past winter, started following her blog, and was immediately struck by how smart of a developer she is. Every time I would meet her in person and tell her about some problem I was having--almost always involving a module that wasn't behaving or a behavior that didn't have a good module--and she would offer me a simple and elegant solution on the spot. As we got to know each other better it became apparent that we both were in need of working with someone like each other, and during DrupalCon we formally decided to merge our efforts. Jody's main role will be something along the lines of Lead Developer, while I will take on a more business oriented role (though we will both remain developers for the foreseeable future).

As with many Drupal firms, one thing that we've decided from the getgo is that we will aim to use 20% of our time on projects that have a direct positive effect on the Drupal project, which will include developing modules, writing documentation, helping at the Dojo, and more. As we grow and bring on new people we will also encourage our employees to do the same.

DrupalCon Boston 2008 Wrap Up

Photo Credit: Matthew Saunders

Today was the last official day of DrupalCon Boston 2008, the latest official iteration of the biannual Drupal Conference (it alternates every six months between the U.S. and Europe). I had extremely high expectations for the week, and the conference still managed to exceed them. The power of bringing people together under one roof never ceases to amaze me, espescially when those people are used to collaborating online. I can't even begin to imagine what amazing new innovations and directions will emerge as a result of the last four days. I personally was involved in four initiatives:

  • There were two amazing media handling meetups, led by CivicActions' Arthur Foelsche, who is also the creator and maintainer of the truly awesome new family of modules that make up Media Mover and Roger Lopez who created and maintains the great Asset Module, by far the most promising file handler I've come across for Drupal. Also in attendance were Feed API's Alex Barth and Aaron Winborn who created the emfield module, which I help to maintain. I'm sure there will be a post covering the sessions in greater detail, but the biggest thing to come out of the session was that we all agreed to work together to make all of these modules work well together. We have already figured out the Feed API integration, which allows people to automatically create video, audio, and image nodes from the feeds of emfield supported providers, and Roger has already started implementing the integration of Asset and emfield, which should be done very soon (he already has two providers available, and more are coming). Tomorrow there is a big code sprint, and we're hoping to finish integrating these four amazing modules, which will be a huge step for Drupal's media handling capabilities (which happens to be Drupal's most requested improvement).

Drupal as a Catalyst for Community and Change

This piece was written for the February issue of the Drupal Newsletter

Nick Lewis wrote a great post last month about six conditions that lead to the formation of online communities. These conditions were, in short: a meeting place for people who didn't have one, a sense of shared ownership, at least one strong leader, a shared identity, an opportunity for personal gain, and entertaining conversations. While I generally agree with this list, Nick conspicuously leaves out one of the most crucial conditions that leads to the formation of online communities: the technology that the community uses to communicate, organize, and coordinate. While this might seem like a minor oversight, it is, in my eyes, a major one. There is a revolution afoot, and Drupal is one of the vanguards of this movement. But, I sometimes wonder how many of the people who are involved in the Drupal Project fully appreciate the truly awesome role they are playing in this changing world, just as the inventors and early proponents of the printing press probably didn't anticipate that their invention would supplant monarchies and the Church with Democracies, Communism, Socialism, Fascism, etc.

The consequences of new technology can be usefully thought of as first-level, or efficiency, effects and second-level, or social system, effects. The history of previous technologies demonstrates that early in the life of a new technology, people are likely to emphasize the efficiency effects and underestimate or overlook potential social system effects. Advances in networking technologies now make it possible to think of people, as well as databases and processors, as resources on a network.

...These technologies can change how people spend their time and what and who they know and care about. The full range of payoffs, and the dilemmas, will come from how the technologies affect how people can think and work together--the second-level effects" (Sproull and Kiesler, Connections: New Ways of Working in the Networked Organization, 1991: 15- 16)  Quoted from John Arquilla and David Ronfeldt, Cyberwar is Coming!.

Syndicate content