Beiträge von Clemens-XS

    Der Ärger ist leider noch größer! Eine andere Website, die ich vor drei Wochen fertig gestellt hatte und seitdem online ist, hat den gleichen Datenbank-Fehler. Ich habe jetzt noch mal Screenshots angefertigt: DB-03 ist eine frische Joomla-4-Installation, DB-06 und DB-09 sind die beiden von J3 migrierten Websites.


    Da fehlt ja gehörig was!!! Ich verstehe nicht, wieso die Sites bis jetzt dennoch funktionieren! Die mit der DB-06 hat beim Anlegen, Ändern oder Löschen von Menüs, Beiträge oder Kategorien noch keine Probleme gezeigt!

    Ich hatte Akeeba Backups erstellt. Da ist ja die Datenbank mit drin. Allerdings würde ich ja die ganze Arbeit verlieren, die ich seit 4..3.2 investiert habe. Und das sind fast 14 Tage.


    Lassen sich denn die aktuell fehlenden Zeilen / Tabellen einzeln aus einem Backup extrahieren und in die derzeit laufende Datenbank "installieren"?


    Es existieren 14 Kategorien, davon sind 11 aus der Joomla 3-Site übernommen worden, davon drei gelöscht worden und der Rest neu angelegt.

    Das ist ja krass!!! In der DB, die zu meiner Website gehört, die ich gerade bearbeite, fehlen genau diese Zeilen (Screenshot __Joomla-DB-01b.png). –– Ich habe daraufhin eine andere DB geöffnet, die auch zu einer J4-webseite gehört und die hat diese Zeilen. Screenshot __Joomla-DB-02


    Dann dürfte ja eigentlich die Website mit dem Fehler gar nicht mehr richtig funktionieren, wenn all diese Zeilen fehlen!


    Was mache ich jetzt am besten, um nicht die ganze bisher in die neue Site gesteckte Layout-Arbeit zu verlieren?

    Ich finde gerade heraus, dass der Fehler ausschließlich bei Änderungen oder Neu-Anlegen von Kategorien auftritt und nicht bei Änderungen oder Neu-Anlagen von Menü-Einträgen oder Beiträgen.


    Zitat

    Ich habe in den Tabellen #_modules, #_menue, #_content in der checked_out Zeile die Null Checkbox angehakt und damit trat diese Fehlermeldung bei mir nicht mehr auf.


    Ich habe wenig Ahnung von Datenbanken. Wo finde ich die "checked_out" Zeile, die zu Kategorien gehört? – Daher bitte ich darum, dass mir jemand die Stellen in der Datenbank nennt, wo und wie ich die Änderungen vornehmen kann! <3

    Zitat

    Das habe immer noch nicht verstanden.

    Mit einem Klick veranlasse ich, dass sich eine Lightbox öffnet. Diesen Klick registriere ich über onclick="...."


    Wenn die Lightbox geöffnet ist, kann ich sie schließen, indem ich entweder auf den Schließen-Button oder auf irgendeinen Bereich der Webseite klicke, in dem der Inhalt der Lightbox nicht gezeigt wird. Diesen Klick zum Schließen der Lightbox möchte ich nun ebenfalls durch onclick="...." registrieren können.


    Registrieren heißt hier für mich, dass ich bei "onclick" bestimmte Daten an Matomo sende. Aber das ist auch Wumpe, ich könnte damit auch Daten nach China oder die NSA senden! :)

    Nein, ist immer noch 7.4. Aber ich arbeite mit Hochdruck an der Website, um auf 8 umstellen zu können. Die uralte Website von mir ist ja noch produktiv Online und die verträgt kein PHP 8.


    Übrigens habe ich den Systemcheck im Backend durchgeführt und der sagte, dass alles OK sei, z.B. auch mit der Datenbank.

    Meine Website hatte ich im Dezember von J3.x auf 4.x.x migriert. Vorher hatte ich alle Extensions und das alte Template entfernt. Dann lief der Prozess ohne Fehlermeldungen durch.


    Seither habe ich ohne Fehlermeldungen problemlos massiv daran arbeiten können. So habe ich YooTheme Pagebuilder installiert und manche andere Extensions auch. Nie Probleme gehabt.


    Heute will ich eine Kategorie umbenennen und erhalte direkt nach dem Versuch, die Änderung zu speichern, die berüchtigte Meldung:

    1048 Column 'checked_out' cannot be null


    Natürlich habe ich die Foren durchsucht und fand z.B. dies hier: https://issues.joomla.org/tracker/joomla-cms/39760


    Dort wurde empfohlen, im Verzeichnis administrator/log/ die Datei joomla_update.php anzuschauen. Die in dem Beitrag beschriebenen kritischen Datenbank-Angaben fehlen aber bei mir, zumal ich ja schon längst auf Joomla 4.3.2 bin und der Tipp aus dem Issue-Forum aus Februar stammte.


    Bei mir steht in besagter Datei:

    Ich fand natürlich hier in unserem Forum auch diese Diskussion:


    mit dem anscheinend hilfreichen Tipp:

    Zitat

    Ich habe in den Tabellen #_modules, #_menue, #_content in der checked_out Zeile die Null Checkbox angehakt und damit trat diese Fehlermeldung bei mir nicht mehr auf.

    Naja, das wollte ich dann auch versuchen und bin mit PHPmyAdmin in die Datenbank. Da ich aber von so was keine Ahnung habe fie , aber auch bestimmt nichts kaputt machen will :huh: , fand ich die Stellen / Tabellen nicht, wo die Änderungen vorzunehmen sind =O .


    Ich bitte darum, dass mir jemand die Stellen nennt, wo und wie ich die Änderungen vornehmen kann! <3

    Steht doch eigentlich alles oben in dem Beispiel beschrieben. Aber hier halt noch mal, ganz ohne Erwähnung von Ui-Kit:


    Über einen Link, der keinen Video-Tag oder ähnliches, was mit event / onclick versehen werden kann, wird eine Lightbox geöffnet, die sich über die ganze Webseite ausdehnt. Es wird kein Iframe in der Lightbox geöffnet / dargestellt.


    Das Öffnen der Lightbox über Anklicken des Link kann ich mittels event / onclick erfassen. Aber wo kann der Klick erfasst werden, mit dem der Besucher die Lightbox wieder schließt? Das ist nämlich oft nicht der "Schließen-Button", sondern ein Klick irgendwo rings um den Inhalt der Lightbox herum.


    Das HTML, das die Lightbox repräsentiert, wird ja erst nach dem ersten Klick erzeugt. Es ist also nicht schon vor Öffnen der Lightbox verfügbar, sodass ich daher nicht weiß, wo ich denn "onclick=..." einfügen kann.

    Danke für den Hinweis. Aber von dort komme ich ja gerade! GetUI-Kit.com wird von YooTheme.com betrieben und ich nutze ja deren Pagebuilder. YooTheme hat auch ein Support-Forum. Genau dort hatte ich bereits zwei Mal angefragt, aber man sieht sich hierfür als "nicht zuständig". Und eigentlich möchte man dort nur Hilfe leisten, wenn es wirklich ein Problem mit deren Komponenten gibt und nichts darüber hinaus!

    Es tut mir Leid, dass ich den Code oben so unübersichtlich reinkopiert habe. Hier also mal in übersichtlicherer Form:

    Code
    <div uk-lightbox="animation: fade" video-autoplay="" onclick="matomoeventtracking('video', 'playing', 'Video: über mich und meine Angebote');">
    
        <a href="images/video/therapie/praxis-gesamt-interview.mp4" title="Video: Über mich und meine Therapie-Angebote"> 
            <img src="images/grafik/play-circle-white-150.png" alt="" /> 
        </a>
    
    </div>

    Ich habe bereits mehrfach diese Frage und Bitte um Unterstützung im Forum von Ui-Kit und bei YooTheme-Pagebuilder und in einem JS-Forum gestellt, aber keine Antworten erhalten. Im Matomo-Forum erhielt ich so weit eine Antwort, dass wenigstens die unten beschrieben Funktion, das Öffnen der Lightbox, als OnClick-Event getrackt wird. Ist ja auch klar, denn die sind auf Matomo spezialisiert und nicht auf Ui-Kit.


    Auf meiner Joomla-Website verwende ich das Ui-Kit. Es stellt zahlreiche Standard-Funktionen typischer Websites bereit, so auch u.a. eine Lightbox-Funktion. Ich verwende die Lightbox, um darin Videos abzuspielen. Das Video startet automatisch, sobald es in die Lightbox geladen wird und das Abspielen wird automatisch beendet, sobald die Lightbox geschlossen wird. Die Lightbox schließt sich entweder durch Klick auf einen Close-Button in der Lightbox oder einen Klick in die Umgebung der Lightbox.


    Ich möchte nun den Start des Videos und dessen Beendigung (incl. evtl. vorzeitiger Beendigung) als Events erfassen, um damit das Abspielen des Videos in Matomo zu tracken. Da bei Verwendung der Klasse uk-lightbox kein Video-Tag gesetzt wird, sondern anscheinend "intern" alles per JS veranlasst wird, kann ich nicht auf events wie video playing, pause, ended triggern. Da mich "Pause" nicht interessiert, kann ich die Sache vereinfachen und einfach nur den Start des "div" mit der Lightbox durch "onclick" registrieren. Mit Hilfe von jemandem aus dem Matomo-Forum, habe ich das nun hinbekommen.


    Nun fehlt aber natürlich die Funktion, dass das Beenden des Videos durch Schließen der Lightbox ebenfalls erfasst werden soll. Da weiß ich nicht, wo und wie ich das "onclick" platzieren muss. Und Ihr merkt schon, ich habe von Events, JavaScript und ähnlichem fast keine Ahnung!


    Hier erst mal der Code, der das Öffnen der Lightbox (durch das ja das Video dann automatisch startet) registriert wird:

    Code
    <div uk-lightbox="animation: fade" video-autoplay="" onclick="matomoeventtracking('video', 'playing', 'Video: über mich und meine Angebote');"><a href="images/video/therapie/praxis-gesamt-interview.mp4" title="Video: Über mich und meine Therapie-Angebote"> <img src="images/grafik/play-circle-white-150.png" alt="" /> </a></div>

    Demnach müsste irgendwo vermutlich dieser Codeschnippsel eingebaut werden:

    Code
    onclick="matomoeventtracking('video', 'playing', 'Video: über mich und meine Angebote')

    Aber wo ist der zugehörige div-container in den ich das einfügen muss? Und an welcher Stelle?


    Ich habe versucht, dies mit Hilfe des Inspectors in Firefox heraus zu finden. Ich dachte, wenn ein Click irgendwo außerhalb der Lightbox bereits diese schließen wird, dann müsste einfach nur jeder beliebige Klick in dieser Region als onclick- Event registriert werden. Aber da gibt es derart viele Möglichkeiten, weil die div-Containerstruktur so verschachtelt ist, dass ich keine geeignete Stelle finde. Zumal offensichtlich vieles durch Javascript in das Website-HTML eingefügt wird und ich da nirgendwo etwas statisch "einfügen" kann.


    Diese Website ist gerade im Entstehen und beinhaltet auf dieser Webseite eine Lightbox mit Video, das bereits den o.g. Tracking-Code beinhaltet, sodass das Öffnen der Lightbox durch Matomo registriert wird:


    Aber wie registriere ich nun das Schließen der Lightbox?

    <3 Ich habe mal keine Frage, sondern spüre einfach gerade das Bedürfnis, DANKE zu sagen! <3


    <3 Danke für die enorme Leistung und das Engagement aller, die Joomla programmieren und möglich machen! <3 Nach dem Upgrade von J3 auf J4 hatte ich bisher keine Probleme mit Joomla. Es läuft absolut stabil bei mir auf bis jetzt vier Websites. Zwei davon stammen noch von J3, zwei andere habe ich neu mit J4 erstellt. In allen neuen Sites benutze ich YooTheme, welches auf UiKit beruht. Auch alle Updates bis 4.3.2 liefen glatt.

    (PHP7.4 läuft bei nur noch deshalb, weil eine Website noch auf J3 läuft und deren Template kein PHP 8 verträgt.)


    Weil die meisten zusätzlichen Funktionen über UiKIt und YooTheme bereit gestellt werden, benötige ich nur wenige zusätzliche Extensions, wie JCH, einen Kalender, ein Inhaltsverzeichnis, eine Newsletter-Extension, ein Quiz.


    <3 Also: Ich danke herzlich allen, die daran mitgearbeitet haben und auch allen hier im Forum, die mir schon manche Fragen beantwortet haben (auch wenn manche vielleicht etwas doof waren). <3

    Auch nach längerer Suche in den Joomla Extensions bin ich noch nicht fündig geworden und frage jetzt mal hier an:


    Gibt es eine Extension, mit der ich die Registrierung eines Benutzers zeitlich begrenzen kann, sodass automatisch z.B. nach 1 Monat oder nach einigen Tagen automatisch seine Registrierung erlischt / ungültig wird und er gesperrt wird?


    Ebenso möchte ich, dass ein Benutzer, der sich länger als eine einstellbare Zeit nicht in Joomla angemeldet hat, automatisch seinen Zugang gesperrt bekommt?


    In beiden Fällen soll der Benutzer nicht gelöscht werden, sodass er leicht vom Admin wieder aktiviert werden kann.

    OK, vielen Dank für die Klärung!


    Ich habe jetzt ziemlich experimentiert, um das Caching auch mit iCagenda hinzubekommen, auch wenn es in einen Artikel platziert wurde. Es funktioniert nicht mit Joomla, wohl aber mit JCH-optimize. Dabei darf man aber nur die die Cache-Stufe Average oder Intermediate nutzen. Noch mehr Zusammmenfassung / Caching und das Setzen der Scripte an das Ende der Seiten verträgt YooTheme Pagebuilder nicht. Da verschwand bei mir das Hamburger Menü-Icon jedes Mal, wenn man zu einer anderen Seite navigiert war. Lädt man diese Seite dann im Browser per refresh neu wird das Menü-Icon wieder angezeigt.


    YooTheme rät dringend von Caching-Extensions ab. Ich habe aber gerade ausgetestet, dass ich ca. 30% an Ladetempo gewinne, wenn JCH-Optimize auf die o.g. Weise aktiviert wird. Bilder komprimiert YooTheme aber selbstständig in verschiedene Größen und packt sie als SourceSet zusammen. YooTheme cached selbst aber nix!


    Wichtig ist aber, dass iCagenda nun auch mit aktiviertem Caching läuft und wir damit eine Lösung haben.

    Doch im Modul gibt es fest vorgegeben die Einstellung, dass nicht gecached wird.


    Ich habe soeben nochmals getestet und konnte nicht sehen, dass sich bei eingeschaltetem Joomla-Cache die Ladezeit der Site verringert. Die meisten Scripte und CSS aber vor allem alle Bilder (= SourceSet) werden bereits über YooTheme komprimiert und gecached, so hat es den Anschein.


    Frage nochmals hier:

    Worin besteht der Unterschied, wenn in Joomla in der Konfiguration das Caching aktiviert wird oder wenn statt dessen in der htaccess das Caching aktiviert wird?


    Und: Wie ist eure Erfahrung betr. Joomla Caching: wird die Website mit aktivem Caching wirklich schneller geladen?

    Es handelt sich eindeutig um den Joomla-Cache, der unter Konfiguration / System eingestellt wird. Setze ich den auf 1 Minute, kann nach Ablauf einer Minute einmal die Monats- oder Jahresnavigation benutzt werden. Nach einer weiteren Minute wieder. Schalte ich den Cache aus, funktioniert der Calendar einwandfrei.

    Ich war inzwischen auf der Muster-Website der Französin. Sie hat in dem zweiten Beispiel, in dem es angeblich ebenfalls nicht funktioniert, den Calender in die Seitenspalte gelegt (.aside). Dann funktioniert der. Sie hat im anderen Beispiel den Kalender, so wie ich ich, in einen YooTheme-Container gelegt. Dann funzt es nicht, weil es im Joomla-Cache blockiert wird.


    Der YooTheme-Support meinte ja auch, dass zwar mit dem Klick auf die Monats- / Jahresnavigation der Vorgang zwar angestoßen wird, aber dennoch der Inhalt des (gleich gebliebenen) Cache ausgeliefert wird und daher keine Änderung für den Besucher angezeigt wird.


    Gerade habe ich auch Joomla "erweitertes Caching" ausprobiert. Das macht den gleichen Fehler. Dann habe ich das Caching ganz deaktiviert und die Netzwerkanalyse von Firefox bemüht: egal ob mit oder ohne Cache, die Laufzeit bis alles geladen ist, bleibt bei 1,28 Sekunden. Und natürlich hatte ich mit Cache-Cleaner AddOn in Firefox den Browsercache jedes Mal gelöscht.


    Frage: Was ist eigentlich der Unterschied zwischen dem Joomla-internen Cache und dem Caching, das ich mittels htaccess aktivieren kann?

    Sorry wegen meiner verzögerten Antwort:

    Elwood Die neue Website hatte ich ja online entwickelt. Ich hatte der Klarheit halber nur darauf hinweisen wollen, dass ich sie in dem Verzeichnis auf dem Webserver belassen habe, in dem ich sie aufgebaut habe. Der zunächst beobachtete Fehler ist also nicht auf eine Änderung des Verzeichnisses zurück zu führen, in dem die Joomla-Installation liegt. Ich betreibe mehrere Websites auf dem Webspace und jede hat natürlich ein eigenes Verzeichnis.


    eumel1602 Danke für deinen Hinweis! Ja die Schriftfarbe im Menü werde ich noch optimieren. Darf ja auch noch ein wenig größer werden.


    Ja das mit den Großbuchstaben am Anfang in Menüs und Überschriften sehe ich anders.


    Betr. Impressum im Hamburgermenü:

    Ja, man könnte es so sehen, dass das rechtlich nicht einwandfrei ist. Ich glaube, da bist du sehr genau. Aber in dieser Hinsicht gibt es noch viel mehr Dinge, wo die Rechtslage unklar ist:

    OSM-Karte Beispiel ist auch die Art, wie ich auf der Homepage die OSM-Karte eingebunden habe. Es gibt die Ansicht, dass eine Zweiklick-Lösung erforderlich sei, um die Karte angezeigt zu bekommen. Ich sehe es so, dass jeder externe Link auf der Website dann ja ebenfalls / analog dazu nur mit zwei Klicks erreichbar sein dürfte.

    Und was ist mit der Matomo-Analyse?

    Ich nutze die cookiefreie Einstellung von Matomo. Und da auch sonst keine Komponente Cookies setzt, muss ich dann dennoch ein Cookie-PoUp schalten?

    Und nochmals Matomo: Ich anonymisiere alle erfassten Daten von Anfang an. Aber grundsätzlich erfasse ich schon die Daten, die ja dann nicht personenbezogen sind. Nicht personenbezogene Daten unterliegen aber eigentlich nicht der DSGVO. Ist es demnach dennoch erforderlich, ein OptIn / OptOut anzubieten? Wenn ja, dann müsste das aber ähnlich wie ein CookieBanner oder Cookie-PopUp direkt bei Beginn des Besuchs der Site gezeigt werden sodass der Besucher jeglicher Analyse (also auch nicht personenbezogener Daten) widersprechen kann.