Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

[gelöst] - CMS portierung zu Drupal 7 mit dem Modul "Feeds"

Eingetragen von narc (32)
am 15.05.2011 - 01:55 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo, wie bereits im Anfängerforum vorgewarnt bin ich neu bei Drupal und sauge im Moment alles, auf was ich unter die Finger bekomme. Bei einer meiner Hauptproblematik suche ich im Moment eine funktionierende Lösung.

Bestand: Ich habe ein CMS-System, bei dem eine Vielzahl von Artikeln (nodes) von registrierten und geprüften Usern geschrieben wurde. Jeder der User hat ein eigenes Profil mit unterschiedlichen Angaben. Die Artikel selbst sind ganz einfach aufgebaut, Headline, Text, Tags. Alle Artikel sind in einer entsprechenden Kategorie abgelegt. Das CMS wurde mit PHP geschrieben und als Datenbank dient MySQL.

Soll: Der ganze Spaß sollte jetzt zu Drupal (7!) portiert werden. Nach einer Recherche gibt es keine out-of-the-box Lösung. Ich bin lediglich über diesen Modul gestolpert: http://drupal.org/project/migrate - fand in diesem Forum allerdings keinen entsprechenden Post dazu. Die Doku, wenn dies so bezeichnet werden kann, habe ich mir angeschaut. Kann aber nicht ganz nachvollziehen, wie es im Endeffekt funktioniert.

Daher suche ich hier einige Tipps, wie ich dem großen Ganzen entgegen treten kann. Optimal wäre es, wenn bereits jemand aus diesem Forum ähnliche oder gleiche Erfahrungen sammeln konnte. Bin wirklich für jeden Tipp sehr dankbar.

Vielen Dank im Voraus.

LG.

‹ Profile Type bearbeiten: Seite nicht gefunden Profil von sexybookmarks bearbeiten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das adäquate Modul dafür ist

Eingetragen von wla (9333)
am 15.05.2011 - 10:19 Uhr

Das adäquate Modul dafür ist [do:node_import Node Import], aber das gibt es noch nicht in eriner Version für Drupal 7. Es soll aber bereits daran gearbeitet werden.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nicht zu vergessen das

Eingetragen von Anton (288)
am 15.05.2011 - 15:24 Uhr

Nicht zu vergessen das großartige Feeds-Modul, mit dem sich auch Nodes importieren lassen. Feeds gibt es bereits in einer 7er Version. Hier gibt es Videos zur Handhabung des Moduls.

Do it with Drupal.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Migration

Eingetragen von sweih (11)
am 15.05.2011 - 17:20 Uhr

Momentan kann man keinem empfehlen von D6 zu D7 zu migrieren. Da ist viel Handarbeit dabei.

-> Bilder, die vorher mit image_attach an Nodes gehängt wurden sind erstmal weg; es gibt keinen funktionierenden Out-of-the-Box Migrationsassistenten.
-> Eigene Felder, die mit CCK erzeugt wurden sind erstmal weg. Der CCK7 Migrationsassistent funktioniert nicht richtig.
-> Teile der URL Aliase gehen verloren

Status quo: Für mich ist es derzeit die bessere Alternative mir ein Export-Skript zu schreiben und die D6-Seite bei Bedarf nach typo3 zu migrieren. Der derzeitig aufwändige Migrationspfad für "neue" Basismodule ist bullshit und nicht akzeptabel.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@wla @Anton - vielen Dank für

Eingetragen von narc (32)
am 15.05.2011 - 17:27 Uhr

@wla @Anton - vielen Dank für die Tipps, ich werde mir die Module anschauen. Feeds hört sich spannend an und ist wohl nicht so Komplex.

@sweih - ähm, glaube Du bist etwas falsch - ich nutze kein D6, sondern ein externes CMS welches ich jetzt zu D7 portieren möchte. Daher Suche ich im Moment eine passende und vor allem funktionierende Lösung für mich. Denoch danke für Deine Mühe und das umschreiben von aktuellen D6/D7 Schwierigkeiten.

Ansonsten, ist leider immer noch aktuell...wenn sich jemand mit dem Modul migrate beschäftigt hat - würde ich mich über Vorschläge und Tipps freuen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Migrate ist wohl doch etwas

