At Wunderman Thompson Technology, feedback is not just a buzzword - it is the cornerstone of our culture. It underpins many of our activities, from day-to-day interactions with colleagues to more formal milestones like a (...)
Automating software delivery became a standard in the modern development process. There are dozens of tools available for enterprise as well as open-source projects. Today we will take a closer look at the GitHub Actions (...)
No computer system is infallible. When something goes wrong, syslogs are often the first place to look at while diagnosing the issue. With systems growing more and more complex, analyzing millions of log entries has beco (...)
Deployment of AEM in the cloud does not have to be complex and time-consuming. In this article, we describe a novel approach to AEM setup in the cloud using Gradle AEM plugin (GAP) supported by Terraform for the infrastr (...)
APMT (AEM Permission Matrix Tester) is a new library built on top of JUnit5, which allows to cover big part of permission test cases with little effort. Ease of use and readability, which are the main goals of the tool, (...)
Integration with other systems is one of the most complex parts of software delivery. Is there a silver bullet that can address issues like flaky tests, unstable environments and non-trivial bugs that slow down the devel (...)
The introduction of AEM as a Cloud Service marks a new era in the world of AEM development. This post provides a tutorial of integrating Cloud Manager, a new CI/CD tool from Adobe, with existing Jenkins-based approaches (...)
Creating a simple solution for a complex problem is not an easy task! If you have the courage, to make your AEM app development simpler and avoid many problems and bugs, go ahead and read this post! (...)
JavaScript is one the fastest evolving languages in the world. With the right approach it can serve as a direct alternative to solutions like Java and Spring. (...)
Image renditions are not the only actions to perform on your AEM assets. Another essential aspect is asset metadata. Depending on the usage, metadata can drive your brand taxonomy, can help authors find the asset or fina (...)
Azure Cognitive Services help to build intelligent applications without having AI or data-science knowledge. What if you want to take it even further? Building a custom image classification model and fitting your unique (...)
Code reviews are a standard practice in most organizations but there's quite a few things that can impact their quality. Join me in an attempt to capture what makes a healthy review culture and find out what really works (...)
Developing AEM Dispatcher configuration can be challenging. The same attribution goes to httpd configuration, especially for developers without a broad experience with it. This article will show how to release this pain (...)
With the introduction of method handles in Java 7 and LambdaMetafactory in Java 8 we can now make reflective method calls almost as fast as the direct access itself. (...)
Image resizing or format conversion is a relatively easy task when doing renditions in AEM. Your project might require more robust approaches supported by intelligent image services. You might need to change images to gr (...)
The way JCR queries are constructed has dramatic impact on their performance. This article is about writing queries that won’t kill the AEM instance. (...)
In the second post of the "Business Logic Evolution" series we will focus on explainig what is the business logic evolution and give you examples of changes that may occur during the project development. (...)
AEM in the cloud is a confusing and vague statement. This post presents a simple explanation of available deployment models for AEM. If you're unsure about recently introduced "AEM as a Cloud Service" and "Cloud Manager" (...)