Autor ArthurDent
Datum 21.08.2006 07:47
Beiträge: Hi,

ich habe da mal eine Frage:
Gibt es einen "Konverter" der mir alle Datenbankeinträge von PHPNuke auf die Datenbankstruktur von OPN konvertiert?

Ich habe hier mal im Forum gesucht aber nicht das passende gefunden, oder nicht gesehen


CU
Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor spinne
Datum 21.08.2006 09:55
Beiträge: Servus,
gibt es leider nicht, da bist du nicht der erste der danach fragt, aber ich hoffe dass es die Möglichkeit irgendwann geben wird.
Aber so wie ich bei manchen Threads raus gelesen habe, machen das wohl doch der ein oder andere, vielleicht kann dir jemand weiterhelfen der dieses schon gemacht hat.
Gruß Tine


Autor Gast
Datum 21.08.2006 17:43
Beiträge: Hi,
ich bin gerade dabei mein Portal von PHPNuke 6.8 auf OPN 2.3.6 zu migrieren.
Ich kann Dir eine Lösung anbieten, aber die ist bei Gott nicht vollautomatisch.

Aber wenn Du mit MySQL etwas anfangen kannst, kann ich Dir meine Code-Templates für die wichtigsten Tabellen in PHPNuke zur Verfügung stellen.

Am einfachsten geht's so:
* In der alte (PHPNUKE)-DB ein Export aller Tables machen (nuke_*) & am PC speichern
* Falls drinnen: Das CREATE DATABASE rausschmeißen
* Dann in der neuen (OPN)-DB das exportierte SQL durchführen
Ergebnis: Du hast alle Tabellen in einer Datenbankinstanz laufen.

Und dann kannst Du mit meinen INSERT's drübergurken, die im Prinzip so funktionieren:
INSERT INTO new_opn_table SELECT felder,... FROM old_nuke_table

Das funzt recht gut; das einzige was ich wirklich inhaltlich ändern musste war die User-ID, da die sowohl in Nuke als auch OPN mit 1,2,3,... begonnen hatte - und ich Angst hatte, dass mein Anonymus bzw. mein Master-User flöten geht. Ich habe deshalb alle alten User mit USERID+1000 übernommen, was zur Folge hat, dass Du auch im Forum etc. z.B. die POSTERID mit +1000 anpassen musst. Dafür erkenne ich jetzt gut die User, die vor der Migration im neuen System angelegt wurden (kleiner oder gleich 1000).

Bei Interesse kann ich Dir den Code schicken - aber wie gesagt: Es ist keine fertige "Knopfdrück-Lösung", sondern Code-Templates die Du bei Bedarf etwas adaptieren musst.

Ciao,
Boby



Autor Gast
Datum 21.08.2006 19:47
Beiträge: öhm Boby

Wäre cool wenn du das zur Verfügnug stellen würdest.
Denke das könnte wir bestimmt wieder gebrauchen und in absehbarer Zeit auch eine "knopf drück" Lösung daraus machen.

Flash



Autor Gast
Datum 21.08.2006 23:07
Beiträge: Hi Flash,
natürlich stelle ich Euch gerne den Code zur Verfügung. Ich werde noch ein paar Kommentare hineinpacken, damit's etwas verständlicher ist, was ich da tue.

Warum ich bisher gezögert habe, es zu veröffentlichen, ist der Umstand, dass es einfach nicht 100%ig wasserdicht ist.

Beispiel: So habe ich z.B. beim Rating eines Artikels mehr als 999 Punkte - nämlich 1221 - bei meinen Export-Versuchen wurde dann der Wert 1,221 extrahiert. Für MySQL bedeutet aber das Comma einen Spaltentrenner - und er hat den einen Satz mit der Meldung "number of columns doesn't match" abgelehnt. Ich hab' dann einfach die Daten geändert , um das Problem zu umgehen - das geht bei einem Satz, aber nicht wenn man hunderte so Fälle hat.

Wenn ihr mit dieser Basis zufrienden seid, stelle ich sie hier online.

Ich denke, man könnte (entsprechendes PHP-Wissen vorausgesetzt) locker eine allgemeingültige Import-Funktion schreiben, welche auf Basis von Parametertabellen die notwendigen Inserts generiert. Dann müsstet ihr je NUKE-Version nur die Parametertabelle anpassen bzw. verschiedene Sets zur Verfügung stellen. PHP-mäßig bin ich leider etwas bescheiden unterwegs, DB-seitig kann ich Euch gerne unterstützen (falls gewünscht). Ich habe in der Arbeit verdammt viel mit Oracle zu tun - da kenne ich die wichtigsten Funktionen auswendig, aber im MySQL heißt leider alles ein bischen anders...