Eingetragen von narc (32)
am 22.05.2011 - 03:32 Uhr

Migrate ist wohl doch etwas zu komplex. Mit Feeds habe ich mich inzwischen angefreundet.
Die Userdaten sind zumindest inzwischen drin, mit etwas Feintuning auch die Extrafelder.

Hätte jemand für mich einen Tipp, wie ich mit Feeds die Kategorien ins D7 rein bekomme. Desweiteren sollten die Tags an die Artikel und die Artikel an Kategorien und User Verknüft werden. Sehe im Moment irgendwie keine Möglichkeit darin.

Ach ja, noch ein kleines Problem habe ich bei den Artikeln. Die wurde direkt aus der Datenbank exportiert, als CSV abgespeichert, das Problem nur dabei - die Inhalte sehen so aus: Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Aenean+commodo+ligula+eget+dolor.+Aenean+massa.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Donec+quam+felis%2C+ultricies+nec%2C+pellentesque+eu%2C+pretium+quis%2C+sem.+Nulla+consequat+massa+quis+enim.+Donec+pede+justo%2C+fringilla+vel%2C+aliquet+nec%2C+vulputate+eget%2C+arcu.+In+enim+justo%2C+rhoncus+ut%2C+imperdiet+a%2C+venenatis+vitae%2C+justo.

Wie bekomme ich die Strings decodiert?

Vielen Dank im voraus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

schreibe dir ein mini-modul,

Eingetragen von Peter Majmesku (656)
am 18.05.2011 - 21:35 Uhr

schreibe dir ein mini-modul, wo du per schleife alle "nodes" aus deinem abenteuer-cms holst und mittels node_save(); speicherst. tutorials, wie du nodes aus einem eigenmodul speichern kannst, sollte es zu hauf geben.

- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nun ja, wäre ich nicht neu

Eingetragen von narc (32)
am 22.05.2011 - 03:33 Uhr

Nun ja, wäre ich nicht neu bei Drupal und könnte das Problem selbst lösen - würde ich sicher die Resourcen von der Community nicht verbrauchen, oder? ;) DasFeeds-Modul scheint schon das richtige zu sein, nur wie bekomme ich die utf8 Codierung raus aus meinem CSV Export? Und eben das ganze auch noch miteinander verknüpft, wie oben aufgeführt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

hä? weis nicht was du mit

Eingetragen von Peter Majmesku (656)
am 19.05.2011 - 01:39 Uhr

hä? weis nicht was du mit deiner community-resourcen geschichte ausdrücken wolltest.

zu der zeichenkodierung:
jeder editor, der etwas taugt, kann den zeichensatz umstellen. auf dem mac empfehle ich für layoutarbeit (css und html sowie "bisschen" php) coda. wobei damit au h die umstellung der zeichenkodierung von den meisten textdateien klappen sollte.

- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich will damit nur sagen,

Eingetragen von narc (32)
am 19.05.2011 - 17:41 Uhr

Ich will damit nur sagen, dass ich keine Zeit von den Leuten in Anspruchen nehmen würde, wenn ich selbst die Lösung kenne.

Es geht nicht um die Layoutarbeit, wie bereits oben erwähnt. Es geht um eine exportierte CSV direkt aus der Datenbank die wohl mit UTF8 codiert ist. Wenn ich diese nun mit Feeds importiere, habe ich die "+"-Zeichen sowie die UTF8 Codierung direkt im Node, statt dem ganz normalen Text. Ich verwende generell Notepad++ - da eben eine Windowsmaschine, jedoch hilft mir dies leider nicht bei meinem kleinen Problem.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Tatsache, daß die Blanks

Eingetragen von wla (9333)
am 19.05.2011 - 19:04 Uhr

Die Tatsache, daß die Blanks als +-Zeichen ausgegeben werden wurde ich als fehlerhafte Ausgabe betrachten. Das ist aus meiner Sicht nicht normal. UTF8-Codierung ist in Ordnung, damit arbeitet Drupal ganz normal.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

@wla - so ist der Inhalt auch

Eingetragen von narc (32)
am 19.05.2011 - 23:49 Uhr

