[GSoC 2016: Social API] Week 1: Finishing the configuration environment

Submitted by gvso on Tue, 05/31/2016 - 16:54

This week on Google Summer of Code I was working to complete the configuration environment of the Social API, especially for social widgets. Basically, this is how the configuration environment looks:

Social API Admin Config
Social API Admin Config (social_api.admin_config)


Integration list
Integration list

The issue on this topic can be found at: https://www.drupal.org/node/1944038

Great but not perfect

The configuration environment is almost complete. It is looking good and provides a Common Configuration Admin UI. However, there is an issue which requires a little more work.

Currently, the Widgets Integrations which list all the widgets-related modules per social network looks like this:

Current look of widget implementations list

Widgets integrations (the first screenshot) list all the modules and the Social Network service they are for. For example, facebook_buttons for like, share, send buttons from Facebook.

If there was a widget for twitter such as twitter_buttons for tweet and follow buttons, it should be also listed here.

In the second screenshot, we have a list of Facebook-widgets-related modules (again!), which is kind of unnecessary. It would be better if it were like the following:

Expected integration list

The issue is that I couldn’t find a way of listing secondary local tasks dynamically. I tried with a deriver which can be found at https://gist.github.com/GVSO/d5adaf3c4bde9321d6841b52bd963646


Nonetheless, after implementing this, the secondary local tasks with parent_id facebook_widgets.list were not rendered.


Next week

For next week, I will be working on creating customizable blocks for user login through social network accounts. This means that site builders will be able to add a block to any region in which they want to allow user authentication using social networking services. We decided to use blocks from the Social API parent modules since it’s the most basic, flexible and extensible way to render things in the page. This is especially true if you want to provide integration points, and then render based on those on behalf of an unknown number of implementor modules.

As always, feel free to contact me if you have any question. You can also collaborate with the Social Initiative projects (social_apisocial_authsocial_post, and social_widgets). We also have our weekly meetings, so follow the Social Initiative and join us on Fridays.

Stay tuned for the next weekly summary!