Auschließen einzelner Artikel vom Caching

Gesperrt
chriz_the_wiz
Beiträge: 27
Registriert: Fr 23. Jun 2006, 14:13
Kontaktdaten:

Auschließen einzelner Artikel vom Caching

Beitrag von chriz_the_wiz »

Hallo,

mir ist ein Bug in der Frontend-Klasse /includes/class.concache.php aufgefallen.
In der Funktion cConCacheHandler() sind folgende Zeilen wirkungslos:

Code: Alles auswählen

		
                // check if current article shouldn't be cached (by stese)
		$sExcludeIdarts = getEffectiveSetting('cache', 'excludeidarts', false);
		if ($sExcludeIdarts && strlen($sExcludeIdarts)>0) {
			$sExcludeIdarts = preg_replace("/[^0-9,]/", '', $sExcludeIdarts);
			$aExcludeIdart  = explode(',', $sExcludeIdarts);
			if (in_array($GLOBALS['idart'], $aExcludeIdart)) {
				$this->_bEnableCaching = false;
				return;
			}
		}
Die Methode getEffectiveSetting() liefert nichts. Vermutlich wird die Funktion vorher nicht includiert. Dadurch bringt die Mandanteneinstellunge 'cache' -> 'includeidarts' -> 'idart1, idart2, ...' nichts.

Ich würde mich über einen Lösung freuen.

Beste Grüße,

Chriz


Server Betriebssystem Apache/2.2.16
PHP Datenbankerweiterung mysql
Datenbankserver-Version 5.1.54-log
Installierte PHP-Version 5.2.11
safe_mode Deaktiviert
magic_quotes_gpc Aktiviert
magic_quotes_runtime Deaktiviert
Zuletzt geändert von Oldperl am Mo 23. Mai 2011, 15:53, insgesamt 1-mal geändert.
Grund: Moderation: Bug im Titel entfernt, da kein Bug
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auschließen einzelner Artikel vom Caching

Beitrag von Oldperl »

Hallo Chriz,

kein Bug, daher habe ich den Titelzusatz wieder entfernt. Es funktionier Alles so wie es soll. 8)

Code: Alles auswählen

getEffectiveSetting('cache', 'excludeidarts', false);
Die Funktion fragt die Systemeinstellungen ab (System, Client, User) und sucht dabei nach Einträgen "cache | excludeidarts". Findet sie einen solchen Eintrag (kommaseparierte Liste der idart von Artikeln) wird damit weitergearbeitet, findet sie keinen, nimmt sie den Standardwert "false" (letzter Parameter) und kommt dann, selbstverständlich, nicht in den Verarbeitungsprozess.

Du kannst dazu einfach mal für deinen Mandanten eine Mandanteneinstellung mit cache | excludeidarts | [kommaseparierte Liste idart] machen, und dann den Cache aktivieren. Für die angegebenen Artikel sollte es kein Caching geben.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
chriz_the_wiz
Beiträge: 27
Registriert: Fr 23. Jun 2006, 14:13
Kontaktdaten:

Re: Auschließen einzelner Artikel vom Caching

Beitrag von chriz_the_wiz »

Hi Ortwin,

vielen Dank für die schnelle Antwort.
Die Mandanteneinstellung hab ich gemacht (Schreibweise ist richtig). Caching ist aktiv. Allerdings kommt von der getEffectiveSetting() nichts an.

Ich habe zur Probe die besagte Zeile auskommentiert. Dann habe ich mir eine eigene Variable $sExcludeIdarts geschrieben und sie mit einem String befüllt, der die kommagetrennten Idarts enthält. Dann funktioniert der Ausschluß der Artikel auch wunderbar.

Ich werde auf einer anderen Installation nochmal eine Gegenprobe machen.

Bis gleich,

Chriz
chriz_the_wiz
Beiträge: 27
Registriert: Fr 23. Jun 2006, 14:13
Kontaktdaten:

Re: Auschließen einzelner Artikel vom Caching

Beitrag von chriz_the_wiz »

Hi Ortwin,

läuft alles tacko. Meine Mandanteneinstellungen wurden nach einem Serverumzug nicht richtig übernommen. Da war der Haken.
Vielen Dank noch einmal. Ist eigentlich geplant, das Caching System noch ein wenig granularer aufzubauen? Toll wäre es einzelne Module vom Caching auszuschliessen.

Beste Grüße,

Chriz
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Auschließen einzelner Artikel vom Caching

Beitrag von Oldperl »

Hallo Chriz,
chriz_the_wiz hat geschrieben:Ist eigentlich geplant, das Caching System noch ein wenig granularer aufzubauen?
Nun, generell ist geplant das Frontend zukünftig "neu" zu strukturieren und in Bezug auf Performance und Caching optimaler zu gestalten. Ansätze und Ideen sind vorhanden, wann es da etwas "greifbares" geben wird, kann ich zeitlich nicht wirklich abschätzen. Ich denke aber, das auch Ideen aus der Community da noch mit einfliessen werden, diverse Vorschläge gibt es ja schon im entsprechenden Forenbereich. Mal schau was da noch so kommt.
Ob man das Caching bis hin zur Modulebene differenzieren sollte ist ein Punkt, über den zumindest ich mir bisher nicht wirklich einen Kopf gemacht habe.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Gesperrt