What is tab caching?
The values for the tab count values that show on the sub-tabs on records are cached. This is to improve system performance on records with large number of linked records (e.g. emails).
In the explanation below, the word "MAX" relates to a configurable value which can be set per OpenCRM system, and is the maximum number of records which are shown in the grids by default, and the maximum count value before caching is used.
This setting defaults to 1000 and can be changed by requesting this from email@example.com.
The benefit of INCREASING this is: More accurate tab counts more often
The drawback of INCREASING this is: Hampered system performance by having to count a large number of records every time a record is loaded.
The benefit of DECREASING this is: Better system performance due to more tab counts being cached
The drawback of DECREASING this is: Less accurate tab counts on larger records
AND: Linked lists may not show a practically large enough number of records if it is set too low.
How does tab count caching work?
When you load an OpenCRM record, for each sub tab shown the system:
1. Checks for a cached tab count for the current user
2. If it finds a cached tab count, it checks to see if this value is over MAX records,
2a. If the value is over MAX records it uses the cached value from the tab count table as opposed to recalculating the actual amount of records linked
2b. If it is NOT over MAX records, it will recount the linked records and show the live tab count value. At the same time, it updates the tab count cache.
3. If it does not find a record in the tab count table for the current user, it checks to see if there is a large tab count (over MAX) for any other user.
3a. If there is a large cached tab count for any user, the tab count shows a " * " . This is because due to security, we do not know how many linked records this person will actually have access to view, (it could be 0, but potentially it could be thousands)
3b. If no large cached tab count is found, the tab count is recalculated from the linked records, and the tab count cache is updated accordingly.
Based on the above, if you find that a record is slow to load and it has a large number of linked records, this is because you are the first person to try and load this record since the number of linked items went over the MAX limits.
4. When a user clicks on a specific tab.
4a. Tab counts are gathered as above
4b. The number of records shown in the grid are limited to the MAX amount. A "Show More" option is avalable to allow the user to extend this to return all records.
4c. If the number of records is less than the MAX amount, the tab count value will be updated
4d. When the user clicks the "show more" button, the full record list is returned, and the cached tab count will be updated to the number of records found.
Why am I seeing a " * " instead of a tab count?
You will see this in the following circumstances:
1. You have never visited this record (or not since tab count caching was enabled on your system)
2. Another user HAS visited this record and the number of linked items for this tab is over the MAX number
The reason a " * " is displayed in this circumstance is that due to possible differences in access level between users, another users tab count on this record may vary to yours, but as another users tab count is over the MAX limit, the tab count is not recalculated for you to speed up page load time for you.
Why does the tab count have a " ~ " at the start of it?
This shows that the tab count has been loaded from cache, and so may not be 100% accurate if new records have been linked, or records have been unlinked since the tab count was last put into cache.
How do I get an accurate tab count ?
This applies to both of the above ( ~ ) or ( * ) in tab counts
You can update the tab count by clicking on the relevant tab. If the number of records returned for you is less than the MAX limit, then the tab count will be updated for you and will be visible next time you visit the page. As this will update the cache, the tab count will still show with a " ~ ".
If it is over the MAX limit, you will see a "Show more" link. By clicking the "Show more" link, the system will return the full list of linked records and can then accurately update the tab count. Warning - This could take a number of minutes on very large numbers of linked records.