User Tools

Site Tools


Administration of JotCache Plugin

Because JotCache Plugin is advanced replacement of System - Cache it is necessary to disable system cache plugin in Administration > Extensions > Plugin Manager.

Open in administrator Plugin Manager the JotCache plugin, review parameters and set their values to required operation mode. JotCache plugin has four tabs :

  • Plugin (basic settings)
  • Cache Operation Modes - selection of cache activity depending on visitor browser
  • Cache Storage - selection between server file system or memcached server
  • Advanced (settings) - not often used but necessary for special cache setup

Plugin basic settings

Explanation

1. Cache lifetime - Cached web page remains x minutes stored in page cache

2. Cache Auto Clean – This function is used for deleting of expired cached pages from JotCache cache. The cleaning is enabled by setting of positive integer x representing number of minutes. Automatic cleaning process starts initially postponed after each x minutes.

Cleaning activity is limited to max. 500 ms duration. Remaining expired cache items are then deleted during next user requests each time with max. 500 ms duration until all expired items are deleted from the cache.

Short overview about the cleaning process can be logged in plg_jotcache.autoclean.log.php if JotCache Clean Log parameter is set to Yes.

3. Autoclean Mode (Fast, Medium, Slow) – controlling autoclean behavior and usage of server memory for this task.

Recommended for middle sized web sites is Fast setting, for large ones you have to experiment with Medium/Slow settings.

4. Clean Log – Log is created in Joomla top directory 'logs' with the name 'plg_jotcache.autoclean.log.php'. Each cleaning run is represented with one log line in this format :

date       time     message        
2010-12-04 12:40:50 last deleted : Y 

or in case when cleaning takes more as 500 ms. is logged also additional information about point of interruption:

date       time     message        
2010-12-04 12:40:50 interrupted on : (X|F) last deleted : Y

where

X – represents number of last processed segment
F – represents name of last processed cache file
Y - represents number of deleted pages

The optimal autoclean mode setting is the one with small number of interruptions and reasonable usage of internal server memory.

5. Domain Filter - allows page caching only for selected web domains.

6. URL Cache Selection - Processed frontend pages are included or excluded from caching based on this plugin parameter. Fine selection which pages are influenced is defined on JotCache component form “Include URL / Exclude URL

7. Global exclude

USE ONLY IN THE CASE WHEN JOTCACHE COMPONENT EXCLUDE IS NOT ENOUGH.

In some very rare cases can Joomla request contain 'virtual' component link which does not belongs to installed components stored in the Joomla database. In such case when you need to exclude specific links and/or pages from caching here is possibility to define parts of URL (key=value pair) which are excluded.

After saving JotCache parameters check if the JotCache plugin is enabled and located as last item in system plugins list (if it is not then correct status and items order).

Cache Operation Modes

1. Operation Mode – For each browser category is possible to select own operation mode:

  • Exclude from caching
  • Use common cache (for different browser categories)
  • Use individual cache

Explanation for excluded/common/individual operation mode

Excluded - entire group of browser types (e.g. 'phones') is excluded from caching

Individual - entire group of browser types (e.g. 'phones') has its own common page cache

Common - means that one or several groups of browser types (e.g. 'desktops','tablets') share base page cache

2. Bots exclude – If enabled then visiting crawlers (bots) shall access non-cached pages - important in some cases e.g. image lazy loading.

3. Cache Debug Log - used for troubleshooting. Default setting is 'No'. Logging of all important steps of page caching can be achieved with selection 'Verbose'. With setting 'Errors only' are logged only error messages.

Cache Storage

JotCache has possibility to choose from two different cache storages :

  • server file system (default)
  • memcached server (with 2 different PHP modules operation)

Access to memcache and/or memcached PHP modules is available only if they are installed and they are accessable from Joomla.


Memcached storage for JotCache requires :

  • Memcached server (service on Windows) which usually listening on port 11211
  • PHP module memcache (lighter, oldier solution) or PHP module memcached (newer solution)

Fast check what is installed on host server can be done inside Joomla in following way :

  1. open Joomla backend System/Global Configuration/Server and open combobox Cache Handler
  2. open Joomla System/System Information/PHP Information and search for memcache or memcached module

Advanced


1. Browser caching - Web server is forcing the site visitor browser to local caching of sent content.

USE with high care. Setting this parameter to 'Yes' caches all pages on user browsers with NO reloading from the site server during browser cache lifetime.

Browser Cache lifetime is set for each top URI path on component special form. Web page is local cached in browser and it remains x minutes valid (during this time browser shall not call any more the site server for page loading but the page is recalled from browser local cache). This behavior can be overridden pressing Reload button on the user browser toolbar. Then the browser calls again server for page loading.

2. Edit Page Invalidate
In previous versions of JotCache (ver.5.0 and before) when registered user with permission to create/edit frontend page was logged-in he could change content without any limitation but after his logout the page old content was shown until expiration or invalidation of the cached page. Such approach has its advantage (only final/reviewed content is shown to public) but in some cases is requested to immediately show new content to the public directly from cache. Here is possible in JotCache ver.5.1 to enable plugin parameter 'Edit Page Invalidate'.

With plugin parameter 'Edit Page Invalidate' set to 'Yes' is active automatic deletion of page (edited in frontend) from the cache. User performing frontend page edit must have at least CREATE user permission (in standard Joomla permission assignment Author group and above).

3. Cookies Split - This input box is used to distinguish pages with same URL and browser access but with different cookie values. Cookies split is allowing separate cache storage for each unique set of cookie name/value definitions.

For forcing cookies split it is necessary to set each one cookie definition per line into this input box. Cookie definition consists from following line definition :

#cookieName

After correct setting of cookies split are the active cookies which were recognized during page caching shown on component Management view :

Show cookies parameter in JotCache component Options have to be set to Yes.


4. Cache split based on selected session variables
Some Joomla extensions use identical URL for pages with different content based on visitor session. When data for each visitor depends on small number of distinct values which are stored in session variable then it is possible to differentiate content also in case of the same URLs. One example can be currency selection on Virtuemart pages. The language code is stored in session variable 'virtuemart_currency_id'. When we put session variable name with leading character '#' (each session variable definition on separate line in case of multiple variables) then JotCache performs full recognition of currencies for cached pages.

5. JS & CSS Integration
JotCache 5.2.0 has new feature, which was longer time expected from site administrators, allowing close collaboration with Joomla js&css optimization extensions. Four most used extensions were selected : JCH Optimize, Rokbooster, JBetolo and Scriptmerge. Each of them is using different internal processing to combine and compress website assets - html, javascript, css files. After evaluation on test servers were choosen three of them - JCH Optimize, Rokbooster and Scriptmerge for possible integration with JotCache. JBetolo was rejected because of unstable operation with page cache.

The selection of which of named extension shall be linked to JotCache operation is simple action on JotCache plugin setup form (Cache Operation Modes tab) :

But before the integration with JotCache set page caching off for carefull testing of asset processing in selected extension. It is not simple & fast operation because you have usually many different parameters for setup and you need carefully check site pages for optimal settings. When you are satisfied with asset processing then you can enable JotCache operation. JotCache can accept different settings of asset extension but for Rokbooster is required to set parameter 'Scan Method' to value - Joomla Header Scan :

The integration is working properly when all combined files (js and/or css) are loaded correctly with cached page even in case when combined files are cleaned from its own cache.