JotCache ver.2.0 Help

Published: 08 September 2011

JotCache Usage

Purpose

JotCache is advanced solution for page caching in Joomla framework. This solution replaces standard System-Cache plugin and it usually works along enabled Global Cache Settings. JotCache consists from JotCache component allowing cache management and JotCache plugin performing  :

features of ver.2.0

  • Reworked cache management with faster opening on larger web sites – the cached files are presented with cached page titles and links, added more informations about cached page (browser type, language, non-routed query string), implemented items ordering, changed information about date/time of caching (incl. indication of expired or no more existing cache files)
  • Reworked exclusion of selected pages from page caching
  • Reworked plugin functions for more powerfull autoclean (garbage collection) activity and browser caching.
  • New common installer for one-step installation of JotCache component and plugin in upgrade mode

and all major features from oldier versions of JotCache

  • Possibility to set different page caches based on user browser type. Standard options allows to have different caches for Internet Explorer browsers - IE6, IE7, IE8, IE9. All other browser types are using common page cache. When used template system has separate templates for mobile phones then here is possibility to exclude mobile users from page caching.
  • Fast-changing modules on the web page can be refreshed with actual content during each user access. You can mark the module positions with fast changeable content in site template and these position will be refreshed during each user access to related web page. The rest parts of page will be taken from cached content as it is usual by standard plugin System - Cache.
  • Cached page content can be compressed before saving into the cache. JotCache Plugin has option to compress (gzlib) cached pages before storing to the cache, therefore the web access to cached content is accelerated. Compressing function covers static (page) as well as dynamic module content.
  • Possibility for site administrator to clear (to make empty) the cache only for selected pages. With accompanied JotCache Component here it is possible to see the actual cached pages linked to used component and view. You can delete the selected cached pages (marked in component list view) leaving the rest of cached pages intact. For easier finding which pages are related to changed content it is possible to mark these pages simply calling them in the frontend with mark option enabled.
  • Fast check of cache operation on production site front-end without disturbing other users. For easy overview of cache mechanism on front-end pages administrator can mark his/her browser access with specific cookie allowing to display marked page and module content (in front-end) solely to administrator.
  • Because some dynamic components (mostly forms) needs refresh after each change you can select which components and their specific views shall be excluded from page caching. Starting with JotCache ver.1.2 here is also possiblity to exclude from caching selected pages based on URL query parameters.


Cache management

Management view

JotCache management view

Opening JotCache component you have the possibility to look into one-to-one relation between cached pages and their original resource - title, original link, unrouted link (when Mark option is set on), component name, view, content id as well as parameters which have influence on separate caching – browser split (setting in JotCache plugin) and language set for cached page. Here it is necessary to remember that core of page caching with JotCache is server file system where all cached pages are stored as files. In the time of storing these files are also stored management data into database (table jotcache).

Remarks to items expiration & synchronisation

After specified cache time stored files of cached pages are no more valid – they expire. Here are important two topics for proper management : removing of expired files from file system and database as well as keeping set of stored cached items in synchronisation between file system and database.
During JotCache development were used different strategies to perform these tasks.

JotCache ver.1.0.x was presenting all pages (files) valid and expired in management view. This mixture has made difficult to manage cache and therefore starting with JotCache ver.1.1 here were two important changes to cache management operation. At first JotCache component was showing only active cached pages (pages not yet expired). Second change relates to reassigned Refresh button on the toolbar. Refresh button had no more synchronising action between database and cache file system, but it was assigned to pure refresh of cached pages list. Unfortunately extensive removing of expired items from file system and database was major obstacle for working with cache management on larger web sites (very long opening/loading).

JotCache ver.2.0.x based on administration experience with oldier versions has implemented following way of operation. For fast responses during opening/filtering management activities no removing/synchronisation of expired items from file system and database is performed.

Expired items are marked in management view with item line in italics font and Created time value is embraced with :

  • '()' for cache files expired and present in file system
  • '##' for cache files no more present in file system.

Thus the administrator has fast overview about the cache status. For refreshing view to latest content and removing of obsolete items shall be used Refresh button on Cache Management toolbar.

Presented informations about cached pages

When calling page in Joomla front-end each unique URI string represents cached item when following major conditions are fullfilled :

  • user is not registred in CMS (anonymous user)
  • it is used GET method
  • no DEBUG mode used

For cached item is presented in JotCache management view :

  • page title with link to original frontend page call (if implemented with SEF routing)
  • page call target expresed as component, view, content id (some third parties extensions are not using view, content id but they have own parameters)
  • time of item creation (server system time)
  • language set for item content
  • browser (only selection from IE6-IE9, mobile set in plugin)
  • mark with link to original page query string (can be used for page exclusion) – it is shown only after clicking on toolbar button Set Mark after frontend pages recalls

