Anleitung: wie füge ich Diaspora* als Service zum Drupal-Modul Service Links hinzu?

Das Drupal-Modul Service Links ist eine grossartige und sehr einfache Art, soziale Netzwerke und andere Dienste zu einer Drupal-Webseite hinzuzufügen. Doch leider fehlt in diesem Modul Unterstützung für Diaspora* oder andere freie und dezentralisierte soziale Netzwerke, was für diejenigen unter uns, die diese verwenden, doch einen erheblichen Mangel darstellt.

Dieses Beispiel verwendet den Diaspora* Advanced Sharer, der von Bartimeo* entwickelt wurde, und einen Diaspora* Share-Button zu Service Links hinzuzufügen.

Services zu Service Links hinzufügen

Es gibt eine sehr detaillierte Anleitung auf der Service Links Webseite, wie man Services hinzufügt, und zwar unter http://servicelinks.altervista.org/?q=about/customizations/extend-the-number-of-services.html. Eigentlich ist diese Anleitung hier daher gar nicht notwendig. Dennoch folgen hier jetzt die konkreten Anleitungen.

Service Links beinhaltet zahlreiche Unter-Module in einem Ordner namens services. In diesem Ordner erstellen wir ein neues Untermodul mit dem Namen diaspora_service.

Als erstes erstellen wir die module info Datei - diaspora_service.info:

name = Diaspora* service
description = Provide a share link for sharing on Diaspora* pods
core = 7.x
package = Service Links - Services
dependencies[] = service_links

Die zweite Datei ist das eigentliche Modul selbst - diaspora_service.module:

<?php

/**
 * @file
 * Extends Service Links with Diaspora* services.
 *
 * @author andreasspeck
 */

/**
 * Implements hook_service_links().
 */
function diaspora_service_service_links() {
  $links = array();

  $links['diaspora'] = array(
    'name' => 'Diaspora*',
    'description' => t('Share on Diaspora*'),
    'link' => 'http://sharetodiaspora.github.io/?title=<encoded-title>&url=<encoded-url>',
  );

  return $links;
}

Und dann brauchen wir noch ein Diaspora* Icon, das als Icon für diesen Service erscheinen wird. Es ist wahrscheinlich am einfachsten, eines von Diaspora* zu verwenden. Ich habe das Diaspora* favicon zu einem png umgewandelt, und diese Datei wird - mit dem Namen diaspora.png - in den Ordner images des Service Links Moduls kopiert.

Das ist alles, um Diaspora* zu Service Links hinzuzufügen. Ziemlich einfach. Doch Du kannst auch einfach die Datei, die dieser Anleitung anhängt, herunterladen.

Und wie funktioniert das jetzt?

Die cleveren Sachen hat Bartimeo* entwickelt, mit der Bereitstellung des Diaspora* Advanced Sharer. Dieses Modul nutzt den Advanced Sharer, und sendet die URL und den Titel der Seite an den Diaspora* Advanced Sharer, der dann wiederum erlaubt, einen Diaspora* Pod aus der Liste auszuwählen oder einen anderen Pod einzugeben, falls der eigene Pod nicht in der Liste ist. Danach kannst Du dann den Artikel, den Du eigentlich teilen wolltest, teilen - soweit Du bei Deinem Diaspora* Pod eingelogt bist. Wenn nicht, wirst Du gebeten, Dich einzuloggen, und kannst dann den Artikel teilen.