-
iCagenda
-
iCagenda - English
-
Regression in iCagenda 4.0.1: Smart Search (Finder) fails in CLI, worked in 3.9
Regression in iCagenda 4.0.1: Smart Search (Finder) fails in CLI, worked in 3.9
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
4 days 1 hour ago #18937
by semi
Hello,
we would like to report a regression introduced with iCagenda 4.0.2.
Environment:
- Joomla 5.4.2
- PHP 8.4 (Debian)
- Smart Search (Finder)
- iCagenda upgraded from 3.9.11 to 4.0.2
Important note:
There is only ONE Finder plugin available for iCagenda:
"Smart Search – iCagenda".
No alternative Finder plugin exists.
Behaviour:
With iCagenda 3.9.11:
- CLI indexing worked correctly:
php cli/joomla.php finder:index
- iCagenda events appeared in Smart Search results.
After upgrading to iCagenda 4.0.2:
- Backend (web) indexing may appear to work
- CLI indexing fails consistently with:
Class "iCutilities\Menus\Menus" not found
The error occurs in the Smart Search – iCagenda Finder plugin.
Technical analysis:
- The Finder plugin contains:
use iCutilities\Menus\Menus as icagendaMenus;
- The class exists physically at:
administrator/components/com_icagenda/src/Utilities/Menus/Menus.php
- That file defines:
namespace iCutilities\Menus;
- However, in the CLI bootstrap context, this file is not autoloaded.
- The Finder plugin does not explicitly require the file.
- There is no separate iCutilities library/package installed anymore.
As a result:
- The Finder plugin works inconsistently (web vs. CLI)
- CLI indexing is completely broken
- Since there is only one Finder plugin, this cannot be solved by configuration
Workaround (local):
We fixed this locally by explicitly requiring the Menus.php file
before the Finder plugin runs (System plugin that loads the file early),
after which CLI indexing works again.
Suggested fix upstream:
- Explicitly require the Menus class file inside the Finder plugin, OR
- Properly ship/register iCutilities as a library and autoload it, OR
- Update the Finder plugin to reference the class via its actual location
in com_icagenda.
This behaviour worked correctly in iCagenda 3.9.11, so we believe this is
a regression introduced in the 4.x series.
Best regards,
Michael
Please Log in or Create an account to join the conversation.
-
Lyr!C
-
-
Administrator
-
-
Lead Developer
Less
More
-
Posts: 6899
-
Thank you received: 616
-
-
-
-
4 days 33 minutes ago #18938
by Lyr!C
Hello,
For information, it works for me on both Joomla 5.4 and 6.0
And i don't see which change on this part could have a different behavior from iCagenda 3.9
The nameSpace for iCutilities is registered in the plugin system iCagenda.
If you change the function setup by registering namespace as well in Finder plugin in the plugin Finder iCagenda, file /plugins/finder/icagenda/src/Extension/Icagenda.php at line 121, does it fix CLI index?
protected function setup() {
\JLoader::registerNamespace('iCutilities', JPATH_ADMINISTRATOR . '/components/com_icagenda/src/Utilities', false, false);
return true;
}
Thanks!
Best regards,
Cyril
Latest version : iCagenda 4.0.2
We recommend every user to keep iCagenda updated.
Don't forget to have your Joomla!™ up-to-date!
Do you like iCagenda?
I would appreciate if you could take 5 minutes to post a review on
JED (Joomla Extensions Directory)
.
Please Log in or Create an account to join the conversation.
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
4 days 13 minutes ago #18939
by semi
Thanks for your reply.
Just tried it and there is still the same error...
In Icagenda.php line 109:
Class "iCutilities\Menus\Menus" not found
thanks in advance.
michael
Please Log in or Create an account to join the conversation.
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
4 days 1 minute ago #18941
by semi
One info again:
The problem only happens with php CLI which we needing in this special case to trigger the index from external site. it seems that there was no problem with version 3.9.
As a workaround I have created a system plugin with the following code:
declare(strict_types=1);
defined('_JEXEC') or die;
use Joomla\CMS\Plugin\CMSPlugin;
// Load iCutilities Menus class early (CLI-safe)
$menusFile = JPATH_ADMINISTRATOR . '/components/com_icagenda/src/Utilities/Menus/Menus.php';
if (is_file($menusFile)) {
require_once $menusFile;
}
final class PlgSystemIcutilitiesbridge extends CMSPlugin
{
// no hooks required
}
We have this code both ways (CLI and backend) are working like a charme.
Please Log in or Create an account to join the conversation.
-
Lyr!C
-
-
Administrator
-
-
Lead Developer
Less
More
-
Posts: 6899
-
Thank you received: 616
-
-
-
-
3 days 18 hours ago - 3 days 18 hours ago #18944
by Lyr!C
As i'm investigating in the changes recently made, to find why the namespace is not loaded in CLI, could you confirm that it works on 3.9.11 (you mentionned this version) ?
And, most important, did you test with iCagenda 3.9.14? (this is when the plugin was changed to work with Joomla 6).
Thanks!
Best regards,
Cyril
Latest version : iCagenda 4.0.2
We recommend every user to keep iCagenda updated.
Don't forget to have your Joomla!™ up-to-date!
Do you like iCagenda?
I would appreciate if you could take 5 minutes to post a review on
JED (Joomla Extensions Directory)
.
Last edit: 3 days 18 hours ago by Lyr!C.
Please Log in or Create an account to join the conversation.
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
3 days 6 hours ago - 3 days 6 hours ago #18945
by semi
Version 3.9.11 was installed before updating to the latest version 4.0.2.
with 3.9.11 there was no error shown in the CLI script.
3.9..14 was not tested.
thanks.
michael
Last edit: 3 days 6 hours ago by semi.
Please Log in or Create an account to join the conversation.
-
Lyr!C
-
-
Administrator
-
-
Lead Developer
Less
More
-
Posts: 6899
-
Thank you received: 616
-
-
-
-
2 days 23 hours ago #18950
by Lyr!C
Hello,
So, could you open a pro support ticket for an advanced support, as if you used finder plugin in iCagenda 3.9, that means you have a pro version (as this plugin was not available in the free version before iCagenda 4.0).
www.joomlic.com/support
I think is see why it does not work on a CLI, so i would like to send you a test version to see if it fixes the issue.
Thank you!
Best regards,
Cyril
Latest version : iCagenda 4.0.2
We recommend every user to keep iCagenda updated.
Don't forget to have your Joomla!™ up-to-date!
Do you like iCagenda?
I would appreciate if you could take 5 minutes to post a review on
JED (Joomla Extensions Directory)
.
Please Log in or Create an account to join the conversation.
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
1 day 22 hours ago #18955
by semi
Hi!
At this time I am using the free version only.
best regards,
michael
Please Log in or Create an account to join the conversation.
-
Lyr!C
-
-
Administrator
-
-
Lead Developer
Less
More
-
Posts: 6899
-
Thank you received: 616
-
-
-
-
1 day 22 hours ago #18956
by Lyr!C
Hello,
Well, i don't understand then... as plugin finder iCagenda was not included in the free 3.9.x versions of iCagenda.
How did you manage then you CLI indexing with 3.9.11?
Regards,
Cyril
Latest version : iCagenda 4.0.2
We recommend every user to keep iCagenda updated.
Don't forget to have your Joomla!™ up-to-date!
Do you like iCagenda?
I would appreciate if you could take 5 minutes to post a review on
JED (Joomla Extensions Directory)
.
Please Log in or Create an account to join the conversation.
-
semi
-
Topic Author
-
New Member
-
Less
More
-
Posts: 10
-
Thank you received: 1
-
-
1 day 22 hours ago #18958
by semi
Hi!
hmm...to be honest i am not quite sure but don't think that I bought the PRO version? i didn't find any mails with PRO license infos...
Please Log in or Create an account to join the conversation.
-
iCagenda
-
iCagenda - English
-
Regression in iCagenda 4.0.1: Smart Search (Finder) fails in CLI, worked in 3.9
Time to create page: 0.060 seconds