掲示板

Allgemeine Fehlermeldung in Portlets

8年前 に Sotoku Alekido によって更新されました。

Allgemeine Fehlermeldung in Portlets

New Member 投稿: 14 参加年月日: 15/07/24 最新の投稿
Hallo allerseits!

Ich würde gerne Portlets und/oder das Liferay Portal so konfigurieren, dass alle Fehlermeldungen auf der Oberfläche als ein allgemeiner Fehler gezeigt wird, also keine genaueren Details über den Fehler genannt wird, nur das eines passiert ist. Ich habe bereits im engllischsprachigen Forum nachgefragt, aber da bekomme ich keine Antwort. Mir würde schon ein "Gibts nicht." als Antwort genügen, falls sowas nicht ohne größeren Aufwand nicht möglich ist einzustellen.

Also (hoffentlich) einfach gesagt:
Ein Portlet soll keine spezifischen Fehlermeldungen anzeigen, sondern nur allgemeine die keine Details verraten(DB, Businesslogik, etc.). Ist sowas mit einer einfachen Konfiguration oder Implementierung an der richtigen Stelle zu bewerkstelligen?

Liferay Version: 6.2 CE

Vielen Dank schonmal für die Hilfe!
thumbnail
8年前 に Olaf Kock によって更新されました。

RE: Allgemeine Fehlermeldung in Portlets

Liferay Legend 投稿: 6396 参加年月日: 08/09/23 最新の投稿
Sotoku Alekido:
Ein Portlet soll keine spezifischen Fehlermeldungen anzeigen, sondern nur allgemeine die keine Details verraten(DB, Businesslogik, etc.). Ist sowas mit einer einfachen Konfiguration oder Implementierung an der richtigen Stelle zu bewerkstelligen?


"Es kommt darauf an":

Ist das ein Liferay-Core Portlet oder ein selbstentwickeltes? Welche Fehlermeldungen sind es? Es macht ja durchaus Sinn zu sagen: "Name muss eingegeben werden" statt "Daten sind ungültig". Für selbstentwickelte Portlets: Natürlich geht's - aber das sind ja auch selbstentwickelte Portlets. Da gibt es Liferay-seitig keine Limitierungen oder Vorschriften, welche Fehlermeldungen wo angezeigt werden.

Oder auch: Ich habe das Gefühl, dass ich nicht verstehe, wo das Problem ist...
8年前 に Sotoku Alekido によって更新されました。

RE: Allgemeine Fehlermeldung in Portlets

New Member 投稿: 14 参加年月日: 15/07/24 最新の投稿
Hallo Herr Kock!
Es sind selbstentwickelte Portlets. Ich beziehe mich mit Fehlermeldungen auf solche, die z.B. bei Nullpointerexceptions in Beans hervorgerufen werden. Manchmal wird da z.B. der ganze Stacktrace auf einer Errorpage im Portlet angezeigt und der User kann schön nachverfolgen was für Klassen und Methoden aufgerufen worden, und genau das wollen wir nicht. Oder Fehlermeldungen wo der ganze Query-String sichtbar gemacht wird. Es geht hier vorallem darum, die dahinter liegenden Vorgänge der Portlets auch bei schweren Fehlern auf der Oberfläche nicht sichtbar zu machen.
thumbnail
8年前 に Olaf Kock によって更新されました。

RE: Allgemeine Fehlermeldung in Portlets (回答)

Liferay Legend 投稿: 6396 参加年月日: 08/09/23 最新の投稿
Hallo,

soweit ich weiss zeigt Liferay im Falle einer Exception von selbst nur an, dass "das Portlet temporär nicht erreichbar" ist - oder äquivalent auf englisch. Wenn also ein Stacktrace angezeigt wird, gehe ich davon aus, dass dieser entweder vom verwendeten Framework oder explizit vom selbstgeschriebenen Portlet selber ausgegeben wird. Ich glaube nicht, dass Liferay da etwas dran zu sagen hat. Wenn das Portlet einen Stacktrace als output generiert, zeigt Liferay diesen (gültigen) Output an. Wenn es eine Exception wirft, zeigt Liferay die "vorübergehend nicht erreichbar" Meldung an.

Ich lasse mich da gerne eines besseren belehren, aber glaube dass es da nichts gibt, was die Plattform machen kann - die Anzeige der konkreten Fehler ist Sache des jeweiligen Portlets.
8年前 に Sotoku Alekido によって更新されました。

RE: Allgemeine Fehlermeldung in Portlets

New Member 投稿: 14 参加年月日: 15/07/24 最新の投稿
Hallo Herr Kock!

Sie hatten recht, es war ein Fehler von der JSF-API, das das Portlet verwendete. Die geerbte Klasse GenericFacesPortlet hat an vielen entscheidenenden Stellen bei einer gecatchten Exception mit einem schlichtem "e.printStackTrace;" reagiert, was schlussendlich in die Generierung der detailreichen Errorpage geführt hat. Das muss nun vermutlich mit einer Überschreibung der Methode und der eigenen gewünschten Behandlung der Exception gelöst werden.