[TYPO3-UG Dutch] print-weergave zonder &print=1 parameter - cache probleem.
Marijn Depraetere
marijn.depraetere at telenet.be
Sat Nov 15 14:40:13 CET 2008
Dag group,
T3: 4.2.1 in een dedicated LAMP-omgeving met APC caching op serverniveau.
Extensies:
TemplaVoila! (templavoila)
Random Images (maag_randomimage)
News (tt_news)
SmoothGallery for TYPO3 (rgsmoothgallery)
Google Sitemap for Pages and Contents (mc_googlesitemap)
Date2Calendar (date2cal)
Via TemplaVoila! heb ik, per template ook een print-vriendelijk
exemplaar voorzien. Deze print-vriendelijke template wordt opgeroepen
via een print-icoon die ik via typoscript ingebouwd heb:
<code>
# Printable version
// Create a link to a printable version of the current
// page--complete with all GET parameters needed by
// extensions:
lib.iconPrint = IMAGE
lib.iconPrint {
// The image
file = images/main-icon-printpage.gif
altText = Afdrukbare paginaversie
titleText = Afdrukbare paginaversie
border = 0
stdWrap.typolink {
// Get the id of the current page:
parameter {
data = page:uid
}
// Add whatever is in the query string:
addQueryString = 1
addQueryString {
// Account for the fact that RealURL etc
// may have manipulated the query string:
method = GET
}
// Add the 'print' parameter:
additionalParams = &print=1
// Do not cache the print version:
no_cache = 1
// Open print-page in new window
extTarget = _blank
target = _blank
}
}
}
</code>
Bovendien heb ik, in de template zelf ook een print-vriendelijk CSS
bestand ingebouwd als volgt:
<code>
<style type="text/css" media="screen">
@import url("resources/subpages-2column.css");
</style>
<style type="text/css" media="print">
@import url("resources/subpages-print.css");
</style>
</code>
Dit alles werkte, tot voor kort, perfect.
PROBLEEM
Na wat overload-problemen op onze server hebben we ervoor geopteerd om
een caching-systeem (APC) te installeren op serverniveau. We gingen af
op de aanbevelingen van dit document:
http://typo3.org/development/articles/testing-and-tuning-typo3-performance/page/2/
We hebben dus wel eAccellerator vervangen door APC.
Het probleem is dus dat niet de gewone template getoond wordt bij het
openen van een nieuwe pagina, maar de print-template wordt gebruikt.
Dit zonder de parameter &print=1. Dit gebeurt zonder enige logica.
Bijvoorbeeld:
index.php?id=1 --> Gewone template
index.php?id=2 --> Print template
index.php?id=3 --> Gewone template
Het wissen van de pagina-cache (op applicatieniveau) lost het probleem
op, maar enkel tijdelijk. Een dag later worden terug andere pagina's
verkeerd weergegeven.
VERMOEDELIJKE OORZAAK 1
Er is dus duidelijk een cache-probleem, maar ik weet niet hoe dit op te
lossen valt en wat de oorzaak is. Hoe gaat het caching van typo3
pagina's eigenlijk in zijn werk? Kan het zijn dat de APC op
serverniveau de cache op applicatieniveau opslaat en deze aanbrengt als
de correcte pagina?
VERMOEDELIJKE OORZAAK 2
Ik heb indexed_search recent vervangen door een google-searchbox. Ik
weet dat indexed_search ook de pagina's in zijn eigen cache zette. Kan
het zijn dat er nog wat neveneffectten ontstaan zijn hierdoor? De APC
is wel maar geactiveerd na het uitschakelen van de indexed_search.
Alvast bedankt voor het meedenken,
Marijn Depraetere
More information about the TYPO3-UG-dutch
mailing list