Community Twitter Extension

Wechseln zu: Navigation, Suche
Community Twitter Extension
Community twitter screenshot.png
MediaWiki-Extension, die Wiki-Usern Zugriff auf Gemeinschaftsaccounts gewährt.
Status Abgeschlossen
OrganisatorIn Basti
InteressentInnen
Bemerkungen FastLizard4 pflegt die Extension in Zukunft.
Lizenz GNU GPL v2
Download:

Download (extern)

Lightbulb.png This article might be out-dated. Please check the official English project page.
Dieser Artikel könnte veraltet sein. Bitte die offizielle englische Projektseite konsultieren.


Die Community Twitter Extension für MediaWiki (getestet ab v1.2.0) erlaubt es einer bestimmten Gruppe von Wiki-Benutzern, ohne Herausgabe der Twitter-Logindaten (via OAuth), zu twittern, zu retweeten und Tweets zu löschen (je nach Option nur die eigenen oder alle). Dazu integriert sie sich in das "personal Menu" zwischen "Eigene Diskussion" und "Einstellungen". Wenn die Option für kleine Wikis gewählt wird, steht unter jedem Tweet der Benutzer mit Link auf seine Benutzerseite (z.B. zur Kontaktaufnahme) als eine Art Signatur. Über diesen Weg wird bestimmt, welche Tweets von einem Benutzer stammen und welche er löschen darf.

Die Konfiguration funktioniert per LocalSettings.php.

Installationsanleitung

1. Twitter-Account registrieren, wenn nicht schon geschehen.

2. Application(s) registrieren. Je nachdem, was auf dein Wiki zutrifft:

  • Wenn du ein großes Wiki mit einer hohen Anzahl von Benutzern, die Community Twitter nutzen können sollen, betreibst:
Registriere eine App unter dev.twitter.com mit Lese- und Schreibzugriff. Der Name der Application wird unterhalb des Tweets dargestellt. Man könnte z.B. den Namen des Wikis für die App angeben.
  • Wenn du ein überschaubares Wiki mit einer geringen Anzahl von Benutzern, die Community Twitter nutzen können sollen, betreibst:
Registriere eine Application für jeden Benutzer, der die Extension nutzen können soll, mit Lese- und Schreibzugriff auf dev.twitter.com. Der Name der Application wird unterhalb des Tweets dargestellt. Benenne die Anwendung nach dem entsprechenden Nutzen und setze den Link auf die passende Benutzerseite, damit die Extension den jeweiligen Autor dem Tweet zuordnen kann. Auf diese Weise erhält man eine Art Signatur, die hilft Missbrauch zu vermeiden. Benutzer können bei dieser Option nur ihre eigenen Tweets löschen.

3. Füge den folgenden CSS-Code ans Ende der /wiki/MediaWiki:Common.css an:

/*
Start: Community Twitter Extension CSS
*/
 
