• Resolved Alexander Guskov

    (@forcesail)


    Hello Tobias!
    you plugin is really great and I use it for the same site for 12 years!

    I use the plugin to insert some critical data to a good number of the pages: schedules, prices and other important (actually the most important) things. Of course this data created dynamically but presents by your plugin. Actually I don’t believe that the most of the people support tables manually, especially big tables.

    Just recently I have noticed that unlogged users see the obsolete data. The investigation bring me to table parameter cache_table_output that true by default.

    Actually any cache is the hell and could be reasonable only for thoughtless paragraphs in the blogs. Is there is some thoughts in a paragraph it can change. For creating caches are some plugins or .htaccess settings that do this work taking in mind a lot of exceptions. But in the most of the cases their activity finally is devil’s.

    What would be reasonable to a plugin is to arrange something to avoid datatables to be cached by caching plugins!!!

    Unfortunately, you introduced changing the critical plugin’s logic hidden that seems to be wrong at all.

    Just image a situation when a business, say, travel agency (or aircompany) dynamically changes prices (for example with changing rates or taxes), checks the page that all was passed well but unauthorized client see the obsolete prices and go to buy tickets!!!

    If you had decided to extend the plugin functionality it would be better to set cache_table_output=false as default.

    I have fixed it through using tablepress_table_render_options filter that is easy for me rather to change some tens of pages (suppose some people have to change hundreds or thousands pages). But actually it was disaster when clients climed it!

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Tobias Bäthge

    (@tobiasbg)

    Hi,

    Thanks for your feedback here! I’m really sorry that the table output caching caused problems for you.

    I totally understand that this could cause issues with dynamically added or modified data (e.g. via Shortcodes in table cells)! However, the majority of users doesn’t use something like that, so that caching the table output by default makes sense, in my opinion.

    For cases like yours, turning it off individually, via the cache_table_output=false Shortcode parameter or by using that filter hook that you mention is the best solution. (By the way, there’s also a TablePress Extension that does this for all tables, at https://tablepress.org/download/extension/tablepress-turn-off-output-caching.zip This is probably the same approach that you are using now.)

    Best wishes,
    Tobias

    Thread Starter Alexander Guskov

    (@forcesail)

    I appreciate your hard work over the plugin, Tobias, as well as your author’s right to develop your creation wherever you wish. I can’t believe that the significant number of sites support data in the tables manually but I don’t have any statistic.

    Let’s just try a but of math. The plugin has 700.000+ installations. If even just 10% of sites use dynamic data for the tables it means that 70.000 sites do that.
    The tables at such sites are the most valuable for the business (opposite others that uses mostly for fake-news in blogs).

    It means that 70.000 business sites (sites that don’t exist for some rubbish content to grab ads, but for supporting the company business that is more valuable than a site) met this problem without having any information of it existing. Especially the ones that had been using plugin for years before.

    I clearly understand why you add the cache fiture: to improve speed characteristics of the page for google. But in this case the price for improving speed is too high: it brings business (that is more important than site) under the business risk. Although it is not technical issue, but logic, but it is the highest level of vulnerability.

    Above are my suggestions that I wish to believe demonstrate the issue from another point of view.

    Best wishes,
    Alexander

    Plugin Author Tobias Bäthge

    (@tobiasbg)

    Hi Alexander,

    Thanks for your further feedback here!

    I’m not really sure what you are asking me to do, but the caching feature has been in TablePress (or rather even its predecessor WP-TablePress Reloaded for over 14 years now). The cache clears itself and is also cleared when a table is edited.

    There have been a few people asking about a way to turn this off, and they can then use the Shortcode parameter or the Extension plugin. But in general, I don’t see this as an overall issue.

    Best wishes,
    Tobias

    Thread Starter Alexander Guskov

    (@forcesail)

    Hello Tobias,

    I would suggest to
    1) set cache_table_output=false as default
    2) refresh cache every time when plugin re-render a table view for a loggen-in user

    Let’s make your plugin great even more 🙂

    Plugin Author Tobias Bäthge

    (@tobiasbg)

    Hi Alexander,

    Thanks for these suggestions! At this time, I do not have plans to change the default value for the cache_table_output setting. This could have implications on backwards compatibility for many sites, so that this is not something that can be done easily. Also, it’s a mechanism that is established and works well, and as there are ways to turn the cache off, there is no immediate need for action here. I’m also following the WordPress philosophy “Decisions, not options”, so that I will also not be offering this as a user option. For the large majority of users, this simply would not be relevant, but it would potentially be a confusing setting for inexperienced users.
    As the caching is only used for non-logged in users, there’s also nothing that needs to be done about the caching for logged-in users.

    Again, I really appreciate all your input and feedback here, but in my opinion, this is working as designed and expected.

    Best wishes,
    Tobias

    Thread Starter Alexander Guskov

    (@forcesail)

    Hi Tobias,

    thank you for the considering my points.

    Technically your plugin is flawless. The business vulnerability that comes with the cache in default I have described. How to reduce it saving cache every time when table renders for logged-in users I tipped too.
    You are the author and you have the right to the plugin’s logic.

    I would at least mentioned this potencial vulnerability in the description of the plugin.

    With sincere best wishes,
    Alexander

    Plugin Author Tobias Bäthge

    (@tobiasbg)

    Hi Alexander,

    Yes, I agree, this can be improved and explained better in the documentation! I will check where this would make most sense, and also better highlight the possibilities to turn the cache off!

    Best wishes,
    Tobias

Viewing 7 replies - 1 through 7 (of 7 total)

The topic ‘To cache data – what can let down a business behind a site better?’ is closed to new replies.