CnC: Cache&Compress für CMSimple_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 3330
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by frase » Thu Nov 28, 2019 9:03 am

@Holger
Falls du irgendwann mal wieder an CnC herangehst, ist vielleicht dieser Artikel auch noch beachtenswert.
So richtig hilft der zwar nicht - ich wüsste jetzt auch nicht, was man machen soll, außer auf HTTP2 zu vertrauen - interessant ist er aber allemal.

Holger
Site Admin
Posts: 3209
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by Holger » Thu Nov 28, 2019 10:41 am

frase wrote:
Thu Nov 28, 2019 9:03 am
Falls du irgendwann mal wieder an CnC herangehst, ist vielleicht dieser Artikel auch noch beachtenswert.
Hatten wir schon hier (und natürlich verworfen, da gegen die Spezifikation).
BTW: meiner kann schon HTTP2 :) .

olape
Posts: 1147
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by olape » Thu Apr 09, 2020 6:55 pm

Im Zusammenhang cnc mit der Nutzung eines anderen Plugins (Swiper_XH), welches den Output nachträglich noch manipulieren muss (XH_afterFinalCleanUp()), ist uns ein Problem mit cnc aufgefallen.
viewtopic.php?f=29&t=16093&p=74851&hilit=cnc#p74851
Unter https://swiper-xh.penschke.net/?Download haben wir hierfür einen kleinen Patch bereitgestellt.

Ein anderes Problem, welches wir noch nicht lokalisieren konnten ist eine fehlerhafte Ausgabe mit cnc.
Die Einstellung compress html hat keinen Einfluss auf das Ergebnis.

ohne cnc:

Code: Select all

<div class="swiper-pagination ... ">
    <span class="swiper-pagination ... aria-label="Go to slide 1">1</span>
    <span class="swiper-pagination ... aria-label="Go to slide 2">2</span>
    <span class="swiper-pagination ... aria-label="Go to slide 3">3</span>
</div>
mit cnc

Code: Select all

<div class="swiper-pagination ...">
    <span class="swiper-pagination ... aria-label="Go to slide 1">1
        <span class="swiper-pagination ... aria-label="Go to slide 1">2
            <span class="swiper-pagination ... aria-label="Go to slide 1">3</span>
        </span>
    </span>

cmss
Posts: 196
Joined: Mon Jan 02, 2017 6:15 pm

Re: CnC: Cache&Compress für CMSimple_XH

Post by cmss » Fri Apr 10, 2020 11:39 am

In diesem Zusammenhang eine kleine Bemerkung : CnC hat zwar einen Cache, fasst aber nicht alle Css'e und alles Js'e jeweils in einer *combined-Datei zusammen, die dann anstelle der anderen css-js im Header bzw. Footer erscheint. (Dazu https://github.com/bennettstone/magic-min oder https://github.com/Schepp/CSS-JS-Booster). Selbst wenn das ohne Kompression geschähe, würde das schon Pagespeed bringen. Das ist natürlich leichter gesagt als mal so eben getan.
Last edited by cmss on Fri Apr 10, 2020 6:27 pm, edited 3 times in total.

frase
Posts: 3330
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by frase » Fri Apr 10, 2020 12:28 pm

cmss wrote:
Fri Apr 10, 2020 11:39 am
In diesem Zusammenhang eine kleine Bemerkung : CnC hat zwar einen Cache, fasst aber nicht alle Css'e und alles Js'e jeweils in einer *combined-Datei zusammen, die dann anstelle der anderen css-js im Header bzw. Footer erscheint.
Diese "Optimierungs-Möglichkeit" wurde schon bei der Ersveröffentlichung vom Autor selbst bemerkt (im Abschnitt ToDo).

Du könntest ja das Plugin forken und (unter Einhaltung des Copyrights) aktualisieren.
Wir bräuchten solche Aktualisierungen dringend, auch bei anderen Sachen.

frase
Posts: 3330
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by frase » Fri Apr 10, 2020 12:41 pm

olape wrote:
Thu Apr 09, 2020 6:55 pm
Ein anderes Problem, welches wir noch nicht lokalisieren konnten ist eine fehlerhafte Ausgabe mit cnc.
Die Einstellung compress html hat keinen Einfluss auf das Ergebnis.

ohne cnc:
...
mit cnc
...
Meine Vermutung:
In swiper.min.js wird der zitierte Bereich mittels JS zusammengebaut.
An vielen Stellen wird mit den Anführungszeichen "jongliert" ;-)
Beispiel:

Code: Select all

paginationHTML = "<span class=\"" + (params.currentClass) + "\"></span>"
Offensichtlich "stolpert" CnC bei der MInifizierung über solche Stellen - und tut zu viel des Guten.
Das ist allerdings nur eine Vermutung.

lck
Posts: 1976
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by lck » Fri Apr 10, 2020 4:11 pm

frase wrote:
Fri Apr 10, 2020 12:41 pm
Offensichtlich "stolpert" CnC bei der MInifizierung über solche Stellen - und tut zu viel des Guten.
:? Hilft dieser Fix von Holger evtl. weiter.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 3330
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CnC: Cache&Compress für CMSimple_XH

Post by frase » Fri Apr 10, 2020 5:34 pm

lck wrote:
Fri Apr 10, 2020 4:11 pm
:? Hilft dieser Fix von Holger evtl. weiter.
Leider nicht.
Danke fürs Raussuchen.

cmss
Posts: 196
Joined: Mon Jan 02, 2017 6:15 pm

Re: CnC: Cache&Compress für CMSimple_XH

Post by cmss » Fri Apr 10, 2020 6:10 pm

Zu einem Plugin werde ich wohl erst im Sommer kommen. Es gibt übrigens nach https://uncoverwp.com/course/increase-p ... -with-php/ eine einfache Möglichkeit der Kompression von Dateien, die man evtl. auch für js anpassen kann. Das php kann man einfach in den header einbinden. (Ich habe in meinen persönlichen Templates am Anfang <?php if (!$adm) ob_start("ob_gzhandler"); stehen, was bei mir 3 pagespeed- Punkte bringt.)
<?php
header('Content-type: text/css');
ob_start("compress");
function compress( $minify )
{ /* remove comments */
$minify = preg_replace( '!/*[^*]**+([^/][^*]**+)*/!', '', $minify );
/* remove tabs, spaces, newlines, etc. */
$minify = str_replace( array("rn", "r", "n", "t", ' ', ' ', ' '), '', $minify );
return $minify;
}
/* css files for combining */
include('reset.css');
include('application.css');
include('responsive.css');
ob_end_flush();
Im Template dann <link href="assets/css/minified.css.php" rel="stylesheet"> Den Rest macht mod_deflate sowieso.
P.S. Zur Js-Kombination ein paar Links
https://electrictoolbox.com/combine-min ... cript-php/ --- https://www.sanwebe.com/2013/09/combine ... s-with-php --- https://cmscanbesimple.org/blog/easy-wa ... s-and-code --- https://gist.github.com/brokyzz/469f896cde74ed0248b2 ---
Man kann oben die Stylesheet.css in style.csss umbenennen und anstelle von minified.css.php stylelsheet.css.php verwenden.
So hat man allerdings immer noch keinen Cache.

Post Reply