Now that Drupal 7 is really gaining traction and many of the module-adoption issues that plagued its birth are behind it, I’ve had the opportunity to do lots of research and find out some of the cooler things available in terms of modules and enhancements. This article may seem just a tad late since D7 had its full release in January, but take it from the perspective of someone who’s been engaging heavily in D6 work for the last 2+ years and is now finally getting to drink the D7 Koolaid. Where’s the 7-Eleven Big Gulp cup when you need it?!
See a really great 3-part explanation of how these work here: http://www.istos.it/blog/drupal/drupal-entities-part-1-moving-beyond-nodes.
I won’t attempt to reinvent the wheel with an explanation of what an entity is, but as it’s the building block of Drupal 7 and it’s awesome, I must provide my thoughts on them. The concept of an entity built into a content management system is brilliant.
In D6, it was assumed that all content on a website would exist as a node. This went out the window when developers decided they needed to customize users, terms, and any other thing that they ended up using node functionality to emulate. Now, we don’t have to think about spending all of that extra time to customize an “object” as a node or figuring out how to extend Drupal to utilize node functionality where it really isn’t intended. Now, we can think of what each of these items legitimately is, its own “entity” or “object” that should be customized and interlinked with other entities. The D7 dev team really did a great job with a bottom-up approach in creating a new solution. Why shouldn’t anyone be able to link a User entity to a Term entity or Superhero entity? I for one think it’s extremely important for any User named Steve Rogers to immediately be linked to the “Awesome” Term and “Captain America” Superhero on any website I create.
In D6, later versions of CCK gave us multigroups and the life-saving ability of allowing admins to add multiple instances of a field to an item of content. I’ve certainly used that functionality extensively, and it’s been very useful. D7 took this functionality and expanded in a logical and helpful way. Now, not only can you create groups of Fields, but you can include those groups on multiple content types as the groups is stored in a relational way. The organization of having Fields, adding them to Field Collections, and adding those to Content Types is so slick and easy to use.
This was one module in D7 we had to have. Our websites are generally heavy on content, and require all of the important SEO treatments. Not having an easy way to do Meta tags was a legitimate hindrance to our full adoption of D7. It may not have all of the bells and whistles of Nodewords, but it provides the true functionality necessary for the SEO baseline.
As I have more of an opportunity to explore, write custom modules, and put together fully functional websites for Drupal 7, I plan on sharing the things I find from an honest viewpoint of someone who’s spent tons of time in D6, but is finally ably to start transitioning into D7. On that note, I hope you (Yes, you the reader. Hi there!) are enjoying Drupal 7 as much as me and everyone else here at Unleahed Technologies!