@wla - so ist der Inhalt auch in der DB abgespeichert, das CMS behandelt den Inhalt wohl so. Das einziges was ich jetzt machen kann, die + Zeichen ersetzen - und hoffen das es klappt. Ansonsten für Tipps wie immer Dankbar.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ansonsten fehlt mir leider

Eingetragen von narc (32)
am 20.05.2011 - 00:35 Uhr

Ansonsten fehlt mir leider immer noch eine Antwort.
Wie verknüpfe ich am besten die Artikel an Kategorien und User, und die Tags eben an die Artikel selbst.

PS: Ihr könnt euch nicht vorstellen wie ich mich im Moment ärger. Hätte ich mal auf keine postmodernen HypeCMSysteme gesetzt :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich weiß, ich muss ziemlich

Eingetragen von narc (32)
am 20.05.2011 - 20:28 Uhr

Ich weiß, ich muss ziemlich viele langweilen. Hoffe aber immer noch, dass mir jemand bei der Portierung hilft.

  • Anmelden oder Registrieren um Kommentare zu schreiben

pure Verzweifelung

Eingetragen von narc (32)
am 22.05.2011 - 05:05 Uhr

Langsam bin ich am verzweifeln.
Zwischenstand:
- Kategorien als Taxonomy importiert - check
- Tags als Taxonomy importiert - check
- Inhalte importiert und mit Usern und Kategorien verknüpft - check

Alles in einem funktioniert das Feeds Modul super, meine Aufgabe ist nahezu gelöst. Auch wenn ich unzählige Stunden bei DC.de und drupal.org verbracht habe. Ich glaube ich kann inzwischen so ziemlich jedes giftige Format ins D7 pumpen.

Was bleibt:

Zitat:

Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Aenean+commodo+ligula+eget+dolor.+Aenean+massa.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Donec+quam+felis%2C+ultricies+nec%2C+pellentesque+eu%2C+pretium+quis%2C+sem.+Nulla+consequat+massa+quis+enim.+Donec+pede+justo%2C+fringilla+vel%2C+aliquet+nec%2C+vulputate+eget%2C+arcu.+In+enim+justo%2C+rhoncus+ut%2C+imperdiet+a%2C+venenatis+vitae%2C+justo

Ich habe leider absolut keine Ahnung, was das alte CMS da abgespeichert hat. Es scheint eine Kodierung zu sein, die ich jedoch nicht decodiert bekomme - selbt mit http://sourceforge.net/projects/phputf8/ nicht.

Ich habe das ganze über diese Funktion in der FeedsCSVParser.inc vom Feeds Modul ausgeführt bzw getestet.

<?php
 
protected function parseItems(ParserCSV $parser, ParserCSVIterator $iterator, $start = 0, $limit = 0) {
   
$parser->setLineLimit($limit);
   
$parser->setStartByte($start);
   
$rows = $parser->parse(encode($iterator)); // meine encode funktion die ich ausgeführt habe
   
return $rows;
  }
?>

Vielleicht habe ich auch einen Denkfehler, müsste aber die richtige Stelle sein, wenn ich über Feeds meinen Inhalt importiere.

PS: Ach ja, die "+" Zeichen habe ich testweise manuel über Notepad++ entfernt. So das die Ausgabe so aussah:

Zitat:

Lorem ipsum dolor sit amet%2C consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes%2C nascetur ridiculus mus. Donec quam felis%2C ultricies nec%2C pellentesque eu%2C pretium quis%2C sem. Nulla consequat massa quis enim. Donec pede justo%2C fringilla vel%2C aliquet nec%2C vulputate eget%2C arcu. In enim justo%2C rhoncus ut%2C imperdiet a%2C venenatis vitae%2C justo

Vom D7 bzw Feeds wurde der Buchstabensalat jedoch nicht decodiert.

Update: Habe mir inzwischen eine Funktion gebastelt um den String zu entwirren, es passiert jedoch nichts. Kann mir jemand sagen an welcher Stelle ich bei Feeds die Funktion aufrufen müsste?

<?php
public function fuctUEncode($narcsimportstring)
    {
    
$zuentfernen = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
    
$neuerwert = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
     return
str_replace($neuerwert, $zuentfernen, urlencode($narcsimportstring));
    }
