Support

Pre-sales

#36934 Akeeba Engage

Posted in ‘Pre-sales and Account Questions’
This is a public ticket

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

mbovell

Engage suddenly fails to display. The page shows error "Call to undefined method Joomla\CMS\Document\HtmlDocument::getWebAssetManager()".

Thanks

nicholas
Akeeba Staff
Manager

The WebAssetManager is part of core Joomla since Joomla 4.0.

Make sure that you have an up to date Joomla 4.0 or 4.1 site. If unsure, use the upload method to reinstall the latest Joomla 4.1.2 update package.

Make sure you have an up to date version of Engage. If unsure, download it from our site's Download page and install it twice in a row, without uninstalling it before or in between.

If the problem persists, something is wrong with your Joomla installation, not Engage.

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!

mbovell

The website in question is on Joomla 3.10.8. When did you stop supporting Joomla 3?

nicholas
Akeeba Staff
Manager

There are two actively supported version families of Akeeba Engage. There's Akeeba Engage 2 for Joomla 3. There's Akeeba Engage 3 for Joomla 4.

There is absolutely no call to getWebAssetManager whatsoever in Akeeba Engage 2 for Joomla 3 β€” this version will be supported on Joomla 3 until August 17th, 2023 as explained in our news article from August 2021.

There's only two calls to getWebAssetManager in Akeeba Engage 3 for Joomla 4. However, this is in code which CANNOT POSSIBLY RUN on a Joomla 3 site as both the component and its plugins use the Joomla 4–only service locator method for running (Joomla 3 only supports the direct entry point method for components and modules; and the root namespace class method for plugins).

Therefore you have made two arbitrary and false statements:

  • β€œWe do not support Joomla 3”. False. We DO support Joomla 3 until it becomes end of life on August 17th, 2023 as we have announced in our news and our downloads page. Maybe read our site instead of assuming the exact opposite of what we actually do?!
  • "Akeeba Engage broke your site". This is false. Apparently the problem is that you never did any troubleshooting such as setting Debug Site to Yes to see where the hell this error comes from. You assumed it was coming from our software and presented it to me as a certainty.

I am closing this ticket as unrelated to our software.

Please do basic troubleshooting before telling developers that something comes from their software and do share your troubleshooting steps along with any reservations you may have. Sending one line, angry accusations about something which ultimately isn't true doesn't help anyone.

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!

nicholas
Akeeba Staff
Manager

I am deeply insulted by your discussion thread in the Engage repository on GitHub which not only misrepresented our interaction in this formerly private ticket but also personally attacked me. This is grounds for account termination without a refund per our Terms of Service. I understand that you did it while being frustrated so I am only issuing a firm warning this time.

I also not amused that you seem to be using the fact that nobody could read this ticket along with your personal attack to pressure me into providing support for a software which states (copied verbatim from the README.md file in the repository):

> Downloads and updates to the component are free of charge. WE DO NOT PROVIDE ANY END USER SUPPORT.

I am rectifying this situation by making this ticket public and removing your discussion thread from our GitHub repository. I will explain once again what is going on and what you have to do to properly troubleshoot it.

Regarding your issue, I already told you that the WebAssetManager is part of Joomla 4, not Joomla 3. The problem is that you have something in your Joomla 3 site which calls it in the frontend of your site, causing the problem you see. This "something" is NOT Akeeba Engage. I will tell you once again why I am so certain.

As I already told you, Akeeba Engage version 2 is the only version compatible with Joomla 3 and does not have any code line in it which would cause the issue you have. The source code for Akeeba Engage 2 is freely available for you to search in https://github.com/akeeba/engage/tree/2.x. If youdo that you will see that getWebAssetManager only appears in the files of Akeeba Engage version 3 which is only compatible with Joomla 4. It does not appear in any of the files in Akeeba Engage 2 which is the only version compatible with Joomla 3.

