IMG_6005
EnglishDeutsch
Joomla Benutzer in DokuWiki verwenden Drucken E-Mail
Dienstag, 18. September 2007

[Update: Leider funktioniert das Folgende nur bis Joomla 1.0.12, da in Joomla 1.0.13 das Format der Passwortspeicherung geändert wurde. Sobald ich eine Lösung gefunden habe, werde ich die neue Bridge hier posten.]

Schon seit längerem habe ich openWiki für Joomla verwendet. Leider wird openWiki seit einiger Zeit nicht mehr für Joomla weiter entwickelt. OpenWiki ist eine Implementierung von DokuWiki. Damit ich auch in Zukunft von neuen Versionen von DokuWiki profitiere und bestehende Sicherheitslücken geschlossen werden, habe ich mich entschieden, DokuWiki in der "Vollversion" zu verwenden. Dazu habe ich einfach das Verzeichnis data/pages/ in mein neues DokuWiki kopiert. Das Ganze funktioniert auch von Anfang an Reibungslos.

Allerdings hatte ich nun das Problem, dass ich nicht mehr die gleichen Benutzer verwenden konnte. Um dieses Problem zu umgehen habe ich ein kleines Skript geschrieben. Dieses liest jeweils alle Benutzer aus der Joomla Datenbank und erstellt damit die Benutzerdatei von DokuWiki. Den folgenden Quellcode habe ich in einer Daite updateUsers.php im Verzeichnis /dokuwik/ abgespeichert. Auf dem Root-Verzeichnis befindet sich die Joomla Installation.

Die Datei sieht folgendermassen aus:

<?php
    updateUserFile();
    
    function updateUserFile() {
        include_once("../configuration.php");    
        $conn = mysql_connect($mosConfig_host,$mosConfig_user,$mosConfig_password);
        $db = mysql_select_db($mosConfig_db,$conn);
        
        $sql = "SELECT username,password,name,email FROM jos_users";
        $query = mysql_query($sql);
        $date = date("d.m.Y-H:i");
        $string = <<<EOD
#joomla user file
#@author ruflin -> http://ruflin.com/
#date: $date \n
EOD;

        while($res = mysql_fetch_array($query)) {
            
            if($res['username'] == "admin") {
                $groups = "admin,user";
            }
            else {
                $groups = "user";
            }
               $string .= $res['username'].":".$res['password'].":".$res['name'].":".$res['email'].":".$groups."\n";
        }
        
        file_put_contents("./conf/users.auth.php",$string);

        echo "success";
    }
?>

Damit die Benutzerdatei von DokuWiki aktuell bleibt, habe ich ein kleines Cron-Script auf meinem Server erstellt, welches stündlich ausgeführt wird. Der Befehl lautet folgendermassen:

curl http://sportstudis.ch/dokuwiki/updateUsers.php

Damit die Benutzer nicht auf die Idee kommen, im Wiki Ihr Profil zu verändern, habe ich in /dokuwiki/lib/tpl/default/main.php folgende Zeile entfernt: <?php tpl_button('profile')?>

Bevor Sie die Datei auf Ihrem Server testen machen Sie umbedingt ein Backup der Datei /dokuwiki/conf/user.auth.php. Diese Datei wird anschliessend überschrieben. Das Skript geht davon aus, dass in Joomla und im DokuWiki der Administrator Benutzer admin heisst.

Hier können Sie die Datei auch direkt als Text-Datei herunterladen, die Endung .txt durch .php ersetzen und auf Ihrem Server verwenden.

In Zukunft werde ich das Skript noch ein wenig weiter verfeinern, damit ev. auch Benutzergruppen aus der Joomla-Datenbank gelesen werden können. Ein weiteres Problem zur Zeit ist, dass auch Benutzer übernommen werden, welche sich selbst noch nicht aktiviert haben.

Zuerst habe ich versucht, Änderungen direkt an der Funktion _loadUserData in der Datei inc/auth/plain.class.php vorzunehmen. Dies hat eigentlich auch funktioniert, doch anscheinend einige Probleme mit den Cookies verursacht. Der Benutzer war jeweils nur für 1-2 Klicks eingeloggt.

{moscomment}

Comments

Add New
BackUpper 2008-07-31 15:49:57
 
Re: Re: Frage Benutzername
So wie ich DokuWiki nun kennengelernt habe sind im DokuWiki keine Groß- und Leerzeichen im
Benutzernamen zulässig - bei Joomla sehrwohl.

Anyway, werd die Sachen mal in ner Box laufen
lassen und gucken, was passiert.
 
ruflin 2008-07-24 12:27:58
 
Re: Frage Benutzername
Wo genau geht der Login mit Grossbuchstaben nicht? Es werden nicht die Benutzer abgeglichen, sondern
DokuWiki verwendet anschliessend die Benutzer von Joomla. Bei Joomla kann man sich gar nicht mit
"ungültigen" Benutzernamen registrieren, soviel ich weiss. Daher ist mir deine Frage nicht
ganz klar. Ev. kannst du das nochmals genauer erläutern.
 
BackUpper 2008-07-24 09:15:42
 
Frage zum Usernamen
Hi,

