Automating tests helps in ensuring the integrity of the implementation over the changes in the codebase. It saves cost and laborious efforts of regression in long run avoiding repetitive test activities increasing the reliability of the application. Automating tests is … read the rest.
Category: AEM
Accessing logs through browser in AEM 6.2
Format
http://localhost:4502/system/console/slinglog/tailer.txt?tail=<N> &name=/logs/<log-file-name>
Examples
http://localhost:4502/system/console/slinglog/tailer.txt?tail=500&name=/logs/error.log
http://localhost:4502/system/console/slinglog/tailer.txt?tail=500&name=/logs/request.log
2-stack 3-layer approach to CMS
Martin flower’s 2-stack 3-layer approach to CMS. It’s strikingly similar to AEM deployment model with missing preview layer. This could be a viable model with AEM OOTB too.
… read the rest.We applied the editing-publishing separation pattern in building a two-stack
AEM and shared file systems (example – EFS) in cloud
Bumped on the shared file system service provided by AWS which they call as Elastic File System (EFS). EFS is more like a file system in a network mounted on multiple compute (EC2) instances. All the compute instances can read … read the rest.
AEM deployment topology at CISCO
Architecture stuff!!!… read the rest.
AEM 6.0 Architect Certification tips
I took up Adobe Experience Manager (AEM) 6.0 Architect certification (9A0-385) recently. I thought to jot down few pointers for my fellow enthusiasts aspiring for passing this exam. You may find this post useful. Please post your question as comment … read the rest.
Creating a unique identifier for a node in JCR apart from path.
If you ever want to create an unique identifier for a node in JCR, you would’ve to add a mixin type [mix:referenceable] to it. Once you add this mixin, repository creates a UUID (Unique Idnetifier) for the node automatically.
You … read the rest.
Mechanism to avoid sticky connection for CUG access in AEM 6.1
In a publish farm setup, if there is a need for Closed User Group (CUG) access for protected pages, we would’ve to setup sticky connection in load balancer.
AEM 6.1 introduces a new authentication mechanism using cryptographic token which would … read the rest.
New run mode addressing security in AEM 6.1
AEM 6.1 introduces a run mode ‘nosamplecontent’ which address few security configurations required for production instance. This may not get your production instance 100% secure. You are still asked to use the security checklist to keep a check on known … read the rest.
When to go for MongoMK in AEM
MongoMK (realized through MongoDB) was introduced to address the need of scaling author nodes horizontally. General notion is that a typical author node supports 30 concurrent users. What if there is more than 30 concurrent users when a single machine’s … read the rest.
How to configure an OSGi service before starting an AEM instance
- Unpack AEM by running the following command.
java –jar cq-quickstart-6.jar -unpack - Create a folder named crx-quickstart\install in the installation directory.
- Create a file with the name <service pid>.cfg. [From AEM 6.0 this should be .config]
For example – org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg in
Overriding out of the box servlet in AEM (Sling)
Technical Context
In AEM (CQ), sevlets are defined as OSGi services implementing javax.servlet.Servlet
interface. A service listener org.apache.sling.servlets.resolver.internal.SlingServletResolver
in sling framework listens for OSGi services implementing javax.servlet.Servlet
interface and registers its reference. When a request hits the server, this SlingServletResolver
… read the rest.
Dynamic component programming model in OSGi
In OSGi deployment model for java, bundles come and go at run time. Hence, dependencies between the bundles would have to be resolved at run time. This would lead to inconsistency as programs cannot be written with confidence referring types … read the rest.
OSGi – A simplistic view
OSGi
OSGi is a specification describing dynamic modular system for java platform. Essentially, two key aspects here – dynamic modules called bundles in OSGi and the OSGi runtime facilitating these bundles.
More details on OSGi can be found here.… read the rest.
Service Listener – OSGi pattern in AEM
Forces
- Model independent functions which are similar in nature.
- Ability to plugin these independent functions on the fly.
- Consume or invoke these functions in a controlled manner through a single facade.
Design
Model independent functions as OSGi services implementing the … read the rest.
OSGi Component Vs Service in AEM
AEM ships with an OSGi container Apache felix that implements Declarative Services (DS) component model. Most of the developers who are new to AEM often gets confused between OSGi components and services.
OSGi Component
If you want the life of … read the rest.
OSGi component in AEM that is active only in specific run mode (say, publish).
Scenario
Implementing an OSGi component in AEM which is active (that runs) only in specific run modes (say, publish).
Implementation
Generally, in OSGi container (Apache felix in AEM), to get a component ‘satisfied’, all the referenced services have to be … read the rest.