Fórum

Document Library

Sören Schellhoff, modificado 14 Anos atrás.

Document Library

New Member Postagens: 3 Data de Entrada: 03/07/09 Postagens Recentes
Hey,
Ich versuche irgendwie an die hochgeladenen Dokumente zu kommen.
Es soll ein Programm im Hintergrund laufen(kein Portlet) welches überprüft ob neue Dokumente hochgeladen wurden. Habe also n der document-library geguckt und dort gibt es auch eine Methode um erstellungsdatum etc abzufragen. Die Frage ist nur wie ich mitteilen kann um welches Dokument es sich überhaupt handelt. Bzw. ich müsste ja alle Dokumente abfragen um dann diese rauszufiltern die ab einem bestimmten Datum erstellt wurden.
Ich bin mir noch nicht sicher wie ich in dem Fall die Funktionen der DL richtig einsetzen kann/soll, bzw. ob es nicht vielleicht sinnvoller wäre selbst auf die Datenbank zuzugreifen.
Schonmal vorab Dankeschönemoticon
Joffré Carrier, modificado 14 Anos atrás.

RE: Document Library

Junior Member Postagens: 28 Data de Entrada: 03/06/09 Postagens Recentes
Nach den neuesten Nachrichten aus JIRA (Team von Programmierern, die an dem Projekt Liferay) würde es wahrscheinlich ein Fehler in Bezug auf die Hochladens Bilder (uploading) im Portlet Dokument library. Der Fehler wurde behoben, zuletzt (Juni) und das Problem sollte nicht mehr vorkommen, bei der nächsten Version. Wenn Sie sprechen von einem Problem zum Herunterladen einer Anwendung, kann es sein, dass es andere Probleme im Zusammenhang mit dem Aspekt Download / Hochladens Portlet. Verzeihen Sie mein Deutsch Version google translate!
Sören Schellhoff, modificado 14 Anos atrás.

RE: Document Library

New Member Postagens: 3 Data de Entrada: 03/07/09 Postagens Recentes
Ich selbst möchte keine Dokumente hochladen. Ich möchte nur in einer eigenen Anwendung die als Cronjob im hintergrund läuft, Dokumente abfragen, welche jemand anderes vorher hochgeladen hat.
Das heisst:

irgendein User läd ein Dokument mit dem DocumentLibrary-Portlet hoch.
Meine Anwendung prüft im hintergrund ob etwas hochgeladen wurde. Wenn ja werden diese Daten verarbeitet.

Wie komme ich also an die Information ob etwas hochgeladen wurde?
Ich habe mir jetzt überlegt auf die Datenbank zuzugreifen und dort abzufragen welche Dokumente eingestellt sind. Die DocumentLibrary müsste ja ihre Daten auch in einer Datenbank abspeichern.
Wie greife ich also nun auf diese Datenbank zu? Ich bin im moment dabei herauszufinden wie die Datenbank heisst und welche zugangsdaten benutzt werden.

Trotzdem vielen dank für die Hifleemoticon
Claas Ruschmeyer, modificado 14 Anos atrás.

RE: Document Library

New Member Postagens: 15 Data de Entrada: 02/12/08 Postagens Recentes
Direkt auf die Datenbank wird nicht funktionieren, da die Dokumente je nach konfiguriertem DL-Hook (JCRHook, S3Hook, etc.) in einem Repository abgelegt werden. Leider feuert Liferay keinen Event bei der Dokumentenablage oder -änderung. Ebenfalls gibt es keinen RSS beim DocumentLibrary-Portlet, den man "abhören" könnte. (Evtl. geht's über den ActivityPortlet-RSS?) Daher bleibt m. E. nur noch direkt der (Lucene-)Search-Index. Liferay bietet hier einige Klassen ("*indexsearcher*.java" und auch "*opensearch*.java"), jedoch keine Service-Klasse für den Remote-Zugriff.

Ich würde das "Solr Search Engine"-PlugIn installieren und hierüber kontinuierlich die letzen Änderungen abfragen. (Wenn Dein cron-Job lokal läuft, kannst Du natürlich direkt auf den Lucene-Index gehen, sofern Du Liferay mit lucene.store.type=file betreibst.) Luke kann Dir helfen, die richtigen Index-Felder zu finden (modified beinhaltet die Zeitinfo). Zudem muss man die richtige companyId, groupId und portletId seiner Installation kennen, sofern man nicht portalübergreifend - also über alle communities - suchen möchte.

Noch ein Hinweis: Liferay vergibt intern den DL-Dokumenten eigene eindeutige Namen (DLFE-<id>.<suffix>). Per Index-Suche müßtest Du daher prüfen, ob der Wert zum Index-Feld path mit "DLFE-" beginnt. Näheres zur Solr-Querysyntax (date ranges, etc) dann hier: Solr Query Syntax
Claas Ruschmeyer, modificado 14 Anos atrás.

RE: Document Library

New Member Postagens: 15 Data de Entrada: 02/12/08 Postagens Recentes
Oups, kleine Korrektur meiner vorherigen Aussage:

Claas Ruschmeyer:
Direkt auf die Datenbank wird nicht funktionieren...


Scheinbar speichert Liferay diverse Metadaten zum Dokument auch noch zusätzlich in die Datenbank-Tabelle DLFILEENTRY. Hier gibt es analog zum Index die Felder MODIFIEDDATE, COMPANYID und GROUPID. DB-Name und Paßwort konfiguriert man ja selber entsprechend Liferay Administration Guide 5.2 (Abschnitt "Database Setup")

Somit gibt es also mehrere Wege...
Sören Schellhoff, modificado 14 Anos atrás.

RE: Document Library

New Member Postagens: 3 Data de Entrada: 03/07/09 Postagens Recentes
Hey danke.
genau den weg über die Datenbank bin ich nun gegangen. Ich lese einfach die Werte aus der Datenbank aus (name, datum, etc) und verarbeite diese um sie hinterher in mein xml Dokument zu speichern. Ist meiner Meinung nach der kürzeste und einfachste weg gewesen.
Danke für die Hilfeemoticon
Gruß Sören