Support

Akeeba Ticket System

#23275 Using Joomla Cache affects visability of tickets

Posted in ‘Akeeba Ticket System for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Ticket System version
n/a

Latest post by nicholas on Thursday, 08 October 2015 04:17 CDT

rivermedia
I have found 2 issues related to using the Joomla Cache setting on our website (front-end).
This has been tested with both 'Conservative caching' and 'Progressive caching'.
  1. The filter list does not change the listed view. If I am looking at 'ALL' and change to 'Closed' (or any other choice) the page does not update with cache enabled.

  1. New tickets created do not show in the list until I either delete the cache or disable caching all together.


Not sure if you are aware of either of these issues, thought I'd bring it to your attention, understanding this version is still considered beta.

nicholas
Akeeba Staff
Manager
#2 is expected. Joomla!'s cache doesn't give us a way to invalidate all cached pages for all users for a specific view of a specific component. The technical reasons are very complicated –if you are interested you can read Joomla!'s code– but the bottom line is that it is impossible to work around. Before you jump into the conclusion that you can just remove the JPATH_CACHE .'/com_ats' folder please note that this solution causes severe issues to the application, has performance issues, security considerations, is architecturally incorrect and does not deal with APC, memcache etc caches. So no, really, it cannot be worked around.

#1 looks like a bug. I will have our developer look at it but don't expect a very speedy reply. It may take us up to a week to get back to you. I apologise in advance for that.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
Wouldn't #2 be handled by clearing/cleaning the Joomla cache files with a function?
Something like: $this->cleanCache(); or $this->cleanCache('com_ats');

nicholas
Akeeba Staff
Manager
You'd think that there is a Joomla! feature to clean specific areas of the cache and you'd be forgiven... but no, there is none. I already explained that but I don't mind repeating myself and adding some clarifications.

Joomla!'s cache doesn't give us a way to invalidate all cached pages for all users for a specific view of a specific component OR for a specific component even. The technical reasons are very complicated –if you are interested you can read Joomla!'s code– but the bottom line is that it is impossible to work around. In case you are wondering there is an MD5 hash generated based on the menu item ID, component name, component view, user groups of the active user, etc. If you are really interested please start unravelling Joomla!'s code from JCache onwards. Fun times (for intensely masochistic values of fun)...

OK, technically JCache is supposed to allow clearing a group of cached values. However, this doesn't work with APC (and I've not even tried to use it with memcache). So, that's useless for all practical intents and purposes.

As I said yesterday you can just remove the JPATH_CACHE .'/com_ats' folder. This is actually the only way you can reset the cache of a specific component BUT it only deals with file caching and has the other issues I talked about.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
Great! Thanks for the added details.

nicholas
Akeeba Staff
Manager
You're welcome :)

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
Any update on issue 1?
I'd also like to mention a third issue that I just found:
In the back-end list of tickets, when I select a Category from the filter list, it does NOT change the list.
I does appear the filter triggers automatically, but the filter is not applied.

nicholas
Akeeba Staff
Manager
#1 is fixed but I did not have time to publish a new release. Considering the workload I have and the upcoming schedule I can't give you an ETA. Would you like to try a dev release instead?

Regarding the third issue, you are correct. I am not sure why this is going on. Per above, I can only promise that it will be fixed but not when.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
I'd be happy to try the dev version if you need another set of eyes, but I can wait for the stable.

nicholas
Akeeba Staff
Manager
Ah, the third one was a simple issue after all. Just a wrong ID. I'm now debugging the user tagging issue from 23351. Once I've got a solution I'll ping you. I do need another pair of eyes to make sure that my solutions do work and I do appreciate your willingness to help!

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
I have downloaded the dev release [rev4BD0DFA] and tested the following:

1) Issue #1 is resolved. I was able to use the filter for ticket status in the front-end as expected.
2) User tagging in the front-end is resolved. I was able to add multiple user tags to a ticket in the front-end.
3) Back-end category filtering is resolved. I am now able to use the Category filter in the back-end as expected.

Thanks for this! I am scheduled to train my users tomorrow and then go live with our new help desk. Any chance this latest dev version will be released soon? Much appreciated for all your hard work!!

I was able to spot two more issues:
1) After installing the dev version I received a few errors (see screenshot)
2) When viewing the categories, the left navigation pane is not functioning as expected. The left pane that can be hidden or shown, does not contain your menu items. To see your 'Control Panel' link, I am forced to hide the pane, then re-show it for other components. (see screenshot)

Thanks again!

nicholas
Akeeba Staff
Manager
1. Don't worry about it.

2. Unfortunately this page is rendered by the built-in Joomla! component com_categories. Please file your bugs reports about it to the Joomla! project. We have no control over how it renders :(

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
#2 - Hmmm, not sure I agree with that.
The attached screen shot is from a component that we have created (it uses using the Joomla Categories).

tampe125
Akeeba Staff
The problem is that we only have one value inside that box, which is breaking the layout.
Once again, there's nothing we can do about that.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rivermedia
I have fixed your file if you are interested:

I changed both instances of: JSubMenuHelper to : JHtmlSidebar in the ats.php helper file

/administrator/components/com_ats/helpers/ats.php

        JHtmlSidebar::addEntry(JText::_('COM_ATS_TITLE_CPANEL'), 'index.php?option=com_ats');
        JHtmlSidebar::addEntry(JText::_('COM_ATS_SUBMENU_CATEGORIES'),
            'index.php?option=com_categories&extension=com_ats');

nicholas
Akeeba Staff
Manager
Hello Bob,

It is a bug in Joomla! itself. Under no circumstances should the developers be required to use JHtmlSidebar directly (or even through the JHtml::_() API) to render a sidebar when the documented and non-deprecated API is JSubMenuHelper. This bug has been acknowledged but nobody seems to be interested in fixing it. Unfortunately we do not have the time to do this ourselves. I am personally much busier trying to built what will be under the hood of Joomla! 4 along with another half dozen people. I think it's a waste of everyone's time fixating on a cosmetic issue that's due to a Joomla! bug which is the mere consequence of the haphazard way the collapsible sidebar was implemented.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!