/* Style submit button like a normal link by Dan Schulz (http://forums.digitalpoint.com/showthread.php?t=403667#post3882723) */
.submit { background: transparent; border-top: 0; border-right: 0; border-bottom: 1px solid #00F; border-left: 0; color: #00F; display: inline; margin: 0;padding: 0; }
/* hack needed for IE 7 */
*:first-child+html .submit { border-bottom: 0; text-decoration: underline; }
/* hack needed for IE 5/6 */
* html .submit { border-bottom: 0; text-decoration: underline; }
.ct-error{ color:#FF0000; }
.ct-info{ color: #B3B3B3; }
.ct-success{ color:#006600; }
span.ct-tweet{ text-align:right;margin: 10px 25px 10px 25px;float:right; }
table.ct-tweet-section{ width:550px;height:100px; }
td.ct-tweet-section{ text-align:center; }
textarea.ct-tweet-input{ width: 490px;height: 50px; }
table.ct-last-tweets{ width:550px; }
 
/*
End: Community Twitter Extension CSS
*/

4. Erstelle eine neue SQL-Tabelle, indem du den folgenden SQL-Code ausführst:

--
-- Tablenstruktur für Tabelle `community_twitter`
--
 
CREATE TABLE IF NOT EXISTS `community_twitter` (
  `user_id` INT(11) NOT NULL,
  `app_name` text NOT NULL,
  `consumer_key` text NOT NULL,
  `consumer_secret` text NOT NULL,
  `access_token` text NOT NULL,
  `access_token_secret` text NOT NULL,
  `active` SMALLINT(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Hinweis: Wenn der Tabellenname geändert wird, muss die LocalSettings.php geändert werden (in Schritt 9).


5. Application-Daten in die SQL-Tabelle einfügen (z.B. via phpMyAdmin), je nachdem wofür du dich in Schritt zwei entschieden hast:

  • user_id: ID des Benutzers, der über diese App twittern können soll (in der "user"-Tabelle nachschlagen). Wenn du nur eine Application registriert hast, user_id auf 0 setzen.
(Hinweis: gleichzeitige Nutzung von individuellen Applications und gmeinsam genutzten ist nicht möglich!)
  • app_name: frei wählbarer Name, der den Twitter-Account eindeutig identifiziert(muss konsistent sein; wenn nur ein Twitter-Account benutzt wird, ist app_name überall gleich) [etwas missverständlich, in der nächsten Version umbenannt]
  • consumer_key: Consumer Key zu finden auf dev.twitter.com für die App
  • consumer_secret: Consumer Secret zu finden auf dev.twitter.com für die App
  • access_token: Access Token zu finden auf dev.twitter.com für die App
  • access_token_secret: Access Token Secret zu finden auf dev.twitter.com für die App
  • active: ob der Benutzer Twitter darf oder nicht (1=ja, 0=nein)

Hinweis: Für den Fall, dass du mehrere Twitter-Accounts registriert hast, verbinde die registrierte Application mit beiden Accounts[1].

consumer_key und consumer_secret sind in diesem Fall identisch, nur access_token und access_token_secret unterscheiden sich!


6. Erstelle Hinweise- und Beschreibung-Wiki-Artikel (Templates). Die Titel sind in Twitter.i18n.php festgelegt (Werte von "twitter_advice_template" und "twitter_description_template").

Diese Seiten werden über (Beschreibung) und unter (Hinweise) der Tweet!-Sektion angezeigt.

7. Die Community Twitter Extension benötigt twitteroauth. Siehe dazu Abhängigkeiten.

8. Extrahiere das "Twitter"-Verzeichnis nach <webroot>/w/extensions/

9. Füge folgende Konfigurationszeilen an die LocalSettings.php an und ändere sie entsprechend:

# Community Twitter Extension (settings first, THEN include)
// DB-Table holding API keys and allowed users
$ctTableName = "community_twitter";
// Default Twitter account (has to be similar to the app_name column in the SQL-Table; e.g. used for linking tweets of different accounts)
$ctDefaultAccount = "Hickernews";
// Make special page accessible to this group (see http://www.mediawiki.org/wiki/Manual:User_rights#List_of_Groups) (creating a new group might make sense)
$ctAllowedGroup = "sysop";
// Set if you want to transmit coordinates with your tweets (has to be enabled in Twitter settings to be displayed)
$ctDisplayCoordinates = true;
// Latitude (ignored when $ctDisplayCoordinates is set to false)
$ctLat = "52.161579";
// Longitude (ignored when $ctDisplayCoordinates is set to false)
$ctLong = "9.957183";
// Aliases for /Special:Twitter
$ctAliases = array("Hickernews");
// If this is not the location you installed the extension to, you probably have to edit Twitter_body.php
require_once("extensions/Twitter/Twitter.php");

10. Das war's.

Abhängigkeiten

In <webroot>/w/includes/twitteroauth/ sollten twitteroauth.php und OAuth.php liegen.

Links