ich hab ebenfalls ein DokuWiki und Joomla laufen. Ein Userabgleich wäre Klasse aber zwei
Fragen hätte ich dazu:

1) LogIn mit Großbuchstaben im Usernamen geht nicht.
2) Leerzeichen
werden im DokuWiki anscheinend nicht im Usernamen zugelassen.

Ich hab dein Script noch nicht im
Betrieb gesehen aber könnte das mit folgenden drei Zeilen abgefangen werden:

$user =
$res['username'];
$user = strlower($user);
$user = trim($user);

Einfach über Zeile 26 und
$res['username'] durch $user ersetzen.

Bin gespannt und würde Dein Script gerne einsetzen.
 
ruflin 2008-02-01 11:37:09
 
Ja- Zu phpBB gibt es bereits Module. Suche auf der dokuwiki Seite nach phpbb, dann erhälst du
diverse Seiten mit Tipps und Anleitungen.
 
UlrichBlanke 2008-02-01 10:53:40
 
hi,

würde das auch mit der Benutzerdatenbank von der phpBB-dimension Forumsoftware
funktionieren?

gruß
 
inter 2007-12-01 16:09:02
 
super. danke
 
ruflin 2007-12-01 15:17:45
 
Sorry, habe mich irgendwie vertippt. Es sollte heissen:
Ich werde die neue Bridge so abändern,
dass sie auch mit älteren Joomla-Versionen funktioniert. Sollte nur ein par Zeilen sein. Werde
diese hier posten, sobald ich es geändert habe.
 
inter 2007-12-01 15:01:05
 
wie meinst du das? soweit ich verstanden habe können wir nicht so einfach joomla auf v..13 hieven
da durch die useridentifizierungsumstellung dann auch insere brigdes zu anderen sachen (zb. forum)
niicht mehr funktionieren würden
 
ruflin 2007-12-01 15:19:01
 
Werde in diesem Fall die neue Bridge auch für ältere Joomla-Versionen funktionsfähig machen.
 
inter 2007-12-01 14:18:24
 
man kann sich leider in doku wiki nicht einlogen wenn man in joomla einen benutzernamen mit
grossbuchstaben drin verwendet
 
ruflin 2007-11-25 02:21:00
 
So, habe nun einige Zeit investiert. Jetzt läuft es auch unter 1.0.13. Wie genau findet man unter
diesem Link:
http://ruflin.com/hints/dokuwiki-mit-joomla -1.0.13-verwenden-3_de.html

Bitte
testen und gleich da die Rückmeldung geben.
 
ruflin 2007-11-24 15:51:52
 
Leider ist das Ganze zur Zeit noch Handarbeit. Das heisst, ich lasse mir im Browser die Seite
anzeigen, kopiere den Header und Footer der HTML Datei und füge es in
/dokuwiki/lib/tpl/default/main.php ein. Möglicherweise muss man noch 2-3 Bilder- und CSS Pfade
anpassen, die nicht global sind.
 
inter 2007-11-24 15:33:12
 
wie bindest du den die dokuwiki seiten in das template der joomla seiten ein bzw. umgekehrt?
 
ruflin 2007-11-24 14:37:53
 
Wenn das so ist, werde ich zuerst einmal mit Hochdruck an einer Bridge welche auch unter 1.0.13
funktioniert arbeiten.
 
inter 2007-11-24 14:02:00
 
das ist schön zu hören. so wie es aussieht, bzw. sich auf den einschlägigen joomla seiten liest,
sind auch echt noch mehrere am suchen nach einer vernünftigen wiki lsg. für joomla. viel erfolg
 
ruflin 2007-11-24 12:41:19
 
Hallo inter
Die Fehlermeldung hat nichts mit der Umstellung zu tun. Bin zur Zeit ein wenig mit
DokuWiki am spielen, um es komplett in Joomla einzubinden. Die Umstellung ist kein Problem. Es muss
bloss der Ordner pages kopiert werden (wie oben beschrieben).

Allerdings funktioniert die Bridge
leider mit 1.0.13 nicht mehr, da die Authentifizierung bei Joomla geändert wurde. Zur Zeit arbeite
ich aber an einer Lösung. Sobald ich es zum laufen gebracht habe, werde ich den Code hier posten.
 
inter 2007-11-24 09:35:39
 
entschuldige, war dann scheinbar doch schon zu spät gestern. Ich meinte nat. ob das mit den
fehlern, an der umstellungvon open nach dokuwiki liegt? Mit dem "schon existiert und befüllt
ist" meinte ich das wir bereits ein open-wiki benutzen und ich das gerne umstellen würde, aber
ein wenig zögere weil ich mit nicht sicher bin ob es klappt
 
inter 2007-11-24 00:05:52
 
hallo, ich bin über die joomla forumsseite zu dir gekommen, mich stört auch das man das open-wiki
nicht aktuallisieren kann, da es aber schon existiert und befüllt ist, finde ich deine idee das auf
doku-wiki umzustricken sehr interessant. wie läuft es denn so?
Ich habe auf deine sportstudis
seite sowohl gut funktioierende seiten als auch welche mit vielen fehlermeldungen gesehen. liegt das
an der migration von doku-wiki nach openwiki?
 
Write comment
Name:
Email:
 
Title:
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."