Ciao,
Boby

P.S.: In den Polls gibt's noch einen Bug - da passen die importierten Daten nicht - das werde ich vorher noch fixen. Und ob's sonst Fehler gibt, weiß ich nicht - bisher ist mir nichst aufgefallen, was nicht heißt, dass es keine gibt



Autor Gast
Datum 22.08.2006 00:08
Beiträge: Soooo,
ich habe hier in ZIP - mit einem PDF (Anleitung anhand eines Beispiels, drei Seiten) und alle meine Code-Templates. Kann ich die irgendwo uppen?

Wie gesagt, das gewinnt derzeit alles keinen Schönheitspreis - aber mit diesen Inserts habe ich 95% der Inhalte an zwei Abenden übersiedelt. Ich möchte gar nicht daran denken, wo ich jetzt bei Cut&Paste wäre

Ciao,
Boby



Autor Gast
Datum 22.08.2006 00:32
Beiträge: Super, vielen Dank für deine Bemühungen.

Flash



Autor Gast
Datum 22.08.2006 00:38
Beiträge: Gerne. Eine wesentliche Antwort hast Du mir nicht beantwortet:
Kann ich die irgendwo uppen?

Ciao,
Boby


Autor Gast
Datum 22.08.2006 00:39
Beiträge: ARGH...verbietet endlich das anonyme posten *g*
Nur mal kurz in den anderen Browser gewechselt - und schon wieder einmal "nobody"



Autor ArthurDent
Datum 22.08.2006 09:20
Beiträge: Hi Boby,

das hört sich erstmal gut an.
Kannst du mir die Scripte bitte zukommen lassen???


Danke im vorraus,
Arti

--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor spinne
Datum 22.08.2006 09:55
Beiträge: Servus Boby,
schickst es mir bitte an help@openphpnuke.com
ich setz es bei uns mit auf den Server.
Gruß Tine


Autor Gast
Datum 22.08.2006 21:33
Beiträge: Tine,
you've got mail

Ciao,
Boby


Autor Gast
Datum 22.08.2006 21:34
Beiträge: Ich geb's auf...



Autor spinne
Datum 22.08.2006 22:56
Beiträge: Servus Boby,
vielen Dank erstmal für deine Arbeit und die Bereitstellung dafür.
Den Link dazu findet hier
werde das aber auch noch mit in die Anleitungen mit aufnehmen.
Gruß Tine

[ Diese Nachricht wurde bearbeitet von: spinne am 27.08.2006 23:36 (Originaldatum 22.08.2006 22:56) ]


Autor ArthurDent
Datum 22.08.2006 23:11
Beiträge: Danke an euch alle!

Werde es ausprobieren und anpassen, da ich Nuke 7.6 haben und nicht 6.8


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor Gast
Datum 23.08.2006 00:17
Beiträge: Ich IDIOT! Ich habe 7.8, nicht 6.8 - sorry!
Bin schon etwas mit den Nummern durcheinander...

Ciao,
Boby



Autor ArthurDent
Datum 23.08.2006 05:34
Beiträge: Kann ja bei den vielen Nummern von Nuke passieren

Aber noch eine kleine Frage, welche Module müssen installiert und konfiguriert sein?
Ich bin noch nicht so vertraut mit OPN.


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor Gast
Datum 23.08.2006 17:59
Beiträge: Puh, eine Menge...hängt halt davon ab, was Du alles auf Deiner Seiten haben willst.
Ich habe anfangs alles am Server geknallt, dann die für mich nutzlosen Module deinstalliert, dann gelöscht. Das Ausschlußverfahren war gar nicht so schlecht - am Anfang sitzt man von 50 Icons und weiß nicht, wo man anfangen soll.

Hat ewig gedauert, bis ich durchblickt habe, dass mein "Menü" eine stinknormale Seitenbox ist... (in Nuke hatte ich Sommaire verwendet - und das war exponiert im Adminpanel platziert).

Ciao,
Boby



Autor ArthurDent
Datum 23.08.2006 18:36
Beiträge: Da habe ich mich nicht klar ausgedrückt

