Skip to main content

Juan Ayala

Juan Ayala is a Lead Developer in the Adobe practice at Perficient, Inc., focused on the Adobe Experience platform and the things revolving around it.

Connect with Juan

Blogs from this Author

Istock 1135346386

Loading JSON Content into AEM

Let’s talk about extract, transform, and load, also known as ETL. If you are an AEM professional, this is something you have previously dealt with. It could be something along the lines of products, user bios, or store locations. The extract and transform parts may differ depending on your source and requirements. The loading part […]

Mocking HTTP Clients in AEM Projects

The first thing I learned as an AEM developer was mvn clean install -P autoInstallBundle. The second thing was how to debug a remote Java process. The first allowed me to deploy updates I made to the bundle. The second allowed me to step through and debug the code. This was the normal cadence. Since […]

Reuse@1x.jpg

Code Reuse With Custom Sling Model Injectors

In my blog Writing Less Java Code in AEM with Sling Models, I talked about writing less code using Sling Models. I followed that up with Writing Less Java Code in AEM with Sling Models & Lombok. I talked about code generators helping in saving time by not writing redundant codes. You could say I […]

Writing Less Java Code in AEM with Sling Models & Lombok

AEM is a robust platform full of useful APIs and frameworks available at our disposal. Understanding what’s in the box will help us write less code. In my previous blog post, I covered one of the most used frameworks, Sling Models. Plus, I showed a real-world example with multi-fields. For this blog post, we will […]

Two Business Boys Maximize Ideas With Mind Helmet

Static Code Analysis With Open Source Tools For AEM Projects

Implementing static code analysis might seem like a daunting task. In some cases, this may be true depending on logistics, timing, and other factors. There is however a quick and easy way to implement it for AEM projects. Using open-source tools such as CheckStyle, SpotBugs, PMD, and JaCoCo you will pay nothing and reap all the […]

Close Up Software Developer Programming Code On Screen

Writing Less Java Code in AEM with Sling Models

I love writing code. What I love more is writing less. Less code means fewer unit tests because you have much less coverage to hit. Well organized, modularized, short, and concise. How do you achieve this? Good software engineering practices, code generators, and leveraging existing frameworks and APIs. Leveraging Frameworks and APIs As an AEM […]

NGINX Proxy for CORS

In my latest AEM project, I had a particular challenge with some front-end code, an AJAX call, and CORS.   While running the site on localhost, the search code attempted to make an AJAX call to a search API. The API would not allow my localhost site. This meant that front-end developers had a hard […]

Website Design. Developing Programming And Coding Technologies.

Unit Testing JCR Resource Resolver Mappings

Recently, I had a task to shorten URLs and remove the HTML extension in AEM. On top of that, I had to add a context root to the URLs so that these mappings would happen. /content/myapp/en_US.html -> /mycontext/ /content/myapp/en_US/homepage.html -> /mycontext/homepage/ /content/myapp/es_ES.html -> /mycontext/es_ES/ /content/myapp/es_ES/homepage.html -> /mycontext/es_ES/homepage/ Shorting URLs in AEM consists of two things: The dispatcher will receive requests for short extension-less URLs and must rewrite them before passing them through to […]

Istock 636932704 (3)

Setting Up A Local AEM Dispatcher With Docker

Reverse proxy and caching are two of the many features provided by the AEM dispatcher module. It is the prism through which your web users will view content on the AEM publisher. Developers will say the development and operations (DevOps) team handles it. DevOps rely on developers to provide instructions on how to configure it. […]