Ansicht von 1 Antwort-Thema
  • Autor
    Beiträge
    • #35198
      Sasha U
      Teilnehmer

        Hallo
        Ich bin gerade dabei, ein neues Widget für das Dashboard zu entwickeln und bin auf ein Problem gestoßen, für das ich keine Lösung finden kann. Ich habe den Filekopf auf diese Weise eingerichtet:

        package Kernel::Output::HTML::Dashboard::AverageResponseTime;

        use strict;
        use warnings;

        use Kernel::System::VariableCheck qw(:all);
        use Kernel::System::Ticket;
        use Kernel::System::User;
        use Kernel::System::JSON;

        Wenn ich die Befehle „Rebuild“ und „ClearCache“ ausführe, ist in der Konsole alles in Ordnung. Das Widget erscheint jedoch nicht auf dem Dashboard, obwohl die Vorlage und die Konfigurations-XML vorhanden sind. Hier ist der Fehler, den ich bei der Fehlersuche gefunden habe:

        Can't locate Kernel/System/VariableCheck.pm in @INC (you may need to install the Kernel::System::VariableCheck module) (@INC entries checked: /opt/otobo/Kernel/System /opt/otobo/local/lib/perl5/5.38.4/x86_64-linux-gnu /opt/otobo/local/lib/perl5/5.38.4 /opt/otobo/local/lib/perl5/x86_64-linux-gnu /opt/otobo/local/lib/perl5 /opt/otobo_install/local/lib/perl5/5.38.4/x86_64-linux-gnu /opt/otobo_install/local/lib/perl5/5.38.4 /opt/otobo_install/local/lib/perl5/x86_64-linux-gnu /opt/otobo_install/local/lib/perl5 /usr/local/lib/perl5/site_perl/5.38.4/x86_64-linux-gnu /usr/local/lib/perl5/site_perl/5.38.4 /usr/local/lib/perl5/vendor_perl/5.38.4/x86_64-linux-gnu /usr/local/lib/perl5/vendor_perl/5.38.4 /usr/local/lib/perl5/5.38.4/x86_64-linux-gnu /usr/local/lib/perl5/5.38.4) at /opt/otobo/Kernel/Output/HTML/Dashboard/AverageResponseTime.pm line 9.

        VariableCheck.pm ist definitiv in Kernel/System vorhanden… Ich habe Files nach ‚Custom‘ verschoben, aber auch das hat nicht geholfen. OTOBO wurde über Docker installiert, und alle Änderungen sind natürlich im Container auf dem Server vorhanden.

        Ich bin für jede Hilfe dankbar.

      • #35321
        Mike Thumes
        Teilnehmer

          Hi Sasha,

          VariableCheck.pm solle definitv gefunden werden, und wie Du geschrieben hast ist die Datei ja auch vorhanden. Aufgefallen ist mir aber der Inhalt deines @INC Arrays – gleich der erste Eintrag sieht komisch aus. Wenn ich aus meinem aktuellen Otobo-Docker-Container mal den @INC rausschreibe, sieht der bei mir so aus:

          $VAR1 = [
          '/opt/otobo/bin/psgi-bin/../../Custom',
          '/opt/otobo/bin/psgi-bin/../../Kernel/cpan-lib',
          '/opt/otobo/bin/psgi-bin/../..',
          '/opt/otobo/local/lib/perl5',
          '/opt/otobo_install/local/lib/perl5/5.38.4/x86_64-linux-gnu',
          '/opt/otobo_install/local/lib/perl5/5.38.4',
          '/opt/otobo_install/local/lib/perl5/x86_64-linux-gnu',
          '/opt/otobo_install/local/lib/perl5',
          '/usr/local/lib/perl5/site_perl/5.38.4/x86_64-linux-gnu',
          '/usr/local/lib/perl5/site_perl/5.38.4',
          '/usr/local/lib/perl5/vendor_perl/5.38.4/x86_64-linux-gnu',
          '/usr/local/lib/perl5/vendor_perl/5.38.4',
          '/usr/local/lib/perl5/5.38.4/x86_64-linux-gnu',
          '/usr/local/lib/perl5/5.38.4'
          ];

          Custom brauchst Du vermutl. nicht, dass wird nur benötigt wenn man existierende Dateien überschreiben (override) möchte, aber für ein neues Widget sollte das nicht nötig sein. Was aber definitiv im @INC stehen sollte – entscheident ist hier die Zeile 3 – ist:

          ‚/opt/otobo/bin/psgi-bin/../..‘ bzw. effektiv dann ‚/opt/otobo‘

          Das sollte definitiv im @INC enthalten sein, dann wird auch der VariableCheck aus ‚/opt/otobo/Kernel/System/VariableCheck.pm“ gefunden. Bei Dir steht aber statt dem etwas von ‚/opt/otobo/Kernel/System‘. Das hätte ich da nicht erwartet.

          Hast Du evtl versucht den @INC irgendwo anzupassen? Bei Default wird das hier gesetzt: https://github.com/RotherOSS/otobo/blob/rel-11_0/bin/psgi-bin/otobo.psgi#L62

          Ich hoffe das hilft Dir vielleicht etwas weiter.

          lg,
          -mike

      Ansicht von 1 Antwort-Thema
      • Du musst angemeldet sein, um auf dieses Thema antworten zu können.