I think that every developer from AEM/Sling world has already read many articles regarding switching to the R6 and R7 OSGi annotations. But new annotations do not only allow us to write less boilerplate code, but also bring new caveats and we better be aware of them. Several days ago there was suggested a PR […]
AEM: AC Tool or How To Manage Groups & Users
Before I learned about AC Tool, I worked with a couple of projects several years ago – they were quite big and had many markets and locales. And, as you can imagine, these projects had quite a sophisticated hierarchical structure of users and groups. Time to time, we were rolling out content for new markets/locales, what required […]
AEM: How to create custom Project Tile
In this article we will look into the steps we need to go through to create a custom Project Tile. In case you are not familiar with AEM Projects, there is a good intro from Adobe. Note: steps here were written for Adobe AEM 6.3. Add And Render our AEM Project Tile As a content for […]
Sling Model Exporter. Now really custom.
Most of the articles which focus on Sling Model Exporter (like this one) tell us how to configure exporter for our models. But none of them really tells how to develop custom Sling Model Exporter. I will try to fill this gap. So let’s imagine, that instead of json, we want to receive Sling Models […]
AEM: Simplify unit testing with AemContextCallback
For testing (you do this, right?) your AEM project, most probably, you use AEM Mocks from wcm.io. This is a powerful library, which makes your life easier when it comes to testing Sling Models, Servlets, other classes which work with Page and other entities from AEM. How to use AemContextCallback Interface AemContextCallback allows us to define some default […]
Sling: More About Selector Best Practices
It’s written quite a lot about Sling selectors, best practices and how we should use them. However, misuse is as common as many articles about selectors. So I would like to add my 5 cents to this topic. How to (not) use Sling Selectors Let’s imagine a situation when you have a component which generates some […]
Sling: Resource Resolving for multi-domain system
On publish instances for SEO purposes you may want to remove /content/[sitename] from the URLs. At the same time, you want these short URLs to be resolved to resources when a user requests them.To achieve this, you need to configure Mapping for Resource Resolution. Usually, it’s a trivial task, but it’s getting complicated when you need […]
OSGi: Control resolving process of the bundle
In this article, we will take a look at how to control resolving process for bundles, in particular, how to restrict access to the bundle only for a specific set of OSGi bundles. This may be useful when you want to give access to the bundle only to authorized ones and prevent others from using […]
AEM: Service User (Mapper) – do you really know it?
Starting from AEM 6 developers are encouraged to create special service users for their bundles/services instead of using administrative sessions. Adobe has documentation on this topic here. However, there are some features which are either not widely used, either – not well documented. So, let’s uncover them! Report on configured Service Users in AEM Since Service […]
AEM SEO: Canonical Tagging Support
Canonical Tagging Support for AEM SEO Why does somebody need this library? Hi there. Once I had to add a canonical tag to the pages due to duplicated content on the site. Having such duplication can greatly affect the ranking of your site so it’s important for AEM SEO as well. At that moment I had a lack of […]