Most websites today require social integration. This usually takes at least two forms:
- Allow users to share the site's content on a variety of social media platforms.
- Display social media content on the site itself.
The first is a relatively easy problem, simply a matter of embedding share buttons or using a sharing service such as AddThis or ShareThis. This talk deals with the second form of social integration, displaying social content on your site, which often presents more of a challenge.Ordinarily, displaying social media content from Facebook, Twitter, Pinterest, etc. is accomplished by embedding an iframe from the relevant service into your website. This method is nearly as simple as embedding a share button, but comes with several drawbacks:
- You don’t get much control over the look of the returned content
- You don’t get much control over how and when it’s rendered (for instance, you can’t list all Facebook, Twitter, and Pinterest content sorted by date created in one listing)
- You suffer performance degradation by having to load this content from these external services on each page load, and you make your site vulnerable by forcing page rendering to depend on external service up-time
Fortunately, with Drupal’s robust tools, there’s a better way to deal with retrieving and displaying this content. This talk will show how to use custom entities and custom feeds fetchers, parsers, and processors to retrieve content from social media services and store it in your site in a way that makes it accessible to all of Drupal’s commonly used site building components and tools.
Session Objectives
- Highlight a practical use-case for when to utilize custom entities
- Discuss why custom entities can be the right approach
- Demonstrate how to create custom entities
- Illustrate how Feeds is a natural pairing for custom entities
- Show how Feeds can be customized to import social media content
- Inspire more thinking about developing the “right approach” to problems in Drupal
Kevin is a Senior Drupal Developer and project lead at ImageX Media where he tries to figure out how to harness Drupal's greatest strengths to solve common problems for site builders and content administrators.