Beiträge von Re:Later

    Man macht das eh über den Zwischenschritt Joomla 4 und geht dann weiter nach Joomla 5. Unter Joomla 4 machst halt gleich ein Backup, wenn das Backend funktioniert.


    Joomla 5 hängt auch von Erweiterungen ab, ob die schon vorbereitet sind. Normalerweise sollte aber, wenn Joomla 4 schon funktioniert, auch Joomla 5 nur wenig zicken, wenn überhaupt. Hat aber kleinere Gemeinheiten dabei, je nach Template, Erweiterungen etc..


    PHP-Version siehst du dann ja, ob PHP8.3 Probleme macht. Joomla selbst sollte weitgehend vorbereitet sein.


    Übereilt Umstieg auf Joomla 5 ist aber nicht unbedingt schon jetzt nötig. 2 Jahre Zeit oder so ähnlich.

    Da weiß man natürlich zu wenig über den Kontext, wo man das einbaut, aber so blockiert man den angemeldeten Nutzer. Allerdings sollte dann auch noch ein Redirect ausgeführt werden auf eine öffentliche Seite, weil sonst sieht Benutzer eine blöde Meldung und Anmeldemaske.


    Löschen könnte man ihn ähnlich (ich zu faul gerade).

    OffTopic:, weil heute die Sonne scheint

    Ich bin ja zum Glück icon-blind. Und, ob da nun Cancel oder Close steht, wäre mir die Diskussion nicht wert gewesen ;) Lustig finde ich oft, dass so Kleinigkeiten längere Threads auf GitHub ergeben und Leute frustrieren, als Vieles, wo es wirklich nötiger wäre. Ich habe mal entnervt einen PR geschlossen, weil da wo (inkonsistent) seit Ewig "Comment" in Joomla stand und ich u.a. so wie überall sonst in Joomla für das Feld nun "Note" verwendete und das moniert wurde, während alles andere OK war.

    Ich dachte, das bezieht sich nur auf die darunter angegebenen Komponenten?

    So habe ich das getestet. Also im Normalfall alle Seiten, die im Joomla-Component-Bereich, Inhalte dieser Komponenten anzeigen.

    dann kann ich aber in Google (Search Console) gar keine Indexierung beantragen:

    Versteh ich nicht, wie du das meinst. Andere Seiten sind doch gar nicht betroffen. Und klar nöhlt die Console dann u.U. rum, dass manche Seiten wegen robots nicht indexiert werden können. Schlimmschlimmschlimm. Aber das muss einem dann wurst sein, weil man will es ja so.


    Hier unter "Einleitung", wie das Plugin denkt/arbeitet,

    Na ja, wenn man in Joomla 5, dann nicht auf die Nachricht reinfällt, die suggeriert, dass Joomla 6 jetzt viel toller ist und man doch (teils verfrüht) updaten sollte (das sind dann die kleineren Reparier-Jobs, die bei mir landen ;) ) reden wir ja von Jahren, dass das Spruchreif wird.

    Stef Du hast gefragt ;)


    ABkupfern die alte Methode, was z.B. Astroid-Framework jetzt schon leicht abgewandelt macht, wenn man im Plugin Bootstrap-Ladung aktiviert:

    Code
    $wa = Factory::getApplication()
    ->getDocument()
    ->getWebAssetManager();
    
    array_map(
    function ($script) use ($wa) {
    $wa->useScript('bootstrap.' . $script);
    },
    ['alert', 'button', 'carousel', 'collapse', 'dropdown', 'modal', 'offcanvas', 'popover', 'scrollspy', 'tab', 'toast']
    );

    oder mit der joomla.asset.json arbeiten. Ein neues Asset definieren:

    Im Template-index.php dann (in anderen Erweiterungen geht es ähnlich):


    Code
    $wa    = $this->getWebAssetManager();
    $wa->useScript('mein.bootstrap.alle');

    ergibt in Joomla 5 (in Joomla 4 lästigerweise etwas abweichend, aber vom Wunsch-Ergebnis gleich:



    Aaaber, es gibt auch weitere Tricksereien, die sich leider beim Wechsel von Joomla 4 auf 5 bisschen erschwert haben.


    Oder halt gleich in der Joomla-index.php. (Man spart sich die Anpassungen in obiger Datei). In anderen Erweiterungen ähnlich


    Code
    $wa    = $this->getWebAssetManager();
    $wa->useScript('bootstrap.alert')
    ->useScript('bootstrap.button')
    ->useScript('bootstrap.carousel')
    ->useScript('bootstrap.collapse')
    --- und so weiter ---
    ;

    So lange man mit den Bootstrap-Versionen, die Joomla mitbringt, klar kommt, einfach. Sobald Bootstrap eine weitere Bootstrap-Komponente (nicht zu verwechseln mit einer Joomla-Komponente) mitbringt, muss man nachrüsten oder sie wird halt nicht geladen.


    Fleigt eine raus, muss man nachrüsten, und sie entfernen, weil einem die Seite sonst um die Ohren fliegt.


    Will man allerdings seine eigenen Bootstrap-Varianten verwenden, dann ist weitere Feilerei nötig, die ich aber auch in der joomla.asset.json (meist) des Templates abwickle.


    Alles jedenfalls zeitraubender, sch... Denksport von Joomla-Version zu Joomla-Version ;) Was in Joomla 6 an weiteren Fiesheiten kommt, wird sich zeigen müssen.

    Was hast du denn für eine Einstellung unter Joomla-Konfiguration > links "Joomla-Update" > Update-Server

    Wenn du vorher schon auf J5 warst, sollte standard drinnen stehen. ggf. noch mal abspeicerhn die Einstellung


    Oder du sorgst dafür, dass das komplette Bootstrap (so wie früher) lädt ... gemäss Antwort von

    Nur Hinweis: Die von mir da genannte HTMLHelper-Lösung für Bootstrap flliegt mit Joomla 6 aus dem Joomla-Core. Uns soll ja nicht langweilig werden.

    Template und co sind ja ohnehin nicht kompatibel.

    Auch der Content ist nicht kompatibel.


    Richtiger, zielführender wäre vielleicht, eine Kopie der 3er in einer Subdomain aufsetzen. Beachte die Datenbank-Anfordernisse. Also die 3er-Kopie gleich mit der richtigen Datenbankversion für Joomla 5. Hier ist Akeeba-Backup bestens geeignet, falls die originale Joomla 3 noch eine zu kleine Datenbank-Version hat.


    Dort Schritte Joomla 4 nach Joomla 5 und alle Joomla-Core-Geschichten werden sauber abgearbeitet. Ich deaktiviere halt immer alles "Fremde" (Betonung auf "alles"). Danach hast ein funktionierendes Backend und saubere Datenbank bzgl. der Core-Datenbanken. Wenn du wirklich händisch machen willst, die DB in ein frisches Joomla 5 importieren, dann vergesse die Assets-Tabelle nicht! ABer ich persönlich würde dann halt gleich mit der Subdomain weitermachen, obwohl manchmal Deinstallationen hakeln bei Fremderweiterungen. Aber, wie es beliebt!

    Wenn es eine https-Seite ist, dann trage auch

    Code
    https://example.org

    ein. Man kann ja auch händisch eintippen in das Feld (ohne den Button). Umleitungen von http auf https mag der Tracker manchmal nicht.


    Der robots.txt und robots-Tags werden vom Tracker beachtet. Wenn also ein Block drinnen steht, macht der Tracker auch nix.


    Probiere in den Einstellungen im Reiter "Spider". Bei meiner eigenen Joomla-Seite ging es nicht ohne.



    Außerdem erstellt HTTrack eine Log-Datei. Manchmal hilfreich, um zumindest das Grundproblem zu finden.


    Und erwarte nicht zu viel. Je nach Features auf der Seite kann das eine oder andere Bild auch fehlen und so Kram. Meist ist Nacharbeit nötig und/oder Feinjustierung.


    Zum Testen der kopierten, lokalen Seite, schalte Internet aus. Nur dann siehst du, ob wirklich alles auch lokal vorliegt.

    Assets (CSS, JS etc.) werden bevorzugt minifiziert ausgeliefert. Das ist performanter. Joomla-Core hat z.B. für (fast) jede dieser Dateien eine "lesbare", eine minifizierte (Endung .min.css) und sogar eine GZIP-komprimierte (Endung .min.css.gz) dabei, was die Sache noch "nerviger" machen kann, wenn man was ändern will.


    Die unminifizierten liefert Joomla nur aus, wenn der Debug-Modus aktiv ist. Halt nur zum Debuggen. Nix für den Produktiveinsatz.


    Andere Erweiterungen, Frameworks, Templates haben VIELLEICHT ein Häkchen dabei, dass on-the-fly-generierte Assets nicht minifiziert ausgeliefert werden.


    Andere haben nur minifizierte Dateien dabei.


    In einem Editor kann man zumindest durch suchen/ersetzen nach jeder geschweiften Klammer

    Code
    }

    einen Zeilenumbruch reinbasteln, um sie etwas lesbarer zu machen.


    Soweit ich mich erinnere, gibt es auch Online-Tools zum Unminifizieren. Ich verwende gelegentlich einen PHP-Unminifizierer beim Erstellen von Erweiterungspaketen in der Konsole, wenn ich fremde Bibliotheken einbinde, wo mich nervt, dass nicht zusätzlich unminifizierte CSS-Dateien dabei sind, in die ich gerne mal gucke, aber dafür arbeite ich mit Composer und Gedöns.


    Aaaber, du hast nie Gewähr, dass so eine von dir manipulierte Datei dann auch Änderungen, die du einbringst, wirklich lädt. Joomla lädt bevorzugt die minifizierten, noch bevorzugter die GZIP-Dateien, selbst bei core-fremden Erweiterungen.


    Kurz: Hängt davon ab, welche Datei, von wem, wie generiert etc. pp., ob du das erreichst, was du vielleicht erreichen willst (weiß ich ja nicht, was) ;)

    Man muss es halt entspechend im Cookieprogramm angeben - dann sollte es völlig in Ordnung sein. Oder nicht?

    Es muss so sein, dass der Besucher ZUVOR einwilligt, dass Daten (woher auch immer, welche auch immer), abgefragt und gespeichert werden.


    Wenn ich z.B. auf der oben verlinkten Seite sehe, dass der Google Tags Manager als "essentiell" im Consent-Tool angegeben ist, also nicht abgelehnt werden darf, ist das vermutlich nicht rechtskonform. Was soll an dem Spionage-Tool essenziell sein? ;)


    Auch, dass Daten auf einem Google-Server gespeichert werden sollen (Spreadsheets), wird (bisher zumindest) nicht explizit erwähnt. Es bleibt vollkommen unklar, wer sonst noch Zugriff auf diese Daten hat. Die 3000 Dienstleister?


    Aber, wie die Kollegen schon sagten (siehe "Automarke"): Wie soll denn so eine dumme Webseite ohne illegale Mittel bzw. (unzuverlässiges) Tracking über mehrere Seiten hinweg, wissen, was der Besucher für eine Email-Adresse hat? Einige Seiten im Netz (ich kenne mehrere dubiose "Finanzexperten/Anlageberater") machen Downloads abhängig von der Angabe einer Email-Adresse. Auch das halte ich für nicht rechtskonform, weil die DSGVO verlangt, dass abgefragte und gespeicherte Daten zweckgebunden sein müssen. Sind sie wohl nicht in diesem Fall. Besucher muss sie aktiv und freiwillig mit dem Wissen angeben, wozu die Email abgefragt UND GESPEICHERT wird; also explizit einwilligen.


    Andere ahnen das und machen Downloads abhängig von einem Eintrag in einen Newsletterverteiler. Das ist nun wieder Zwang, der auf den Besucher ausgeübt wird, nur, damit er einen Download machen darf. Diese Emailangabe ist nicht zweckgebunden.


    Email angeben, um den Download zugeschickt zu bekommen? Dann muss die Email sofort wieder gelöscht werden und darf keinesfalls für weitere Zwecke verwendet werden. In der Grauzone vielleicht, in dieser einmaligen Email etwas Werbung unterbringen und weitere Angebote, aber mit Maß(!)


    Außerdem: Es gibt klare Aussagen über die Speicherdauer von Email-Adressen, die ein potenzieller Kunde übermittelt, selbst, wenn er mir eine Email schickt, mit Anfrage, ob ich einen Job für ihn machen will.


    Ich bin kein Rechtsanwalt, den Kunde vielleicht besser beratend zuvor einschalten sollte. Das sagt mir nur der gesunde Menschenverstand plus etwas Fachwissen.

    Was ist denn die aktive Backendsprache? Ganz düster was in Erinnerung, dass die Alias-Erstellung ab irgendwann davon abhängig war, was mich nervte. Vielleicht aber auch nur längst hinfälliges Gefasel ;)

    Hier noch die Astroid Einstellungen

    Wenn du Performance-Messungen machst, sollte Astroid-Debug-Modus natürlich auch nicht aktiviert sein, wie auch der Joomla-Debug-Modus nicht. Die rödeln nämlich ganz deutlich vor Auslieferung der Seite rum. Nebenbei habe ich ersteren noch nie benötigt. Und "Frontend Visibility of Astroid tabs" ist zwar eigentlich wurst, außer du bearbeitest Artikel etc. auch aus dem Frontend heraus, aber Performance-Messungen macht man nicht, wenn man selbst im FE angemeldet ist. Weißt du aber wahrscheinlich.


    Und, vermutlich nach dem in #10 Gesagtem auch nicht so erheblich. Die Netzwerkanalyse läuft ohne Cache, falls man das Häkchen nicht entfernt. Soll nur sagen, die Diskrepanz kann erheblich sein zu realen Besucher-Verhältnissen.

    In Joomlas Kontaktkomponente com_contact finden sich seit mehreren Joomla-Versionen (3, 4, 5) im Backend-Listen-View die Zeilen

    Code
    // Preprocess the list of items to find ordering divisions.
    // TODO: Complete the ordering stuff with nested sets
    foreach ($this->items as &$item)
    {
        $item->order_up = true;
        $item->order_dn = true;
    }

    Hier die Zeilen in Joomla 5.0.1: https://github.com/joomla/joom…ts/HtmlView.php#L102-L107


    Da ich gerade eine alte und sowie schon grauenhafte Monster-Komponente umschreibe und da diese Zeilen im Dutzend drinnen vorkommen (wohl einfach reinkopiert(?)), frage ich mich, wozu die eigentlich gut sind.


    Ich habe die gesamten Core-Codes und natürlich auch die betr. Komponente jetzt mehfach durchsucht nach order_up bzw. order_dn und auch nach nur order_, komme aber nicht dahinter, wozu das Tralala gut ist.


    Vielleicht kennt das ja wer und kann mir auf die Sprünge helfen.