Error: Need ItemID!

Hilfe zu Znuny Problemen aller Art
Locked
tgsbn
Znuny newbie
Posts: 16
Joined: 20 Jul 2013, 01:10
Znuny Version: 3.2.9
Real Name: Tilman Schmidt
Company: Phoenix Software GmbH

Error: Need ItemID!

Post by tgsbn »

Auf einer älteren OTRS-Installation, mehrfach upgedatet und mittlerweile bei Version 3.2.9, erscheint im Syslog schon seit mindestens vier Wochen (länger bewahre ich die Logs nicht auf) ständig die Fehlermeldung:

Code: Select all

Jul 21 12:49:21 otrs OTRS-CGI-10[31864]: [Error][Kernel::Modules::PublicFAQZoom::Run][Line:76]: Need ItemID!
Mit dem kürzlichen Update von 3.0 auf 3.2 hat sich lediglich die Zeilennummer von 73 auf 76 geändert.

Die Meldung tritt isoliert auf, ohne zeitlichen Zusammenhang mit anderen OTRS-Meldungen, und meist in Serien von 5-10 Stück innerhalb weniger Sekunden. Ein zeitlicher Zusammenhang mit irgendwelchen Fehlfunktionen oder Nutzerbeschwerden ist ebenfalls nicht erkennbar.

Eine Suche nach "Need ItemID!" auf faq.otrs.org ergibt 11 Treffer, von denen keiner die Meldung auch nur erwähnt.
Die Suchfunktion dieses Forums meldet "ignoriert: need" und findet dann zahlreiche Treffer mit URLs, die den Parameter "ItemID=..." enthalten, aber soweit ich sehen konnte nichts zu der Fehlermeldung.
Eine Google-Suche nach der Meldung findet zahlreiche Seiten "Hoppla. Es ist ein Fehler aufgetreten. Fehlermeldung: Need ItemID!", offenbar von realen, im Internet erreichbaren OTRS-Installationen, aber ebenfalls keine Diskussionen der Fehlermeldung und ihrer möglichen Behebung.

Ideen?

TIA
Tilman
tgsbn
Znuny newbie
Posts: 16
Joined: 20 Jul 2013, 01:10
Znuny Version: 3.2.9
Real Name: Tilman Schmidt
Company: Phoenix Software GmbH

Re: Error: Need ItemID!

Post by tgsbn »

Mangels Antwort habe ich ein bisschen im Code gestochert. Ausgeworfen wird die Meldung offenbar in der Funktion Run in Kernel/Modules/PublicFAQZoom.pm Zeile 68ff.:

Code: Select all

sub Run {
    my ( $Self, %Param ) = @_;

    # get params
    my %GetParam;
    $GetParam{ItemID} = $Self->{ParamObject}->GetParam( Param => 'ItemID' );

    # check needed stuff
    if ( !$GetParam{ItemID} ) {
        return $Self->{LayoutObject}->CustomerFatalError( Message => 'Need ItemID!' );
    }
Das sieht danach aus, dass diese Meldung immer dann ausgespuckt wird, wenn jemand mein OTRS mit Action=PublicFAQZoom, aber ohne ItemID aufruft. Tatsächlich stehen im Apache-Log immer wieder Einträge wie dieser:

Code: Select all

66.249.75.109 - - [22/Jul/2013:19:23:35 +0200] "GET /otrs/public.pl?Action=PublicFAQZoom&Subaction=Explorer&CategoryID=11&Order=Votes&Sort=down HTTP/1.1" 200 2586 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Die CategoryID variiert, ansonsten immer gleich - und immer von Google.

Gegenprobe: Der Aufruf derselben URL im Browser führt auf eine Fehlerseite, die genau so aussieht wie die "Hoppla"-Seiten, die ich per Google gefunden habe, und gleichzeitig erscheint im Systemprotokoll wieder die Fehlermeldung "Need ItemID!".

Und nun? Kann ich Google abgewöhnen, solche Aufrufe abzusetzen? Kann ich OTRS abgewöhnen, sich darüber in rot im Systemprotokoll zu beklagen? Oder muss ich es einfach als normal hinnehmen, dass diese Meldung in unregelmäßigen Wellen durch mein OTRS-Systemprotokoll zieht?

TIA
T.
Locked