Ich meinte nur die Module um dein Konvertierungscript "sauber" laufen zu lassen, nicht was sonst noch alles.
Ich wollte nur nicht erst alles installieren um dann wieder zu löschen.


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor Gast
Datum 23.08.2006 21:10
Beiträge: Hmmm...Du meinst für welche Module Code-Muster vorhanden sind?
Also das Nuke-Basis-System, Forum, Gästebuch, Umfragen, Artikel, Downloads, Weblinks auf jeden Fall.

Im Prinzip kannst Du es relativ leicht feststellen:
Zuerst die NUKE-DB in die Instanz der ONP-DB importieren, dann die Code-Templates Stück für Stück durchführen. Wenn eine Meldung kommt, die besagt, dass die Tabelle NUKE_* nicht gefunden wurde, dann hast Du einen Code-Teil für eine Tabelle durchgeführt, die es bei Dir nicht gegeben hat. Kann eigentlich nichts passieren.

Das Problem: Ich selbst hatte im Laufe der Zeit mehrere Guestbooks unter Nuke laufen - kann gut sein, dass Du ein anderes hast - und die Tabellen und Felder unterschiedlich heißen (wird vermutlich sogar sein, denn mein letztes hatte sogar spanische Spaltennamen)

Das Zusammenfinden "Tabelle alt"-"Tabelle neu" lässt sich recht gut über den Tabellennamen bewerkstelligen; die Felder unterscheiden sich weit öfter. Tipp: Wenn Du nicht anhand des Feldnamen erahnen kannst, welches alte Feld in welches neue passt, dann einfach z.B. auf der alten und der neuen Installation einen gleichlautenden Gästebucheintrag vornehmen - und schauen, wo die Inhalte landen.

Ciao,
Boby



Autor ArthurDent
Datum 23.08.2006 22:54
Beiträge: Einige Tabellen habe ich schon gefunden, und ich glaube auch einen Kopierfehler ,oder Schreibfehler, in deinem Script.

Wenn ich es fertig habe gebe ich es "euch"

Das mit den verschiedenen Gästebüchern kenne ich Ein leidiges Thema, genauso die verschiedenen Download-Module, du setzt das NSN ein, oder?

Gibt es eigentlich eine Übersicht welche Tabelle für welche Daten benötigt wird???
Ich habe nichts gefunden.


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor Gast
Datum 23.08.2006 23:12
Beiträge: ArthurDent schrieb am 23.08.2006 um 22:54:27 Uhr folgendes:

Gibt es eigentlich eine Übersicht welche Tabelle für welche Daten benötigt wird???
Ich habe nichts gefunden.

Nein, habe ich nicht gemacht - ich habe mich in der Tabellenliste von oben nach unten durchgehantelt und was mir interessant schien, habe ich dann als INSERT-Statement ausformuliert. So sind mir z.B. Kommentare völlig egal - deswegen wirst Du keine COMMENTS-Tables in dem Skript finden. Aber wenn Du das Muster durchschaut hast, kannst Du die Skripts leicht adaptieren. Das Retten der Uhrzeit (das ewig lange Case-Statement) hat mich einen Tag gekostet, dafür rechnet es auf die Sekunde genau.

Ciao,
Boby



Autor ArthurDent
Datum 06.09.2006 19:29
Beiträge: So, die erste Version der Scripts ist fertig.
Ich muss am Konvertieren des Forums noch etwas "basteln", es werden noch nicht alle BB-Codes sauber konvertiert. Aber der Anfang mit den wichtigsten ist gemacht.

Ich habe sie auf meiner HP zum Donwload bereit gestellt.

Hier noch mal meinen Dank an Boby, der den Anfang gemacht hat.


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)


Autor Gast
Datum 06.09.2006 20:11
Beiträge: Gern geschehen. Du hast aber noch ein großes Problem: Auf Deiner Seite läuft Nuke, nicht OPN

Ciao,
Boby


Autor ArthurDent
Datum 06.09.2006 20:23
Beiträge:
noch ein großes Problem: Auf Deiner Seite läuft Nuke, nicht OPN


Richtig, ich bin ja auch noch am umstellen.


Alter Mann ist kein D-Zug


Arti


--------------------------------------------------- Life is a journey, not a guided tour If you think technology can solve your problems you don't understand technology and you don't understand your problems. (Bruce Schneier) Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) --------------------------------------------------- Linux: Debian 2.6.37 Datenbank: MySQL - 5.5.22 Apache: 2.2 PHP: 5.3.27 OPN: 2.5.7 (Revision 6747)




Diese Seite drucken
Diese Seite schließen

Dieser Artikel kommt von: OpenPHPNuke - das Open Source CMS

http://www.openphpnuke.info/