<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://fbb.just4test.de/extern.php?action=feed&amp;tid=297&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Informationen für CMS/made simple / [GELÖST] 1 Request Web's im Standard möglich]]></title>
		<link>http://www.cmsmadesimple.de/forum/viewtopic.php?id=297</link>
		<description><![CDATA[Die aktuellsten Beiträge in [GELÖST] 1 Request Web's im Standard möglich.]]></description>
		<lastBuildDate>Fri, 09 Sep 2016 16:14:08 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=39197#p39197</link>
			<description><![CDATA[<p>Passt schon <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/smile.png" alt="smile" /></p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Fri, 09 Sep 2016 16:14:08 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=39197#p39197</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=39188#p39188</link>
			<description><![CDATA[<div class="quotebox"><cite>NaN schrieb:</cite><blockquote><div><p>Der Vollständigkeit zuliebe hier mal ein ähnliches Plugin für CMSms:</p></div></blockquote></div><p>Hab das Plugin mal aktualisiert und mangels Schöpfungshöhe dich als Autor drin gelassen.</p><p><a href="https://www.cmsmadesimple.de/forum/viewtopic.php?id=4865" rel="nofollow">https://www.cmsmadesimple.de/forum/view … hp?id=4865</a></p><p>Hoffe, das ist okay für dich <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/wink.png" alt="wink" /> ...</p>]]></description>
			<author><![CDATA[dummy@example.com (cyberman)]]></author>
			<pubDate>Fri, 09 Sep 2016 06:45:21 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=39188#p39188</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2888#p2888</link>
			<description><![CDATA[<div class="quotebox"><cite>piratos schrieb:</cite><blockquote><div><p>Browsertools sind überflüssig und kosten zuviel Zeit.</p></div></blockquote></div><p>Eben deshalb halte ich es ja für übertrieben.</p><div class="quotebox"><cite>piratos schrieb:</cite><blockquote><div><p>man muss sich nur auf 6 Browsertypen beschränken <strong>und die Version kennen</strong>, dann hat man es und liegt dann über 99,6% Abdeckung.</p></div></blockquote></div><p>Und genau aus dieser Unkenntnis heraus habe ich mich erstmal nur auf den IE beschränkt.</p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Mon, 31 Jan 2011 18:07:16 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2888#p2888</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2880#p2880</link>
			<description><![CDATA[<p>Also auch wenn wir jetzt Opera 11 schreiben muss es mindestens 9.8 sein z.B. , man muss sich nur auf 6 Browsertypen beschränken und die Version kennen, dann hat man es und liegt dann über 99,6% Abdeckung.</p><p>Für übertrieben halte ich das nicht.</p><p>Browsertools sind überflüssig und kosten&#160; zuviel Zeit.</p>]]></description>
			<author><![CDATA[dummy@example.com (piratos)]]></author>
			<pubDate>Mon, 31 Jan 2011 17:16:00 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2880#p2880</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2879#p2879</link>
			<description><![CDATA[<p>Wer es ganz genau nehmen will, kann auch gerne das Plugin <a href="http://dev.cmsmadesimple.org/projects/browsertools" rel="nofollow">{browsertools}</a> nehmen um die Browserkennung durchzuführen und für jeden Typ jede einzelne Version zu berücksichtigen.<br />Das Plugin dürfte so ziemlich alle bekannten Browser erkennen.<br />Halte ich aber zumindest hierzulande für übertrieben.</p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Mon, 31 Jan 2011 16:42:56 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2879#p2879</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2878#p2878</link>
			<description><![CDATA[<p>Ein Problemchen&#160; liegt noch darin das die NaN Browsererkennung keine Typen und Versionen anderer Hersteller berührt, da gibt es auch noch diverse Altlasten die das nicht verarbeiten können.</p>]]></description>
			<author><![CDATA[dummy@example.com (piratos)]]></author>
			<pubDate>Mon, 31 Jan 2011 15:40:47 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2878#p2878</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2877#p2877</link>
			<description><![CDATA[<p>ups&#160; <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/yikes.png" alt="yikes" /> </p><p>Danke <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/smile.png" alt="smile" /></p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Mon, 31 Jan 2011 15:13:34 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2877#p2877</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2876#p2876</link>
			<description><![CDATA[<p>Das </p><div class="codebox"><pre><code>unset($base64_img_location);</code></pre></div><p> soll doch bestimmt </p><div class="codebox"><pre><code>unlink($base64_img_location);</code></pre></div><p> bedeuten.</p>]]></description>
			<author><![CDATA[dummy@example.com (mountain)]]></author>
			<pubDate>Mon, 31 Jan 2011 15:09:56 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2876#p2876</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2859#p2859</link>
			<description><![CDATA[<p>Der Vollständigkeit zuliebe hier mal ein ähnliches Plugin für CMSms:</p><div class="codebox"><pre class="vscroll"><code>&lt;?php
#-------------------------------------------------------------------------------
#
# Smarty Plugin : {base64_image}
# Purpose       : This plugin returns a base64 encoded image for embeding in css
# Author        : Georg Busch (NaN)
# Copyright     : 2011 Georg Busch (NaN)
# Version       : 1.0
# License       : GPL
#
#-------------------------------------------------------------------------------

function smarty_cms_function_base64_image($params, &amp;$smarty) 
{
    global $config;
    $img_path = $config[&#039;uploads_path&#039;] . DIRECTORY_SEPARATOR . $params[&#039;dir&#039;];
    $base64_img = $img_url = $config[&#039;uploads_url&#039;] . &#039;/&#039; . $params[&#039;dir&#039;];
    
    $ie = false;
    $ie_version = 0;
    $user_agent = isset($_SERVER[&#039;HTTP_USER_AGENT&#039;]) ? strtolower($_SERVER[&#039;HTTP_USER_AGENT&#039;]) : false;
    if( stripos($user_agent,&#039;msie&#039;) !== false &amp;&amp; stripos($user_agent,&#039;opera&#039;) === false ) {
        $ie_props = explode(&#039; &#039;,stristr(str_replace(&#039;;&#039;,&#039;; &#039;,$user_agent),&#039;msie&#039;));
        $ie_version = preg_replace(&#039;/[^0-9,.,a-z,A-Z-]/&#039;,&#039;&#039;,str_replace(array(&#039;(&#039;,&#039;)&#039;,&#039;;&#039;),&#039;&#039;,$ie_props[1]));
        $ie = true;
    }
    
    $img_formats = array(&#039;png&#039;,&#039;jpg&#039;,&#039;jpeg&#039;,&#039;gif&#039;);
    $filetype = &#039;&#039;;
    $use_mime = (isset($params[&#039;use_mime&#039;]) &amp;&amp; $params[&#039;use_mime&#039;] == true);
    if($use_mime)
    {
        if (version_compare(PHP_VERSION, &#039;5.3.0&#039;) &gt;= 0 &amp;&amp; function_exists(&#039;finfo_open&#039;))
        {
            $finfo    = finfo_open(FILEINFO_MIME_TYPE);
            $filetype = strtolower(finfo_file($finfo, $img_path));
            finfo_close($img_path);
        }
        else if(function_exists(&#039;mime_content_type&#039;))
        {
            $filetype = strtolower(mime_content_type($img_path));
        }
    }
    else
    {
        $fileinfo = pathinfo($img_path);
        if(isset($fileinfo[&#039;extension&#039;]))
        {
            $filetype = strtolower($fileinfo[&#039;extension&#039;]);
        }
    }
    $filetype = str_replace(&#039;image/&#039;,&#039;&#039;,$filetype);
    
    if(($ie &amp;&amp; $ie_version &gt;= 8) || !$ie )
    {
        $base64_img_location    = $config[&#039;previews_path&#039;] . DIRECTORY_SEPARATOR . base64_encode($img_path) . &#039;_&#039; . basename($img_path);
        $base64_img_file_exists = file_exists($base64_img_location);
        $img_file_exists        = file_exists($img_path) &amp;&amp; is_file($img_path) &amp;&amp; in_array($filetype,$img_formats);
        if($base64_img_file_exists
        &amp;&amp; (($img_file_exists &amp;&amp; filemtime($base64_img_location) &gt; filemtime($img_path)) || !$img_file_exists)
        &amp;&amp; (($ie_version &lt; 9 &amp;&amp; filesize($base64_img_location) &lt; 32768) || $ie_version &gt;= 9 || !$ie))
        {
            $base64_img = file_get_contents($base64_img_location);
        }
        else
        {
            @unlink($base64_img_location);
            if(file_exists($img_path) &amp;&amp; is_file($img_path) &amp;&amp; in_array($filetype,$img_formats))
            {
                $base64_img = &#039;data:image/&#039;.$filetype.&#039;;base64,&#039;.base64_encode(file_get_contents($img_path));
                if($fh = fopen($base64_img_location, &#039;w&#039;))
                {
                    fwrite($fh,$base64_img);
                    fclose($fh);
                }
                if($ie &amp;&amp; $ie_version &lt; 9 &amp;&amp; filesize($base64_img_location) &gt; 32768)
                {
                    $base64_img = $img_url;
                }
            }
        }
    }
    echo $base64_img;
}

?&gt;</code></pre></div><p>Verwendung: </p><div class="codebox"><pre><code>&lt;img src=&quot;{base64_image dir=&quot;Pfad zum Bild&quot; use_mime=true/false}&quot; /&gt;</code></pre></div><p>Als Rückgabewert erhält man entweder die URL zum original Bild oder Base64 URI Data.<br />Mit use_mime kann man festlegen, ob der Dateityp durch den MIME-TYPE oder anhand der Dateiendung erkannt werden soll.<br />Die Base64 Daten werden im Verzeichnis /tmp/cache/ gespeichert. (Wenn man den Zwischenspeicher löscht, löscht man auch die Base64 Daten). <br />Die Daten werden nur dann erstellt und gespeichert, wenn sie nicht schon existieren oder wenn das Änderungsdatum des Originalbildes neuer ist als die Base64 Daten.</p><p>Die IMG Tags habe ich weggelassen damit man das Script auch in den DB Stylesheets verwenden kann.<br />Internet Explorer kleiner als Version 8 bekommt generell nur die URL.<br />Internet Explorer kleiner als Version 9 bekommt nur Base64, wenn die Base64-Datei kleiner ist als 32kB .<br />Weitere Browser-Überprüfungen habe ich nicht drin.</p><br /><br /><p><span style="color: #336699">Edit:</span></p><div class="quotebox"><blockquote><div><p>Die IMG Tags habe ich weggelassen damit man das Script auch in den DB Stylesheets verwenden kann.</p></div></blockquote></div><p><span style="color: #336699">War übrigens eine dumme Idee von mir.<br />CMSms speichert die Stylesheets ja leider nicht als Templates sondern schon komplett als CSS mit allem drum und dran.<br />D.h. das base64 Bild ist da schon drin (oder auch nicht, je nachdem wer der erste Besucher war) und dadurch wird das Script nicht nochmal ausgeführt <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/sad.png" alt="sad" /></span></p><p><span style="color: #336699">Naja, muss ich mir meinen eigenen Stylesheet Tag basteln. Oder alle Styles mit ins Template packen. Beim Thema &quot;1 Request&quot; wäre das sowieso besser. Kommt allerdings drauf an wie groß die Bilder/Stylesheets werden.</span></p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Sun, 30 Jan 2011 23:05:50 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2859#p2859</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2841#p2841</link>
			<description><![CDATA[<p>Um mal Missverständnisse auszuräumen - der gepostete Code ist derjenige wie er unter pcms verwendet wird - kann man aber leicht anpassen.</p><p>UDT&#039;s sind von Nachteil weil sie aus der DB zu holen wären und wenn ein solcher Vorgang in einer Schleife wiederholt wird steigt die Last ziemlich an.</p><p>Da es ein pcms Code ist und memcache unterstützt wird ist da natürlich memcache code enthalten, den muss man für CMSMS entfernen.<br />Ich arbeite unter pcms mit allen Tricks und Mitteln und da gibt es eine ziemliche Anzahl von Powerusern deren Einsatz förmlich nach memcache schreit.</p><p>Memcache führt bei umfangreichen und vor allem reichlich unter Besucherstress stehenden Sites zu einem ordentlichen Boost, kostet aber eine Kleinigkeit.<br />Memcache wird als Dienst wie Apache oder Mysql selbst ausgeführt und beansprucht Serverram (so gut wie Null PHP Ram) und deswegen wird man es nur im Zusammenhang mit eigenem Server finden.</p><p>Auf wenig (durch Besucher)&#160; beanspruchten Websites&#160; ist memcache eher von Nachteil, bringt da wenig bis sogar etwas weniger Power, das dreht sich aber sehr schnell in das Gegenteil um wenn ordentlich etwas los ist auf der Site.</p>]]></description>
			<author><![CDATA[dummy@example.com (piratos)]]></author>
			<pubDate>Sun, 30 Jan 2011 14:41:08 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2841#p2841</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2837#p2837</link>
			<description><![CDATA[<p>So wie ich das verstanden habe, ist Memcache dazu da, um Daten im Arbeitsspeicher zu halten damit sie beim erneuten Abruf sofort zur Verfügung stehen.</p><p>eAccelerator ist dazu da, um PHP Scripte in kompilierter Form im RAM zwischenzuspeichern (shared memory), damit sie nicht erneut vom PHP Parser kompiliert werden müssen.</p><p>Ersteres entlastet den Prozess zum <em>Holen der Daten</em> (aus der DB o. woher auch immer).<br />Letzteres entlastet lediglich beim <em>Ausführen der Scripte</em>.</p><p>Beides zusammen klingt für mich nach einem ordentlichen Boost.<br />(Auch wenn es nach meinem Verständnis mehr RAM benötigen dürfte)</p>]]></description>
			<author><![CDATA[dummy@example.com (NaN)]]></author>
			<pubDate>Sun, 30 Jan 2011 13:26:09 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2837#p2837</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2831#p2831</link>
			<description><![CDATA[<p>Das mit dem &quot;echten&quot; Pagespeed is&#039; klar. Die Seite ist aber noch nicht öffentlich. Ich messe mit Firebug, das müsste doch zur Beurteilung ausreichen, oder?</p><p>Das ein UDT langsamer ist, hab ich verstanden. Liegt das erigentlich daran, dass ein UDT aus der DB geholt werden muss? Ich habe das als normales Plugin im Plugin-Ordner von CMSMS laufen. Was wäre die beste Methode für die Einbindung solcher Funktionen?</p><p>Auch das mit dem Mem_Cache habe ich wohl noch nicht ganz verstanden. Soweit ich informiert bin läuft auf dem Server eAccelerator. Der cached doch Teile der PHP Scripte. Was genau macht der Mem-Cache im Unterschied? Oder kann ich via Mem-Cache auch Daten von z.B. statische Inhalte der Festplatte bereit stellen?</p><p>Grüße<br />Nils</p>]]></description>
			<author><![CDATA[dummy@example.com (nhaack)]]></author>
			<pubDate>Sun, 30 Jan 2011 11:35:34 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2831#p2831</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2814#p2814</link>
			<description><![CDATA[<p>Daran denken Pagespeed sagt nichts über die reale Geschwindigkeit aus und das ist genau die, welche Google für seine Bewertung feststellt.</p><p>Am einfachsten ist es immer mit webpagetest.org einmal vorher und einmal hinterher zu messen.</p><p>Und so läuft&#039;s bei mnir:</p><div class="codebox"><pre class="vscroll"><code>&lt;?php

#Smarty Function dimage
#PowerCMS (c)2010 by Jan Czarnowski  (czarnowski@powercms.org)
#This project&#039;s homepage is: http://powercms.org
#
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

function smarty_function_dimage($params, &amp;$smarty) {
    global $goodbrowser, $browser,$config, $memcache,$version;
    $image = isset($params[&#039;image&#039;]) ? $params[&#039;image&#039;] : &#039;&#039;;
    $style = isset($params[&#039;style&#039;]) ? $params[&#039;style&#039;] : false;
    $cachetime = 3600;
    if ($image &lt;&gt; &#039;&#039;) {
        if ($goodbrowser &amp;&amp; !defined(&#039;RSS&#039;)) {
            $parts = pathinfo($image);
            $image2 = str_replace(&#039;../../&#039;, &#039;&#039;, $image);
            if (isset($parts[&#039;extension&#039;])) {
                
                $ext = $parts[&#039;extension&#039;];
                $extklein = strtolower($ext);
                $filename = $config[&#039;previews_path&#039;] . &#039;/dimage_gd_&#039; . md5($image);
                if (!$memcache) {
                    if (is_file($filename))
                        $data = @file_get_contents($filename);
                    else {
                        $data = base64_encode(file_get_contents($image2));
                        file_put_contents($filename, $data);
                    }
                } else {
                    $data = $memcache-&gt;get(md5($filename));
                    if (!$data) {
                        if (is_file($image2))
                            $data = base64_encode(file_get_contents($image2));
                        if ($data)
                            $memcache-&gt;set(md5($filename), $data, MEMCACHE_COMPRESSED, $cachetime);
                    }
                }
                if (strlen($data)&gt;32000 &amp;&amp; $browser==&#039;msie&#039; &amp;&amp; $version &lt; 9.0)
                    $data=&#039;&#039;;
                if ($extklein == &#039;jpg&#039;) $extklein=&#039;jpeg&#039;;
                if ($data)
                    echo &#039; &lt;img src=&quot;data:image/&#039; . $extklein . &#039;;base64,&#039; . $data . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
                else
                    echo &#039; &lt;img src=&quot;&#039; . $image . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
            }
            else
                echo &#039; &lt;img src=&quot;&#039; . $image . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
        }
        else {
            if (strpos($config[&#039;root_url&#039;], $image) === false) {
                if ($image[0] == &#039;/&#039;)
                    echo &#039; &lt;img src=&quot;&#039; . $config[&#039;root_url&#039;] . $image . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
                else
                    echo &#039; &lt;img src=&quot;&#039; . $config[&#039;root_url&#039;] . &#039;/&#039; . $image . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
            }
            else
                echo &#039; &lt;img src=&quot;&#039; . $image . &#039;&quot; &#039; . $style . &#039; /&gt;&#039;;
        }
    }
}
?&gt;</code></pre></div><p>Ein UDT ist für solche Sachen übrigens nicht sehr gut geeignet - kann ich nur davon abraten so etwas einzusetzen wenn es um Performance geht.</p>]]></description>
			<author><![CDATA[dummy@example.com (piratos)]]></author>
			<pubDate>Sat, 29 Jan 2011 10:13:17 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2814#p2814</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2807#p2807</link>
			<description><![CDATA[<p>Hab&#039;s jetzt mal wie folgt testweise aufgesetzt ... </p><p>Kleines Plug-in, dem ich sag, welches Icon ich brauche. Das Plugin bekommt als Parameter mitgegeben, ob der Browser kompatibel ist und gibt einen fertigen IMG-Tag mit Pfadnamen (nicht Kompatibel) oder Bild als data-URI zurück (wenn vorhanden aus Cache sonst erzeugen).</p><div class="codebox"><pre><code>[== smarty ==]

{dataurl}

{foreach from=$file_list-&gt;files item=&#039;file&#039;}

  {base64_file_icon file_extension=$file-&gt;extension compatible=$good_browser}

  {$file-&gt;name}

{/foreach}</code></pre></div><p>Beim ersten Aufruf (CMSMS Cache inkl. base64 -&gt; leer) braucht die Installation bei 50 Icons die jeweils einmalig vorkommen zum Ausführen etwa 0.24 Sekunden (Zeit-Angabe von CMSMS). Bei nachfolgenden Aufrufen etwa 0.12 Sekunden. Das Plugin überprüft allerdings auch den Mime-Type des Bildes, was etwas mehr Zeit kostet. Wenn man natürlich weiß, dass es immer image/png ist, oder man den mime-type mitgibt, kann man hier sicherlich noch ein bei Zeit einsparen.</p><p>Komplett ohne base64-Plugin liegen die Werte bei etwa 0.13 und 0.12 ... </p><p>Der erste Besucher nach dem Leeren des Cache muss zwar 0.11 Sekunden länger warten als ohne Einsatz des Plugins, aber ansonsten kann man den &quot;Performance-Verlust&quot; wohl ruhigen Gewissens als minimal bezeichnen, wenn überhaupt irgendwie relevant vorhanden (habe leichte Schwankungen bei beiden Werten die sich überlagern).</p><p>Damit kann ich gut leben <img src="http://www.cmsmadesimple.de/forum/plugins/ezbbc/style/smilies/big_smile.png" alt="big_smile" /></p><p>Ohne Plugin ist die Seite 29kb groß, mit 44kb (vorab hatte ich die PNG allerdings nochmal mit PNGOUTWin optimiert). Mit den extra 15kb kann ich ebenfalls gut leben ... das ist wirklich schnuppe ... </p><p>In diesem Tesfall habe ich 50 Requests auf der Seite eingesparen und 6 Page-Speed Punkte gewonnen. In Summe also ein sehr gut gelaufen Experiment. Das geht sicherlich noch ein wenig performanter und eleganter, überzeugend find ich&#039;s jetzt schon.</p><p>Grüße<br />Nils</p>]]></description>
			<author><![CDATA[dummy@example.com (nhaack)]]></author>
			<pubDate>Sat, 29 Jan 2011 02:32:02 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2807#p2807</guid>
		</item>
		<item>
			<title><![CDATA[Re: [GELÖST] 1 Request Web's im Standard möglich]]></title>
			<link>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2531#p2531</link>
			<description><![CDATA[<div class="quotebox"><blockquote><div><p>Jetzt leuchtet mir ein, dass es wenig Sinn macht, die Icons jeweils am Einsatzort als base64 einzubetten. Dann bette ich das gleiche Icon ja 20 mal ein ... das ist ja auch nicht Ziel der Übung. Oder fällt das bei Komprimierung nicht so ins Gewicht, weil der String identisch ist und geschickt in der Compression &quot;verschwindet&quot; ... kann das jemand beantworten? Dann könnte man quasi &quot;rumsauen&quot;.</p></div></blockquote></div><p>1. daran denken Images base64 codiert im Cache ablegen, damit man nicht jedes mal bzw. ein Besucher jedes mal die Codierung anwirft.<br />2. Was die Dateigröße betrifft - Icons haben Micky Maus Format - uninteressant, auch wenn die 50 x eingebunden werden.<br />3. Sprites - Aufwand groß, Nutzen klein , bei Mengen geht der Schuss wahrscheinlich nach hinten los.</p><br /><p>Bei mir gehe ich sogar soweit das ich z.B. Images die von Fremdseite stamme (z.B. Google Wetter) in den Cache ablege und zusätzlich als base64 .</p><p>Das Kunststück eines &quot;Gesamtkunstwerks&quot; ist es statt 100% dynamische Generierung zu einer Hybridversion zu werden, in dem sich statische Elemente (Cache) und dynamische die Arbeit teilen.<br />Das muss vom Ansatz gut überlegt sein, damit es prima funktioniert.</p><p>Ich habe meinen Leuten mitgeteilt, das wir mit der nächsten PCMS -Version soweit sind, das wir die Verantwortung über maximale Power den Besuchern überlassen.<br />Die haben nur dann maximale Power wenn sie mit einem aktuellen guten Browser heran gehen.</p><p>Testseiten zeigen den krassen Unterschied - 1 Request bei einem Goodbrowser,&#160; 50 Request&#039;s beim IE8 und 113 bei dem IE 7 - von Zeiten müssen wir da nicht mehr reden - nichts und niemand kann gegen eine solche Seite anstinken - was die Geschwindigkeit betrifft.<br />Einfluss nach aussen - Null mit Ausnahme einer Hinweismöglichkeit auf einen Scheiss-Browser.</p><p>Die Technik ist seit nun fast 4 Wochen im Dauereinsatz bei einer ziemlich dicken Site die damit reichlich Kohle einsparen - die aufwendigen Kosten für CDN können vollständig entfallen.</p>]]></description>
			<author><![CDATA[dummy@example.com (piratos)]]></author>
			<pubDate>Mon, 24 Jan 2011 23:04:52 +0000</pubDate>
			<guid>http://www.cmsmadesimple.de/forum/viewtopic.php?pid=2531#p2531</guid>
		</item>
	</channel>
</rss>
