2012-08-23 11 views

Antwort

16

Was ist der Unterschied zwischen diesen Diensten DLFileEntryLocalServiceUtil und DLAppLocalServiceUtil?

DLFileEntry Dienste und DLFolderEntry Dienstleistungen sind speziell für die Einträge in Liferay-Datenbank-Datei und Ordner gespeichert und sind völlig ahnungslos von den neuen repository concept in 6.1 eingeführt. Die user-guide & diese wiki erläutert, wie Sie ein neues Repository hinzufügen. (DLAppService & DLAppLocalService) Dienste berücksichtigen diese Dinge, d. H., Dass sie sich um die Synchronisierung von Dokumenten zwischen liveray-Datenbank und anderen Repositories kümmern und nicht nur Einträge in der Liferay-Datenbank speichern.

Die documentation für die Klasse DLAppServiceImpl erklärt alles (dies ist für DLAppLocalServiceImpl fast gleich ist), ist der folgende Auszug aus der Dokumentation:

Die Dokumentbibliothek Service vor Ort. Alle Portlets sollten über diese Klasse oder über DLAppServiceImpl mit der Dokumentbibliothek interagieren und nicht über die einzelnen Serviceklassen für Dokumentbibliotheken.

Diese Klasse bietet eine einheitliche Schnittstelle für alle Liferay- und Drittanbieter-Repositorys. Während die Methodensignaturen für alle Repositories universell sind. Zusätzliche implementierungsspezifische Parameter können im serviceContext angegeben werden.

Der von den meisten Methoden verwendete Parameter repositoryId ist der Primärschlüssel des spezifischen Repositorys. Wenn das Repository ein Liferay-Standardrepository ist, lautet die repositoryId die groupId oder scopeGroupId. Andernfalls entspricht die repositoryId den Werten, die von RepositoryLocalServiceUtil erhalten werden.


Ist DLAppLocal eine neue Schnittstelle in Liferay 6.1?

Ja

, die für Anwendungsebene Code den alten DLFileEntry abschreckt?

In gewissem Sinne ja, siehe obige Erklärung. DlAppLocalServices ist viel besser zu verwenden, da sein Umfang viel größer ist als die einzelnen Dokumentendienste.Dennoch, wenn Sie diese Schnittstellen zum Speichern der Dokumente & Medien aus Ihrem benutzerdefinierten Plugin-Portlet verwenden möchten, können Sie weiter gehen und diese verwenden, denke ich nicht, es sollte ein Problem sein, da auch DlAppLocalServices intern verwendet die einzelnen Dokument-Dienste für die Speicherung in Rettungs-Repository.

Ich hoffe, dies bietet einige relevante Informationen für Ihre Frage.

+0

Vielen Dank, sehr komplett !!! Für den Teil "... über DLAppServiceImpl, statt einzelne Dokumentbibliothek Serviceklassen." Ich habe bereits gelesen, war mir aber nicht sicher, ob das DLFile/FolderEntryLocalServices bedeutete. – Whimusical

+0

Ich bin froh, dass es geholfen hat –