JotCache Frequently Asked Questions

This part od Q & A serves to clarification / explaination of different functions of JotCache extension.

Basic informations

Which extensions belongs to JotCache ?

 

JotCache solution has following parts of operation :

  1. JotCache plugin (system) - core unit for realtime page caching
  2. JotMarker plugin (system) - used solely for recognition of modules excluded from caching
  3. plugins in the group of jotcacheplugins :
    1. Crawler plugin - can crawl through site pages to the selected depth (counted from root of Joomla site)
    2. CrawlerExt plugin - similar function as Crawler but using other walk algorithm
    3. Recache plugin - which crawls only through selected already cached pages which are stored in JotCache database (managed by JotCache component)
  4. JotCache component
  5. Cron script template which is necessary to be customized to each site individually. This script is used for cache garbage collection (removing of expired cached items from the server file system).
  6. Cron recache script template (which can be coded for same tasks as performed by plugins in the group of jotcacheplugins (see #3)
  7. JotEasyCron as standalone solution for administrators which cannot use standard cron jobs on provider servers. JotEasyCron can be set to regulary perform tasks as standard cron scripts (see #5 / #6).

Which are major JotCache functions ?

 

Function groups implemented in JotCache can be described in following way :

  1. main operation mode :
    1. which cache storage have to be used - e.g. file system, memcached, redis
    2. where to perform caching - selection of server cache (most used mode) or browser caching (very special case)
    3. one site / multisite operation
    4. one cache lifetime (expiration time) or many different lifetime settings for chosen groups of pages
    5. global rule for page URL processing - include or exclude chosen URLs from page caching
  2. exclusions from caching :
    1. of entire page based on page URL
    2. of chosen template positions for modules which have to be excluded
    3. based on visitor access (bots, crawlers, user browser agent)
  3. cache split - using different spaces in cache storage based on :
    1. user browser agent
    2. page cookies
    3. session variables
  4. recache of site pages - manually in JotCache component or automatically using server cron job
  5. cache clean - removing expired cached pages from cache storage to keep memory space in reasonable size
  6. setup tools - different debugging , logging and marking functions to support administrator setup

What are basic principles of JotCache operation which is needed to take in care ?

 

At first here it is necessary to have good knowledge about Joomla system caching – good overview gives this article (old but still valid). JotCache is built on top of Joomla system caching (global caching have to be set on, system (Page) Cache plugin have to be set off – details in JotCache Help).

JotCache is page cache type (fastest for entire page content delivery). Caching is done in the following manner :

  1. in the cache storage are cached pages with all page modules (when they are not excluded in JotCache Component)
  2. passive modules (without any user input) which have output internally modified (e.g. different counters as "Active users") can be taken out of caching processing by means Exclude Location form of JotCache component (JotMarker plugin have to be enabled)
  3. active modules with user input are during active submit not taken from the page cache but they are direct processed. The same processing (without any caching) applies to all Ajax calls. Some active modules with more steps processing (e.g. Polls) can be excluded from page caching by means of Exclude Location form of JotCache component.
    Modules which are inserted by means of any Joomla plugins into page content is not possible to exclude from caching (it is necessary to exclude entire page)
  4. page caching IS NOT ACTIVE for registred users, excluded components/views/selected pages

Caching

Can I cache separatelly pages by browser type ?

 

In case when you need to cache different page content having the same load URL (e.g. different content generated  for some browser types (IE8, IE9) or browser width (desktop, mobile)) then you can use JotCache Browser split function. You can use this setup for setting which browser types are included in common cache, which other can have individual cache storage and which one can be full excluded from page caching.

NOTE : Browser type is derived from user browser agent string during page request.

Cron

What is recommended cron job frequency ?

 

JotCache package contains two different script templates for cron job operation :

A. cron.php - for page cache cleaning (removing expired cached pages from the storage)

B. cron_recache.php - for caching of pages with two different modes :

  1. mode recache : for all pages which are already in cache storage (active as well as expired cached pages) is page by page refreshed latest available content. Range of refreshed pages can be narrowed by rules in cron script.
  2. mode crawler : which operates as known web crawlers visiting own Joomla site page by page starting with the site homepage. In this mode is possible to set depth of page linked hierarchy to limit crawling on the site.

Frequency of repeating cron runs depends on number of site pages, processing time of pages during recache and visitors load. As the first approach you can use :

for case A. run each hour of day (you can follow result of cleaning in cleaning log of JotCache when it is enabled).

for case B. run mode recache each day once in the time when load of the site is minimal

Usually used procedures

Joomla core as well as other additional 3rd parties extensions are nowadays quite complex and many times is not possible to advice any correction / setup without previous analysis what actually happens intern on the site. But some approaches can be generalized to help with 'first aid' recommendation. Here described procedures were collected from users and developers of JotCache during last 5 years.

Caching Setup

If cached content output is not correct (loosing some styling and/or some parts of the page)

 

JotCache cached output have to stored in page cache with all necessary redirects and rewrites. Other plugins in system group can make this type of processing therefore it is necessary to move JotCache plugin as last item in Plugin Manager order list (take care that you have JotCache as last item also after plugin enabling in Plugin Manager list).

It is necessary to check :

  1. if JotCache plugin is set on last position in group of Joomla system plugins
  2. if Joomla core (Page) Cache system plugin is disabled
  3. if CSS files belonging to the page are correct loaded in the browser for cached pages (it can be problem with JCH Optimize extension settings or template settings or .htaccess unsufficient rules (different subdomains or HTTP mode (https) can recall in Joomla the same internal URL but application generates in such case different content (e.g. desktop vs. mobile))
  4. if image files belonging to the page are correct loaded in the browser for cached pages (in many cases is possible to change relative URL for image from 'img_dir/img_file.xxx' to '/img_dir/img_file.xxx' (take care for leading slash '/')

How to check module exclusion ?

 

1. Check if module template position is excluded in JotCache component (see JotCache Help)

how to check module exclusion 0

 

2. In JotCache component Options select Debug tab and set 'Show file hash' to Yes

how to check module exclusion 2

3. Then you can see the hash link in JotCache Management View for each cached item

how to check module exclusion 3

4. Click on hash link of your page under investigation and you see Cached content of page inclusive information about module exclusions (exclusion count > 0)

how to check module exclusion 4

Here in shown example are recognized two module exclusions on page "Home". The details about module exclusion can be shown when you search in browser for '<jot' tags. Each excluded template position starts with opening and closing <jot...s...></jot> and ends with other pair of jot tags <jot...e></jot>.

Inserting of jot tags into cached item is performed automatically by means of JotMarker system plugin. This plugin is tight close to Joomla core module processing and it recognizes suited style attributes.

NOTE :

JotMarker cannot recognize position on site templates when :

a. site template is not using standard Joomla module processing

b. modules are inserted into page content by means of Joomla plugins (such modules are processed outside Joomla core module processing

In both described cases module exclusion in JotCache is not possible.

We have 123 guests and one member online
Copyright © 2015 JotComponents
We have 123 guests and one member online
Copyright © 2018 JotComponents