Further to that, the only instances of that code in Akeeba Engage 3 are in the executable PHP code which is inside the administrator/components/com_engage/src subfolder. This code cannot be loaded by Joomla 3, even if you mistakenly installed Akeeba Engage 3 on Joomla 3 or if you somehow mixed versions. As I already explained, Akeeba Engage 3 is written using the Joomla 4 native MVC using a service locator. Joomla 3 does not know about the service located which was only added in Joomla 4. Joomla 3 can only use the direct entry point file administrator/components/com_engage/engage.php which is only present in Akeeba Engage 2. Even if you mix the two versions, e.g. by restoring a Joomla 3 site on top of a Joomla 4 site, it will still NOT load the files under the src folder. The decision to do that was intentional, exactly because I did not want an accidental mix of the two versions to cause a problem on your sites.

As for "calling you names", I never did that and it's very obvious to anyone reading this ticket. I did try to tell you upfront that the issue was not caused by Akeeba Engage. You chose to misrepresent what I said by claiming that we dropped Joomla 3 support which is, of course, not true. My last reply to you was merely stating the objective facts which prove that. neither did Akeeba Engage break your site nor have we dropped Joomla 3 support.

I don't see how I "called you names" as you falsely claimed. If the presence of objective truths which are uncomfortable to you and the lack of anodyne pleasantries is to be considered "calling you names" I am afraid that you don't want technical support.

As I said, the correct way to troubleshoot this is to set Debug Site to Yes in your global configuration. If this in and of itself does not help you should also try to set Error Reporting to Development (that on Joomla 3; on Joomla 4 this is replaced with the setting Maximum). This will tell you where the problem comes from. This is the standard way to troubleshoot Joomla since version 1.5.0 released in 2007. I know that you know and if you would please stop, take a deep breath and think about it you will see that you already know this.

If I were to make an educated guess as to what may have happened, I would guess the following:

1. You tried to restore a Joomla 3 backup on top of a Joomla 4 site. This will fail, as documented in https://www.akeeba.com/documentation/akeeba-backup-documentation/restoring-backups.html#general-guidelines under β€œDo not try to overwrite one Joomla! version family with a different one”.

2. You have an extension (most likely a plugin, module, or template) which is either Joomla 4 only or has recently added Joomla 4 support (but in a buggy way which incidentally tries to use Joomla 4 only code in Joomla 3).

3. You are using template overrides from a Joomla 4 site on Joomla 3.

Again, if you take the standard troubleshooting steps you will find out what the problem is. Troubleshooting a site is not about exchanging anodyne pleasantries, it's about troubleshooting and following the path objective facts paint for you. Stop making this personal; it's not an interpersonal issue, it's a technical one.

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!

mbovell

Thank you for your response, but I cannot include my complete reply. I receive the message below when I try to respond:

"The text you have entered is too long. Do not include large pieces of information, such as log files, in the ticket / post text. Instead, put them in a ZIP file and attach that ZIP file."

The irony :) My response is only 1,717 characters and does not include log files.

nicholas
Akeeba Staff
Manager

The limit in the ticket system is set to 128Kb of HTML content in the reply body. If your reply was 1717 characters and we add some leeway for HTML markup etc it'd be well under 4Kb which is 32 times less than the limit. The fact that you got the message about hitting the limit means that your answer was not as small as you think it was.

For example, if you paste images they are added as IMG tags with a data attribute. The data attribute includes the raw picture file data in Base64 encoding, i.e. 4 time as big as an attachment of the same size.

For your information, there are more than 50 new tickets and replies submitted to our site the last 3 days, most of which are much longer than 1717 characters. A large number of them are public. So what I am saying is already publicly verifiable.

Finally, the message you quoted told you to attach your text in a ZIP file but you chose not to. Either you can't follow simple instructions or you are trying to provoke me. I refuse to continue conversing either way, even more so when your issue is unrelated to our software which anyway comes without end user support. That serves me right for trying to help someone outside the scope of our ticket system.

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: Typically we work Monday to Friday, 9am to 7pm Cyprus timezone (EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets, but we cannot respond to them, outside of our working hours.

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!