?>

Ich würde mich wirklich sehr freuen wenn mir bei DC jemand helfen könnte, damit ich endlich durchstarten kann und an der neuen Struktur im D7 arbeiten.

Vielen Dank im voraus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die return-Zeile ist

Eingetragen von wla (9333)
am 22.05.2011 - 10:30 Uhr

Die return-Zeile ist natürlich Mist. Das muß heißen:

return str_replace($neuerwert, $zuentfernen, $narcsimportstring);

Ansonsten kann ich leider nicht helfen, da ich mich mit Drupal 7 noch nicht ernsthaft befaßt habe. Das ist mir noch etwas früh.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Werner für den Tipp,

Eingetragen von narc (32)
am 23.05.2011 - 02:55 Uhr

Danke Werner für den Tipp, macht jedenfalls Sinn ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

narc schrieb Niemand sonst

Eingetragen von narc (32)
am 23.05.2011 - 02:54 Uhr
narc schrieb

Niemand sonst einen Tipp, an welcher Stelle und in welcher Datei die Strings von dem Modul Feeds verarbeitet werden? Nach weiterer Recherche, entdeckte ich das alle Inhalte vom alten CMS mit

<?php
urlencode
?>
in die Datenbank geschrieben wurden. Daher müsste ich bei Feeds nur an der richtigen Stelle
<?php
urldecode
?>
einfügen.

Ich glaube ich habe die ensprechende Stelle gefunden, für alle die eventuell das selbe Problem haben.

Datei ParserCSV.inc des Modulordners Feeds,

<?php

//die zeile 198
$line = trim($lineIterator->current(), "\r\n");
//durch folgendes ersetzen
$line = urldecode(trim($lineIterator->current(), "\r\n"));

?>

Bei meinen Testdaten lief die Prozedur durch. Sobald ich die original CSV-Datei durch jagen wollte, bekam ich folgende Fehlermeldung zu gesicht.

Zitat:

Ein AJAX-HTTP-Fehler ist aufgetreten HTTP-Rückgabe-Code: 200 Im Folgenden finden Sie Debugging-Informationen. Pfad: /drupal/?q=batch&id=236&op=do Statustext: OK Antworttext: ( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 79636416 bytes) in E:\_webserver\_www\drupal\includes\database\database.inc on line 2039 Call Stack #TimeMemoryFunctionLocation 10.0002679576{main}( )..\index.php:0 20.196429280960menu_execute_active_handler( )..\index.php:22 30.201830499184call_user_func_array ( )..\menu.inc:501 40.201830499448system_batch_page( )..\menu.inc:0 50.201930499448_batch_page( )..\system.admin.inc:2282 60.202030500336_batch_do( )..\batch.inc:81 70.202030500336_batch_process( )..\batch.inc:162 81.124436269680call_user_func_array ( )..\batch.inc:285 91.124436269728feeds_batch( )..\batch.inc:0

Sieht für mich nach einem Overkill der MySQL Verarbeitung. Nun weiß ich nicht, ob es daran liegt das ich meine Änderung an der falschen Stelle gesetzt habe, meine CSV (50mb) zu groß ist oder an etwas anderem. Läuft im moment eh noch alles lokal, daher Speicher für PHP auf 512 MB gesetzt, max zu verarbeitende Dateien beim Upload auf 128MB.

PS: Das wird ja bald schon zu einem Blog in diesem Thread, sorry dafür. Aber vielleicht findet sich jemand der mir bei dem Weg in die Drupalwelt einzusteigen etwas hilft.
Wie immer vielen Dank im voraus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe das Problem gelöst,

Eingetragen von narc (32)
am 23.05.2011 - 23:57 Uhr

Ich habe das Problem gelöst, somit ist dieser "Blog" geschlossen ;)

Für die es wissen möchten oder ein ähnliches Problem haben.

1. Die Datenbank wie auch die Tabellen MÜSSEN die Collation "utf8_general_ci" haben.
2. Die Datei ParserCSV.inc vom Modul Feeds muss wie folgt angepasst werden.

Zeile: 275