Selecting of cache items for deleting from the cache

For selection of cached pages which shall be deleted from the cache you can use following methods :

  • individual selection with checkbox on the most left position of displayed item row
  • search by page title and then use checkbox(es) for selection
  • group selection for all cached pages of selected component and/or view with appropriate selection boxes
  • selection of marked pages using Set Mark button. Pressing this button creates setting of mark cookie in administrator browser during current session and then after all visited pages in site frontend shall be marked with  visible 'Yes' in JotCache Management view. Using top selection box you can select only last visited page(s). 'Yes' mark has link to cached page with transparent URL query string (without any SEF transformations) which can be used for definitions of excluded pages (on the page shown after pressing Exclude on management view toolbar).

 

Exclusion of pages and modules from page caching

Components, views, parts of uri excluded from page caching

Starting with JotCache, ver.1.1 we have available powerfull tool for excluding components from caching process. On the toolbar of Cache Management it is located Exclude button which opens excluding form :

JotCache component exclusion

In this form are listed all components installed in Joomla CMS identified by Component Name and internal code (option) which is also one part of page URL.

You can exclude from caching entire component processing with checkbox Excluded checked and empty Views input line.  

Excluding only specific views of the component you can do with checkbox Excluded checked and Views input line contains list of excluded views separated by comma. When you want to remove component from Exclude Component list then simply uncheck appropriate checkbox and press Apply or Save button.

Here is also possibility to exclude selected pages based on parameters of URL query string. It is generally known query parameters pairs (name and value) are located in the part of URL starting with ? character and each pair is separated with & character.

For exclusion purposes here is necessary to use parameters pairs of URL query in form as they are shown in mark 'Yes' link on JotCache management view (see previous paragraph). Parameter pairs are simply inserted into given component line in Exclude Views & Query Parameters input box :

JotCache URL exclusion

This example is using parts of URL query string 'index.php?page=shop.browse&flypage=flypage.tpl&product_id=1&category_id=1&option=com_virtuemart&Itemid=56'

Multiple parameters pairs are separated with ',' character and can be intermixed with component views as described in previous section. When inserting or changing text in Exclude Views & Query Parameters input box (events 'click' and 'onchange') then automatic validation check on above described rules is performed. Only fully validated definitions are possible to save in database.

Module positions excluded from page caching

In the Joomla 1.5 CMS framework each module is placed to template specific position (see Administrator > Extensions > Module Manager / column Position. For graphical presentation see Administrator > Extensions > Template Manager, click on used template name and then click toolbar button Preview).

Module exclusions can be implemented on all Joomla templates which are using standard jdoc:include tags (inclusive Artisteer generated templates). Templates using non-standard template processing (e.g. Warp system of Yootheme) cannot be adapted for JotCache exclusion described further.

In the Joomla template each module position is tagged with following tag :

<jdoc:include type="modules" name="xxx" ... />

where xxx is position name.

To exclude specific module position from page caching it is necessary to mark this position in template source (mostly index.php) with special JotCache HTML comment tags - see example :

<td>
   <!-- jot user2 s style="xhtml" --><jdoc:include type="modules" name=user2" style="xhtml" /><!-- jot user2 e -->
</td>


Text in the marking tags is separated with exactly one (1) space starting with word jotfollowed by name_of_position jot_flag params

where

name_of_position - name of position as it is used in jdoc tag
jot_flag - 's' for start marking, 'e' for end marking
params - any kinds of jdoc parameters separated with space character

Used jot tags have to close embrace the jdoc tag for proper operation.

Mark in your template only module positions which you like to be steady refreshed. When page is cached then all JotCache mark tags are stored with cached content. During recall of cached content the marked positions are replaced with module newest content.


Fast check of cache operation

Check in front-end

For proper marking of cached content you need to have installed not only JotCache plugin but also the JotCache component. For page marking to put it in the operation it is necessary :

  • in the JotCache plugin parameters to set Mark Caching  to Yes
  • in the JotCache component click on Set Mark button

With Set Mark button here it is sent marking cookie to your browser and then you can see marked page title (with three @@@) when page is comming from cache :

JotCache Page Title Marking

and steady refreshed module positions are marked with dashed red outline :

JotCache Module Marking

Check in backend

The marking can be used also for fast selection of pages which is necessary to remove from the cache. The recommended selection practice is following :

  • check if list of active cached pages has any "Yes" in Mark column (use top combobox for selecting)
  • reset the marks for given pages with ResetMark button (the button is shown after click on SetMark, when SetMark is on toolbar)
  • click on SetMark button to start active marking
  • open/reload pages in website frontend which you like to be marked
  • Back in Administrator Cache Management click on Refresh button. You shall see in Mark column "Yes" for all in frontend opened/reloaded pages (you can select only marked pages with Select Mark combobox)

