Automatischer Import von Dateien aus dem Filesystem und Anzeige/Download für angemeldete Benutzer
am 06.07.2013 - 14:12 Uhr in
Hallo,
ich bin auf der Suche nach einer Möglichkeit automatisiert Dateien (überwiegend PDFs und ZIPs) die im Filesystem liegen in Dupal (private filesystem) zu importieren, um diese dann nur für angemeldete Benutzer in bestimmten Rollen zugänglich (z.B. per Views) zu machen.
Auf meiner Suche bin ich auf die Module Feeds [1] + Feeds directory fetcher [2] und Migrate [3] gestoßen. Der Import per Feeds hat gar nicht geklappt und ob Migrate das Richtige ist, bin ich mir auch nicht sicher. Zumindest habe ich Beispiel [4] gefunden, wie mit Migrate auch eine lokale Datei migriert werden kann.
Leider kann ich aber mangels Erfahrung nicht beurteilen ob der Weg über Feeds oder Migrate in meinem Fall nicht etwas zu viel des Guten ist.
Ich glaube jedenfalls, dass für mein Vorhaben nicht unbedingt neue Nodes mit letztlich nur einem FileField o.ä. generiert werden müssen. Nach etwas mehr Suchen habe ich ein Kommando für Drush [5] gefunden, welches Dateien im Filesystem in die Tabelle file_managed hinzufügt. Wenn die Dateien für Drupal bekannt sind, müsste es doch ausreichen z.B. per Modul Private files download permission [6] den Download nur für bestimmte Rollen einzuschränken? Dann würde nur noch die Auflistung der Dateien in file_managed fehlen. Da habe ich leider nur das hier [7] gefunden.
Über Tipps und/oder Anregungen bin ich sehr dankbar.
[1] https://drupal.org/project/feeds
[2] https://drupal.org/project/feeds_fetcher_directory
[3] https://drupal.org/project/migrate
[4] https://drupal.org/node/1856694
[5] https://drupal.org/node/1961806
[6] https://drupal.org/project/private_files_download_permission
[7] https://drupal.org/node/1363934
- Anmelden oder Registrieren um Kommentare zu schreiben
feeds ist der richtige Ansatz
am 06.07.2013 - 15:59 Uhr
was hat denn nicht geklappt?
Das Verzeichnis, aus dem geholt werden soll, muss natürlich für den Internetuser im Zugriff sein.
Grüße
Ronald
Hallo Ronald, vielen Dank für
am 08.07.2013 - 14:21 Uhr
Hallo Ronald,
vielen Dank für deine Antwort.
Ich habe mich nun nochmal an Feeds + Feeds Fetcher Directory versucht. Ich hatte direkt beim Konfigurieren des Importers einen Fehler bei Feeds Fetcher Directory bekommen. Diesen konnte ich durch einen angehängten Patch in diesem Issue [1] beheben. Als File Mask verwende ich /\.pdf$/.
Beim Import meiner Test-PDF-Dateien über meine neue Konfiguration verwende ich als Verzeichnis ein Unterverzeichnis unter private://. Um genau zu sein private://pdfs. Da ich das ganze auf einem Xampp unter Windows als Admin teste sollte es nicht an fehlenden Zugriffsrechten liegen.
Nach dem Import kommt als grüne Meldung There are no new nodes.. Nach nochmaligem Import bekomme ich dann eine rote Meldung No new files found in: private://pdfs to fetch.
Es ist mir nicht klar, was ich als Parser bei der Konfiguration meines Feed importers verwenden muss. Dort gibt es keine Möglichkeit keinen Parser auszuwählen.
Kann man denn mit Feeds überhaupt Dateien ohne XML, CSV, OPML, usw. importieren? Oder benötigt man zwingend eines dieser Formate mit weiteren Metadaten um Dateien importieren zu können?
[1] https://drupal.org/node/2023775