GithubHelp home page GithubHelp logo

76design / drupal-social Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kevinchampion/social

0.0 10.0 0.0 708 KB

Drupal module suite for creating social entities and importing social items from web services

License: GNU General Public License v2.0

PHP 95.31% CSS 4.69%

drupal-social's Introduction

Social

Drupal module suite for creating social entities and importing social items from web services.

The purpose behind this suite of modules is to create a proper approach to pulling social media content into your site in order that you might be able to use it while utilizing Drupal's content management and building tools. As a result, this module provides a way of importing data into Drupal data structures and then integrates it with Drupal rendering systems.

This module was the subject of a talk at Drupal Camp Michigan 2013: "Social in your site, the right way"

Architecture

The social module creates a custom entity and entity type called 'social' and 'social type' respectively. By creating its own entity, social media content is able to be brought into the site in a custom format that does not muddle the node or any other entity interface in regards to the content administration and data structure. By including social types, this way of structuring the data is inherently extensible because it means we can simply create a social type for every social media service (ie. Twitter, Facebook, Instagram, etc.).

The data from these social services is imported using the Feeds module and by creating custom fetchers, parsers, and processors with the Feeds API in order to handle the specific needs for retrieving, munging, and storing the social data. This makes the approach extensible because it means that a single site can import from as many accounts on each social services as it wants.

Social Services

The Social module comes with integration for the following services:

  • Facebook
  • Twitter (uses shortcut reliance on Twitter module, will be removed eventually)
  • YouTube
  • Instagram
  • Pinterest

More social services can be added relatively easily due to the way this module suite is architected to be extensible.

TODO: Provide documentation on how a service can be added.

Contents

This module suite contains the following modules:

  • social: the base module, contains social entity, Feeds custom processor, views integration, and social admin
  • facebook_import: importer module that provides the mechanics for fetching and parsing data from Facebook
  • instagram_import: importer module that provides the mechanics for fetching and parsing data from Instagram
  • pinterest_import: importer module that provides the mechanics for fetching and parsing data from Pinterest
  • twitter_import: importer module that provides the mechanics for fetching and parsing data from Twitter
  • youtube_import: importer module that provides the mechanics for fetching and parsing data from YouTube
  • social_importer: example default configuration of social types and feeds importers
  • social_blocks: example default block rendering to highlight social media items

TODO: Describe what all the components do and how/why things are structured as such.

Installation

There are a lot of dependencies in order to install all of the included modules. Down the line there will be a drupal-org.make file to enable quick and easy setup using drush make.

TODO: Provide full install instructions

Usage

Usage is a bit complicated and not exactly user-friendly. Don't expect to just install the module/s and intuitively understand what to do. The general steps are to:

  1. navigate to /import
  2. select an importer
  3. enter the account information on the service you want to import from (this may require configuring account information on a settings form in order that the importer might be able to obtain an access token from the social service)
  4. import
  5. setup how you would like to render the data using views or another rendering technique

TODO: Provide more usage instruction, perhaps on a service-by-service basis TODO: Provide better developer experience to make post-installation process easier and more intuitive (to help those who've just installed the modules know how to use them)

drupal-social's People

Contributors

kevinchampion avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.