<?php
$fields
[] = $currentField;
?>

zu
<?php
$fields
[] = urldecode($currentField);
?>

Zeile: 281

<?php
$fields
[] = $currentField;
?>

zu
<?php
$fields
[] = html_entity_decode(urldecode($currentField), ENT_QUOTES, 'UTF-8');
?>

3. Die CSV Datei nach folgendem durchsuchen ";-+" und das "-+" entfernen, da es sonst zu Importfehlern kommt.

4. Ganz normal den Mapper nach Lust und Laune einstellen und importieren. Ich habe so über 10.000 Datensätze problemlos impotiert bekommen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit dem Core Update auf D7.2

Eingetragen von narc (32)
am 27.05.2011 - 20:30 Uhr

Mit dem Core Update auf D7.2 funktioniert die oben erwähnte Methode leider nicht mehr.
Diese muss durch folgendes ergänzt werden.

<?php
$fields
[] = mb_convert_encoding(html_entity_decode(urldecode($currentField), ENT_QUOTES, 'UTF-8'),'UTF-8','UTF-8');
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielleicht in diesem

Eingetragen von sachbearbeiter (205)
am 16.06.2011 - 14:49 Uhr

vielleicht in diesem zusammenhang interessant:

http://www.drupalcenter.de/node/24064#comment-127299

||||||||||||||||||||||||||

www.diesachbearbeiter.de

||||||||||||||||||||||||||

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die selbe Aufgabe

Eingetragen von Banditblau (1)
am 22.06.2011 - 18:10 Uhr

Hi,

ich bin absoluter Drupal Neuling und stehe vor einer ähnlichen Aufgabe, das Feeds Modul könnte Abhilfe verschaffen.
Ich möchte Feeds nach Schlagwörter einlesen (Bsp. "Bosch", oder "Siemens"...), dann möchte ich nur News zu dem Schlagwort erhalten.
Bin ich auf dem richtigen Dampfer mit Tags oder Nodes wie in dem tutorial Beispiel beschrieben?
Hier

WIe hast du die folgenden Punkte gemacht?

- Kategorien als Taxonomy importiert - check
- Tags als Taxonomy importiert - check
- Inhalte importiert und mit Usern und Kategorien verknüpft - check

da tut sich bei mir nichts, die Tags werden nicht angezeigt und es werden irgendwelche feeds eingelesen (spiegel).

Viele Grüße,
Banditblau

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Theme Olivero - Rand entfernen?
  • Seite auf Xamp wird nicht geladen
  • Olivero veraendern
  • Upgrade Drupal 9 auf 10
  • Matomo(?) in Seite, aber Deinstalliert!
  • Upgrade Drupal 7 auf Drupal 9 / Inhalt erstellen zeigt nur Fehler an
  • Fehlermeldung nach Update auf Drupal 10
  • Wie Button erstellen?
  • footnotes bei D10 und CKE5
  • ckeditor Bilder skalieren
  • Bild in welcher Form die Beschriftung!
  • Drupal 10 und Adaptive Theme 2.0
Weiter

Neue Kommentare

  • Sowas geht immer mit
    vor 9 Stunden 34 Minuten
  • vielen Dank fuer Deine Tipps.
    vor 15 Stunden 42 Minuten
  • Routinefrage: Kann es ein
    vor 1 Tag 10 Stunden
  • @onkel Bob,Erst mal
    vor 1 Woche 1 Tag
  • Prinzipiell geht das schon.
    vor 1 Woche 1 Tag
  • Rubi_2021 schriebWie genau
    vor 2 Wochen 24 Minuten
  • Ok, war ein Versuch. ;-) Kann
    vor 2 Wochen 6 Stunden
  • Danke
    vor 2 Wochen 7 Stunden
  • Redest Du von dem
    vor 2 Wochen 8 Stunden
  • Mit sticht das hier ins
    vor 2 Wochen 8 Stunden

Statistik

Beiträge im Forum: 248801
Registrierte User: 19832

Neue User:

  • elkb
  • J. Berten
  • vohome

» Alle User anzeigen

User nach Punkten sortiert:
wla9333
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 3 Gäste online.

Benutzer online

  • pkreutzer

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association