Selected files can be deleted as described in management view section.


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 Plugin Manager JotCache plugin, review parameters and set their values to required operation mode :

JotCache plugin parameters

Explanation :

1.    Browser caching (Yes) - Web server is forcing the site visitor browser to local caching of sent content. USE ONLY 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.

2.    Browser Cache lifetime – used together with enabled browser caching. Web page is local cached in browser and it remains x minutes valid (during this time browser shall not call any more server for specific page loading but page is recalled from local cache). This behavior can be overridden pressing Reload button on the browser toolbar. Then the browser calls again server for page loading.

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

4.    Compress cached content (Yes) - In cached content are whitespaces removed and then the content is compressed (gzlib)

5.    Mark caching (Yes) - Condition for displaying Set Mark in JotCache component (for presentation of front-end cache marking and backend check have to be both conditions met : Plugin Mark caching=Yes and Component Set Mark=On)

6.    Cache Auto Clean – This function is enabled by setting of positive integer x representing number of minutes. Automatic cleaning process starts initially postponed each x minutes and it performs deleting of expired cache files from the server file system. 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 gained with JotCache Clean Log parameter set to Yes.

7.    Autoclean Mode (Fast, Medium, Slow) – controlling autoclean behavior and usage of server memory for this task. Autoclean takes segment of files stored in the cache and process this segment in one internal run. In Fast mode are used only several segments and processing is fast with higher usage of internal memory. With Medium or Slow setting are these segments smaller and smaller but processing is slower. Recommended for middle sized web sites is Fast setting, for large ones you have to experiment with Medium/Slow settings.

8.    Clean Log (Yes) – Logging function switched on is allowing to have look into cache auto clean activity. 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        server IP        
2010-12-04 12:40:50 127.0.0.1  
interrupted on : (x|ffffffffffffffffffffffffffffffffffffffffffff) last deleted : y

where x – represents number of last processed segment
f..f – represents name of last processed cache file
y - represents number of deleted pages

When clean run process all items without interruption then only plain information about deleted files is stored in log. The best autoclean mode setting is with small number of interruptions taking into account reasonable internal server memory usage.

9.    Browser split – Many Joomla templates systems are using separate templates for different browser types (mostly Internet Explorer). With splitted cache storage space for different browser types you can avoid unacceptable mixing of unproper templates to site users (cached page content is not rendered when non-expired page exists in the cache). Select in the multiselect input box the browser types for which one it is necessary to have separate cache space (unselect when necessary with Ctrl+click on item). For MS Internet Explorer you can use either common 'IE' selection for all versions of this browser or specific version according the selection item.

Last item in the multiselect input box has name 'Mobile excl.' – when selected then all browser requests from mobile phones are excluded from page caching. Use this selection only in the case when you have separate template(s) for mobile phone browsers. Because of great variety of mobile browsers this solution is more practicable as splitting cache space on plenty of small chunks.

10.    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).


 

JotCache installation procedures

Installation

Recommended install procedure :

1.    Install JotCache from file com_jotcache_2.x.x_j1X.zip via Administrator > Extensions > Install/Uninstall / Upload Package File. During installation process are installed both parts of JotCache solution : JotCache component and JotCache plugin. JotCache plugin is during installation set to the last position in order of Joomla system plugins with state disabled.
2.    Open Plugin management : Administrator > Extensions > Plugin Manager / in Select type put 'system' and disable 'System - Cache' (when enabled) and open JotCache edit. Set plugin parameters as you like and save it with plugin enabled. CHECK IF JotCache plugin IS LOCATED AS LAST in order of system plugins. If not change order in requested way.
3.    Reset the old cache content with Tools > Clean Cache select all items and press DELETE button.
4.    When you are using System SEF plugin then JotCache plugin have to follow the System SEF plugin in the Joomla plugin list (adjust order in Extensions > Plugin Manager, the best position for JotCache is the last item in the list)

Upgrade from old versions

Simply install new version of JotCache as described in 'Installation' over old one. This procedure applies also in the case when you are upgrading from JotCache version 1.x.

Upgrading/reinstallation does not change content of jotcache tables in the database.

Uninstallation

With JotCache uninstallation you remove all related database tables, component and plugin files. Uninstallation procedure is following :

1.    Uninstall JotCache Component (when installed) : Administrator > Extensions > Install/Uninstall > Components check JotCache and press Uninstall button.

Now are all parts of JotCache removed from the application and database.

Only registred users have rights to post comments. Please log-in or create an account.

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