Opening up a discussion here about a Drupal 8 version of the Social Content module.

Pere and I have had some brief exchanges about this, and I feel now is a good time to reflect on the aims and goals of this project:

Main project goals:

  • Minimise the setup time in getting posts from imported from social networks into Drupal (all it should require is the API credentials and the account to import from).
  • Provide a centralised place where 3rd party API changes can be updated quickly and efficiently.
  • Provide a UI that helps the site builders workflow in managing importing from Social networks. Allowing them to change and add social networks and accounte easily.

Current issues with the project:

  • All-in-one solution that doesn't utilise any other contrib modules (except for oauth) and external libraries/packages. This makes it difficult to maintain (the project is currently too much for me and Pere to maintain and we are seeking another co-maintainer).
  • Setup and installation is fairly straightforward, but still needs UX improvements + better documentation.
  • The configuration system needs re-factoring, doesn't support features, bad UX. In Drupal 8 this should use config entities.

The second and third points here are general enhancements, but the first point (utilising other modules/libraries) is where I see this module needing a major rewrite. We do not feel it is worth porting to D8 in it's current form because of this issue.
As mentioned in the list of foci, the main goals of this project is really around the site admin/building experience. Not the internal backend of fetching, retrieving, storing content. This is where I see there being the biggest potential for code re-use from another project. There are many projects that do similar things, Feeds, Migrate, etc. If Social Content could utilise one of these somehow, and just provide a front-end, it would be much more lightweight and robust (and ultimately more maintainable).
One possible idea (as an example) is that this module just could become a set of Features for Feeds, with possibly a few tweaks to the Feeds admin, that would allow users to get setup quickly. Although it looks like the feeds module is far from a port to Drupal 8.

Comments

leon.nk created an issue. See original summary.

leon kessler’s picture

Issue summary: View changes
perennial.sky’s picture

Assigned: Unassigned » perennial.sky
leon kessler’s picture

Issue summary: View changes

Updating project goals a little bit to be more clear.

leon kessler’s picture

I think there's actually an obvious choice for which module to rely on for the underlying functionality of processing imports: migrate.
As this is now in core, and has seen many enhancements since its Drupal 7 version, it's an obvious choice.

We should probably reach out to others using d8 migrate to see if anyone is already using it to import from social networks.

pere orga’s picture

This should also be considered: https://www.drupal.org/project/social_api

tostinni’s picture

All-in-one solution that doesn't utilise any other contrib modules (except for oauth) and external libraries/packages. This makes it difficult to maintain (the project is currently too much for me and Pere to maintain and we are seeking another co-maintainer).

I really enjoy the fact that social content is a one module all integrated without other dependencies.
Each submodule is quite small and code is consistent so it's quite easy to debug and if needed to create a new submodule.

I would think that relying on other modules would over complicate the development as each module would have different ways to get the content and also that so many dependencies would slow the release of a new major version.
For exemple right now the LinkedIn module is unsupported while you have a fully functional LinkedIn integration working.

Thanks a lot for your work, it was a life saver to find and have all in one module instead of scavenging for tens of modules.
Also using nodes instead of entities is genius, it allows to integrate all social networks in one view ;-).