Home

AEM-Lingotek Translation Connector Webinar

Are you using a custom or legacy integration for managing your translations in AEM?  Are you interested in supporting both machine and human translation? Do you want to make your translation process easier, cheaper and more reliable? If so the AEM-Lingotek Translation Connector Webinar is for you! Now it's easy to quickly translate your content directly from within Adobe Experience Manager (AEM) using the new Lingotek - Inside AEM Connector. Developed by Six Dimensions, an Adobe Business...

Invalid CEN Header (bad signature)? We can fix that.

Here recently I was tasked with grabbing content from a client's production systems to install in our dev system so the developers could test their code against real conent without worrying about damaging production content should things go wrong in testing. Everything went well until I tried to upload the package to our development instance of AEM, in which case I was met with this cryptic error message from CRX Package Manager: After almost an...

OSGi Fragments, Fragment Host and AEM 6. Where's the bundle?!

Recently, I had the opportunity to upgrade a project to AEM 6.0 sp2. I did the usual updating maven dependency versions, but no matter what I tried I could not get a Fragment to start. After further investigation, I discovered two important changes made to AEM 6 ... Important changes to AEM 6 Maven-bundle-plugin "wrap" goal I upgraded the maven-bundle-plugin to version 2.5.3. After doing so, the project would no longer build and kept telling...

Six Dimensions + Storycode = Mobile Success

Six Dimensions just announced the acquisition of Storycode, a leading Digital Publishing Suite (DPS) solution provider and creative agency.  I'm excited about this and you should be too! As a technologist, seeing the potential of bringing 6D's AEM expertise together with Storycode's creativity and expertise in DPS allows us to create scalable, connected and flexible DPS apps, powered by the content engine of AEM. DPS is a powerful tool for publishing content to multiple mobile apps across...

Embedding Oak Index Configurations into a Package

AEM 6 ships with a new repository, CRX3 which is based on Apache Oak, a subproject of the Apache Jackrabbit project.  This repository promises significant performance increases over CRX2, however it does require a bit more work to setup.  Unlike CRX2, CRX3 requires you to explicitly declare which fields will be indexed.  If a field is not indexed, you will see an error like the one below in the error.log and significant performance degredation: 24.02.2015 14:03:15.997...

Taking Advantage of Git Branch Descriptions

If you're anything like me, you may accumulate a sizable number of branches locally over time. Based on old standards and what I'd consider some good practice, my branch names always follow the same format: myLDAPName/Issue# For example, jboyle/1641. While in my case this maps directly to a JIRA issue and is short and easy to type, it isn't very descriptive and after creating a number of branches, it becomes challenging to remember what branch...

ModifiableValueMap Not Found: Considerations in Using ModifiableValueMaps in an API

So let's just say you are designing an API which allows both reading and writing of attributes for a Resource.  Of course, you want to use consistent code to persist the values, so you use the (relatively) new CRUD features in the Sling API to both get and set the property values.  To save code, you might use a ModifiableValueMap for both operations, which works great in author as an administrative user.   The Problem At some...

Accessing Request Variables in Sightly

You can implement some interesting stuff in Sightly, the newest templating language for Adobe Experience Manager, including Tower of Hanoi.  At the same time, there are a few practical applications which are not available in Sightly, including accessing request scoped variables in Sightly.  While Gabriel's suggested approaches in the Stack Overflow post are absolutely correct in this situation, there are still certain situations where request variables can be very useful.   A good example is for sharing a variable...

Adding non-string properties using Sling Testing Tools

Recently, I was creating integration test following this article. Everything was working out nicely but then I couldn't figure out how to create anything other than a String data type in the JCR. I was specifically trying to create a Date data type. I found a nice document about the sling post servlet and Date properties. This showed the proper format for Date String but all the examples where for HTML forms. I tried formatting...

Escaping the Dreaded VerifyError

Recently (read early this afternoon) I was doing my best to beat my head against the desk until something useful spilled out.  The problem I was having was with a relatively old, but frequently updated codebase where recently certain random services would not start. The project had recently updated from Java 1.6 to Java 1.8 and at some point, the problem occurred but had not been noticed immediately as it only affected a small subset of...