Tag Archives: module

Easy Planet 1.1 released

We lost a few features moving mhvlug.org from Drupal 6 to Drupal 7, as modules just didn’t exist. One of the ones I missed the most was the Planet function provided by UD Planet. This was an extremely simple to use module that let you have an attractive Planet (a collection of user blogs) on your Drupal site. The original authors of the module have long since gone inactive. So this past weekend I decided to just port it to D7 and be done with it. It took about 8 hours, and now we have Easy Planet!

Easy Planet 1.1 is now out. This is a straight port of UD Planet to D7. The only functionality which isn’t there is the disabling of aggregator menu items, which I’m not convinced was a good idea in the first place. It’s live on http://mhvlug.org/planet, for anyone that wants to see what it looks like.

One of the most important things to me was smooth transition from UD Planet installation. Because mhvlug.org was a D6 -> D7 migration, I still had udplanet tables and settings in my database. I wanted the experience of easyplanet to be: turn it on, all your stuff is back. I managed to get it there last night, so I’d be extremely interested in others that are moving from UD Planet -> Easy Planet to make sure it’s as seamless for them.

For more info, and to download the code, check out the project site.

Drupal Meetup Events Module

I just released version 1.1 of the meetup_events module for Drupal. I started building this about 6 months ago when we started using Meetup for Mid Hudson Astronomical Association to draw in new members.

I hate data entry. I find entering the same data twice into a computer one of the most soul sucking things I could do. So having both events on our website, and on meetup, meant I needed to automate things.

Meetup events was thus born. The model is simple, your Drupal site is considered the authoritative resource. You select which node types (which have date fields) you want to sync to meetup, and whenever you create or update an event of that type a meetup entry is made (or updated) accordingly. The body content that is synced is tokenized (and I added a few tokens for getting nodereference content). Venues are a little hokey right now, but I just provide a selector for a numeric field either on the main type or on a nodereference which maps to it.

meetup_events settings

Once you set up the module, including your API key and group url, you pretty much forget it is there. Then you just edit as per normal. Any time you save a type that you are syncing you’ll notice this:

Which includes a link to the meetup event that was just saved.

One of the more recent things I worked on was integration with views so that there is now a Meetup Events: Meetup Link view field for nodes. If you add that to a node listing (and you’ve registered for an oauth key) you’ll get the meetup dynamic RSVP button for your event.

That required a bit of tweaking of the rsvp javascript to make it play nice with Drupal, but given that the meetup team was kind enough to release that code under open source.

There is plenty of work remaining here, ways this could be nicer, but I’m pretty pleased with the results so far. It’s made me learn a bunch about Drupal’s ctools module, more than I ever wanted to know about the drupal settings system, and how to pull in incompatible versions of jquery in custom tools.

I’ve also been really happy with my experience with the Meetup team. They’ve added multiple API calls for me to make my life easier. Thanks guys. If every developer facing team acted like that, the world would be a much better place.

The meetup platform is turning out to be a really great way for our Astronomy club to draw in new people, and I’ve started using it for MHVLUG now as well. Now that I’ve got meetup_events, I can do that seamlessly without data duplication, or degrading our native experience. If you are interested in doing the same, check out the module. Bugs and patches welcomed.

Drupal Hacking

My typical morning blog writing time has gotten taken over by morning code writing recently, which I’m quite happy about, as I’ve been making very reasonable progress on a new drupal module: lending. This is still in the sandbox as I’m still in the project approval queue, but you are welcome to check out the code if interested.

The basic idea is an informal lending library designed to support the astronomy club. We at the club have a lot of DVDs and other things that club membership gives you access to. Up until now this was handled with index cards and crates. Someone suggested that we have a way to request items to lend so the full set of crates doesn’t have to be dragged around by our librarian at every meeting.

Most of the drupal modules in this space were really about reservations, and were really more complicated than I thought I could get people to consistently use. So I broke down and started building the module to just meet our needs. Some time spent with Pro Drupal and the drupal website, got me most of the way there. My hope is to have the 1.0 version of this out for next Tuesday’s astronomy meeting.

Once the project is official approved, I’ll throw up some screenshots to show the walk throughs of using it. Now, back to hacking in emacs.