As AEM developers, we often encounter situations where third-party plugins are used to enhance the site’s functionality. Often you don’t have the plugin’s source code — and when the integration does not work ad hoc as expected troubleshooting can be challenging.
There are two types of integrations:
Frontend integration — the browser has a connection to both AEM and the 3rd party service. This sometimes is referred to as a mashup. If your plugin uses this strategy, you can use the browser’s development tool and you can stop reading. This article is not for you.
Backend integration — the browser connects to AEM, only and the 3rd party service is called from there.
Frontend and backend integration
Backend integration’s often are a black box. You don’t really know what’s going on. Debugging is more difficult. These are your options:
Remote-attach a debugger and have the code decompiled by the IDE
Crank up the log level to trace
Eavesdrop on the communication
Reading logfiles of course is the easiest solution. But you depend on the plugin’s diligence of logging. Not everything that would be of interest might be logged by the plugin.
I’ll save the tips how to remote debug a 3rd party app for later.