Planet CQ

June 20, 2013

Things on a content management system - Jörg Hoh

SSO and basic authentication

Whenever you need to debug a SSO login on CQ5, because all of a sudden a basic authentication appears, make sure, that you don’t have HTTP basic authentication headers set next to your SSO cookie.

Because the Sling Authentication Service has set “Basic authentication (preemptive)” as default. Which means, whenever no other service feels responsible to extract authentication headers from the request (maybe because they are configured not to do this on a certain path), this service will try Basic Authentication. And just by the way: Setting this property to “Enabled” will kill the authentication of incoming replication requests.  So it’s best do eliminate the “Authentication” header at a dispatcher level and avoid to go through the dispatcher when doing replication.


by Jörg at June 20, 2013 08:55 PM

June 18, 2013

Paul Vincent Nolasco on Adobe WEM

Consulting Wisdom #1: The Go-Live Mantra


Considering this is the first “Consulting Wisdom” post of the Wisdom Series, I would like to explain my goal for this category. I’ve been in Consulting for almost six years now, all in the technical field. I don’t consider myself a guru, but over the years I’ve experienced a few things that I can share for everyone to learn from. That is the goal of this series, and I hope in some sort of fashion this may be of use to your career.

At some point in a project (hopefully), you’ll get to what we usually call the “Go-Live” day (i.e. the launch date,  the drop-dead day, the D-day, etc) and with that said, I say: CONGRATS!!!

Not a lot of projects reach this point of the game. If your team is one of the few ones, consider yourself lucky. It takes a combination of a good team, a reasonable client and a realistic project for this to happen. However, this eventful day where you turn the switch “ON” doesn’t usually go as easy as it sounds.

Have you heard of Murphy’s Law? Paraphrase in multiple ways, essentially it goes like this: “Anything that can go wrong, will go wrong”. For multiple projects I’ve worked with, Go-Live day and Murphy’s Law usually goes hand-in-hand. It may not be everything going wrong but somewhere along the line there will be some sort of surprise that is unaccounted for. Regardless if you’re not the Tech Lead, Architect or some other leadership role there is one mantra that you should tell yourself:

We are going live today, We are going live today, We are going live today.

Go-Live dates are usually the most stressful time of the project. All the hard work, sleepless nights, endless meetings are now finally coming to fruition. It is your duty as a consultant to have this mantra and attitude that would affect not just your psyche, but also the client. Everyone will be antsy, especially the client, heck why wouldn’t they? They’ve paid us thousands of dollars to help them with their implementation. Some may even have their jobs on the line! If there’s a time to take some stress pills this would be the perfect time to do it. Honestly though, what truly would help you and your team is to have the right attitude when you reached this pivotal stage.

Arm with the right attitude everything becomes just a matter of execution. If something goes wrong, you would need to think on your feet and react smart and judiciously. It is without question a test of your wits in how to solve a problem the most efficient way as possible. Whether asking for some assistance from a team member, calling some assistance from a colleague, you must be ready to give your absolute best in getting over the hump.

One of the few things that most team at this stage worries about is whether or not everything is perfect. More than likely it won’t be. Heck, it’ll never be. Your goal and only goal for this day is not making sure its perfect, but rather getting the project live as scheduled. It is ok to have a patch or two after the release. What you need to worry about is what the client considers as the “show stoppers”.  If your team can resolve any of the show stoppers (the earlier the better) before going live, then any other issues can potentially be fixed later. The client must be the one that nails down the bare minimum product, so hopefully a couple of weeks before the go-live date your team have identified the show stoppers and have resolve everything on or before the go-live date week. If you think there’s a feature or bug that is unaccounted make sure to bring it up now to the whole team, including the client, or it’ll creep up during the go-live week. The less surprises you have the better, so that when the go-live date arrives, surprises that comes with double the anxiety level  won’t be as much.

One of the few ways I’ve done prior to the go-live date is having everything in place the day before (ala Practice Go-Live day). Hence, there’s little planned work to be done on the actual go-live date. Also, it gives the team enough buffer time and confidence whether things will go smoothly. For example: Finish all the production migration/configuration the day before, wherein all you have to do on the go-live date is configuring the public domain hostname that points to the production server. More importantly by doing it one day ahead it gives you a proper assessment whether the team is still on target or whether it would have to be a pushed for a few more days. Remember that in any project you must always set the right expectation to the client so they won’t be surprise when they missed the scheduled date. Missing the scheduled date to go live by knowing it the day before, is usually better than not getting it live on the day that client have expected it. Again, limit the surprises as much as you can.

Considering all of these… Sleep well the night before. Clear out your calendar. Make sure that you’re in the best shape when you wake up.

It’ll be a long but wonderful day for…

We are going live today, We are going live today, We are going live today.





by Paul Vincent Nolasco at June 18, 2013 08:09 PM

Wisdom Series Introduction – Tech Wisdom #1: AEM 5.6 – Project Creator

Hello folks, sorry for not posting in a while. As always, I’ve been busy with life, work and everything else in between. Going forward, I’ll try to post at least once or twice a month (or else this blog will be archive automagically as I’ve discovered!)

Knowledge-Wisdom-QuoteSo in the spirit of sharing, I’m starting a new series called: “Wisdom Series“. I’m calling it “Wisdom” more so because much of the post that I’ll be sharing are all real-project experience that I’ve personally encountered throughout my clients instead of just random “knowledge info” that you can readily obtain by searching the or some other websites. Also, I like “Widsom” in general, since it was my class section name back in Grade 5! Ah… those were the days…

For starters, I’ll divide it up into two different categories:

  • Tech Wisdom – talks about different AEM specific or other technical info, tricks, etc.
  • Consulting Wisdom – talks about different consulting engagement do’s/don’ts, etc.

Anyway, hope I can continue this series going for as long as I can and hope you guys see some use from it.

For the first Tech Wisdom series I’m sharing, it’ll be in regards to the newly introduced concept of “Project” in AEM 5.6. It’s a good concept however there is still much to be desired as far as the current implementation.


Tech Wisdom #1: AEM 5.6 – Project Creator


One of the new changes in AEM 5.6 is the Touch UI.  Upon login, the first section that the user will see is the “Projects” section as shown below:


Screen Shot 2013-05-16 at 5.24.17 PM.png


However for some odd reason, there is no UI available at all to create a new Project.

And so, the Project Creator I’ve created exposes this “Projects” area in Tools menu and adds a new console called: “Project Creator” as shown below:


Screen Shot 2013-05-16 at 4.48.59 PM.png



To use the Project Creator simply do as follows:

  • Install the “” package. (Download here)
  • Once installed, simply go to the “Tools Console > Projects” then double click “Project Creator”. You should see the following console below.

Screen Shot 2013-05-16 at 4.58.54 PM.png

  • Fill in the proper fields as shown above then click “Create Project”
  • That’s it! You should see a project created similar to the one below:

Screen Shot 2013-05-16 at 5.04.05 PM.png



  • All the code resides under /apps/projectCreator
  • A sample project has been added called “Project Title” as shown above.
  • This is the first release, if you have any questions/comments please send me an email at: If time allows, I’ll try to reply as much as I can.


by Paul Vincent Nolasco at June 18, 2013 04:53 PM

June 14, 2013

CQ OPS - Jayan Kandathil

June 12, 2013

Eyelock - David Collie

Robot Illusion

Cool Robot Illusion

by David at June 12, 2013 03:48 PM

June 10, 2013

Experience Delivers

AEM CQGems - June 12th: Launches: Concurrent preparation of multiple versions of a website (AEM 5.6)

Today, web launches can become major headaches for many organizations.  Coordinating between authors and technologists requires a careful plan to have a successful launch. Whether launching a few pages, a revised site or multiple sites, Adobe Experience Manager 5.6 (AEM) enables organizations to more easily collaborate without impacting the day to day performance of their website(s).

See for yourself as Gilles Knobloch, Adobe Lead Developer, presents: “Launches: concurrent preparation of multiple versions of a website (AEM 5.6) “ In this session, Gilles will demonstrate how easy it is to utilize AEM to coordinate between authors to prepare for launch. You will learn how the basic mechanisms of this feature have been integrated into AEM for streamlining your launch incentives.

Join us Wednesday, June 12th at 8:00 a.m. PT!


by Adobe ( at June 10, 2013 08:00 PM

June 05, 2013

Experience Delivers

June Web Experience Management Wednesday Webinar: Put the true ‘e’ back into your ‘commerce’

The quick pace of e-commerce growth is tightly linked to the rapid adoption of web-enabled mobile devices and social media as consumers continue to shift their activities, including shopping, to the online channel. And in doing so, they are demanding great experiences across all digital touchpoints.

Please join us for our next Web Experience Management Wednesday webinar, June 12th at 10:00 a.m. PT, where we’ll discuss how Adobe Experience Manager puts the true ‘e’ back into ‘commerce’ — experience-driven commerce. Learn how you can commerce-enable your digital experiences to differentiate your brand and drive conversion and loyalty.  Our Adobe commerce guru, Darin Archer (@darinarcher), and guest speaker, Mark Bartlett from Crown Partners (@Crown_Partners), will show you how Adobe Experience Manager can drive your next-generation shopping experiences. You’ll learn how marketers and merchandisers can create more compelling customer experiences by optimizing the entire engagement process from the initial customer touchpoint to checkout.

For more info and to register, check out the details here. We look forward to seeing you online next week. 

by Kim Morris ( at June 05, 2013 07:27 PM

Things on a content management system - Jörg Hoh

Required skillset to learn CQ5

I just fell over the blog post by Robert Sumner where he describes what the required skillsets are to become a “WEM/WCM architect”, “J2EE integration specialist” and “CQ5 developer” for CQ5.

He states, that before you become an architect, you should have experience in the integration specialist role. Agreed to that. But then for the integration specialist role Robert says:

“J2EE – it’s all about JAVA here….experience with SSO, SEO, integration, databases, web services, and Caching is essential to implementing and delivering a robust WEMs tool.  These folks can learn the CQ5 technology in a day, because Adobe CQ5 is based on standards.”

In my opinion, this is simply wrong. You cannot learn CQ5 in a day, just because it is based on standards. It’s nice, that something is built on standards. But still: You need to learn to work with these standards, learn the APIs and the way they are supposed to be used. You need to learn the Do’s and Don’ts and the best practices. And even if CQ5 is built on standards: There are a lot of proprietary APIs on top of the standards you should at least be aware of.

So my answer to the question “What’s the required skill set” is: “Know HTTP! Know the impact of latency and the importance and ways of caching. Know some web frameworks and start to think in pages and request/response instead of transactions.” And if you know Java: even better!

by Jörg at June 05, 2013 06:14 PM

May 31, 2013

Experience Delivers

AEM upgrades: why we always run on the latest and greatest

In one of the most recent CQ Gems sessions, Bertrand Delacretaz presented the AEM 5.6 upgrade mechanisms.

What if you wouldn't be able to use the latest and greatest features of your great experience management platform?
Companies using Adobe AEM are keen to use the most recent release as it comes every year with great additions that bring great value to them.

Adobe AEM is designed to make upgrades as natural as possible. And we lead by example!
Our main site drives 2% of the global traffic and it is a critical asset for the business of the company.
was upgraded to AEM 5.6 even before the release was announced.
This is the reference website for AEM documentation and many related technical sources.
is constantly upgraded to intermediate internal releases, and it happens very early and very often in the development process.
For example: this site is currently based on a build which was released internally on May 24 2013: 7 days ago.

There are several reasons why this approach is of immense value for the product and for companies adopting it:

  1. Stability. Being able to upgrade an existing site in parallel with our internal releases gives a lot of additional indications on top of our standard QE process.
  2. Backward compatibility of projects built on the AEM platform. (the website) was built on a previous release but still perfectly runs on this latest build.
  3. Longevity testing. We want our software to pass the "at least 3 months on a real website" test even before any beta release.

This is a critical aspect of the AEM success as a platform to support companies to managing their customer experience, and to continuously deliver more and more value with every new release, adding new content management features, more support for multiple channels, more integrations with the other solutions of the Marketing Cloud and much more.

By the way: this blog is hosted on the same platform as, so the page that you are currently reading is delivered by that May 24 2013 internal build. Isnt't that cool?

by Paolo Mottadelli ( at May 31, 2013 11:36 AM

May 29, 2013

Experience Delivers

CQCON 2013 Integration Testing

I hope you will join me at CQCON 2013 where I will cover the Integration Testing Framework used in Granite and Adobe CQ (now part of Adobe Experience Manager). In this session I will give an overview on how JUnit integration tests can be set up for any application based on Sling/Granite/CQ. Adobes Integration Testing Framework is based on the Sling Testing tools which supports client/server interactions over HTTP and scriptable server-side tests.

I'm looking forward to CQCON 2013 in Basel and hope to meet many of the developers out there.

by Lydia Balazs ( at May 29, 2013 11:39 PM

Eyelock - David Collie

Version Create Tool

Here is a quick modification of the Version Purge tool in CQ, that lets you create versions for Pages (with optional label and comment) for a sub tree.

version-create-toolIt’s simple enough, usual disclaimer that it’s sample code, install in non-production and review, understand and test until you are satisfied with the features yourself.   Tested on CQ 5.5 SP2.1 for now.


by David at May 29, 2013 11:05 PM

Experience Delivers

Now available on-demand: May 22nd WEM Wednesday Webinar—Get the Most Out of Your Digital Assets

During last week’s Web Experience Management Wednesday webinar, we had an exciting discussion about digital asset management (DAM), focusing on the ability to manage and extend your most precious assets to deliver personalized dynamic media, including video, across all of your digital channels. We had a good turnout from the community (thanks to all) and great conversation on the topic.

Our experts, Elliot Sedegah (@esedegah) and Priscilla Lawrence (@PriscillaJL), demonstrated how Adobe Experience Manager DAM capabilities, combined with integration of dynamic media capabilities (formerly Adobe Scene7™) and Adobe Creative Cloud™, can help you to simplify the planning, production and distribution of your digital assets. If you missed the live webinar, we’ve now got you covered with an on-demand version. Check it out here.

Also, planning is underway for our next WEM Wednesday webinar which will focus on “Commerce” – putting the ‘e’ (for ‘experience’) back into ‘eCommerce’. We will look at how Experience Manager can help drive your next-generation shopping experience by allowing marketers and merchandisers to create and deliver more compelling customer experiences. Register here for this live webinar taking place on June 12th.  We’ll see you there!

by Kim Morris ( at May 29, 2013 04:24 PM

May 26, 2013

Experience Delivers

Tighten your Security and Privacy Learn How at CQCON 2013

Security and privacy are key requirements for any web application today.

Sites have to undergo thorough penetration tests before their "go- live", our customers have security consultants join in during the RFP processes while news of major hacks hit the mainstream media regularly.

In my talk at CQCON 2013 I will focus on two major security topics to help you build secure sites and applications on top of Granite and Adobe CQ, now part of Adobe Experience Manager (AEM).

The Sling method loginAdministrative() and related functionality have been a source of code-based vulnerabilities and subtle bugs throughout AEM. This talk will give an analysis of the problem and provide strategies on how to avoid administrative sessions in your own AEM projects.

Further we will have a look at cross-site scripting (XSS) - a notorious problem in all web applications, and especially in content management systems. What are the risks and challenges in the AEM context? How can we detect vulnerabilities and, more importantly, how can we prevent them?

Hope to catch up with you at CQCON 2013


by Lars Krapf ( at May 26, 2013 06:40 PM

May 22, 2013

Experience Delivers

CQCON 2013: A mobile user interface love story

Once upon a time... CQ teamed up with Sencha's ExtJS to provide customers with good looking, feature rich web interfaces that felt much like desktop apps. But some paths lead to new roads. Adobe CQ (now part of Adobe Experience Manager)  has found a new love in the shiny new world of tablets and smart phones.

Join me at CQCON 2013 in Basel and I'll' introduce you to CQ's new love. I’ll explore the advantages that you will have in your future work environment and explain why Sencha ExtJS is still an important part of Adobe CQ. I’ll do a deep dive into the new touch optimized user experience interface, highlight its benefits and give you insight about the new opportunities coming. Our story will not end here, I will also give you a peek into future developments with RESTful touch friendly web applications with responsive layout and fast Javascript magic on top.

by Damien Antipa ( at May 22, 2013 11:56 PM

May 21, 2013

Experience Delivers

Best Practice Mobile First & Responsive Design Session at CQCON 2013

It's a romantic idea: a website capable of detecting the exact device it's being rendered upon and bringing forth a page perfectly tailored to its environment and network characteristics. Every pixel (or em) of available viewport real estate is accounted for. Staples of the individual device user interfaces - such as leatherbound skeuomorphism on the iFamily or clean, grid based UI on Windows - are included to give your page that native feel. Device features including touch gestures and geolocation are included for those device groups which support it. Each piece of hardware your client wishes to support is accounted for. 

However, the device manufacturers have other agendas. They want to make them smaller, then larger, up the pixel density, and make them wearable. TVs can now browse the Internet. Game consoles, too. New web enabled devices are entering the market faster than ever and their users expect your website to be usable. How can you keep up?

Enter responsive web design. In 2010, Ethan Marcotte wrote an article on A List Apart [0] that would launch RWD into the spotlight. In this article he outlined what it meant to be responsive and detailed the "three technical ingredients" necessary for RWD:

  • fluid grids
  • flexible images
  • media queries

With the momentum behind RWD picking up steam, we at Adobe began fielding questions on the best practices for implementing a mobile first site with Adobe CQ, now part of Adobe Experience Manager (AEM). 

I hope that you will join me @CQCON 2013 where I will present patterns for responsive design in Adobe Experience Manager and explain how to provide a media-rich HTML5 experience that is performant on low bandwidth connections. AEM's Geometrixx Media reference application, delivered in full source code with the product, demonstrates these techniques. I'll dive into how we used mobile first design principles, adaptive images and progressive enhancement to create it, and discuss the pitfalls that we encountered along the way.


by Bruce Lefebvre ( at May 21, 2013 11:18 PM

Adobe Experience Manager and Liberty Global

The world’s largest international cable operator clearly understands that the quality and depth of digital experiences directly affects customer satisfaction. That’s why Liberty Global uses Adobe Marketing Cloud.

The company’s old websites provided access to basic services and information. Unfortunately, the content management system Liberty Global built in-house couldn’t adequately support increasing customer service demands or the need to generate new business opportunities online.

To create and deliver dynamic digital content across devices, Liberty Global chose Adobe Experience Manager. Its web content management and digital asset management capabilities helped Liberty Global build once and use everywhere. The company’s first new website using Adobe solutions was created in Germany and took six months to build—new experiences could be built even faster.

“By reusing the components and templates in Adobe Experience Manager, we built websites containing more than a thousand pages for our Swiss operation in only eight weeks,” says Morgan Evans, Director Online at Liberty Global.

Adobe Experience Manager integrates smoothly with other Adobe Marketing Cloud solutions, including Adobe Analytics and Adobe Target. Adobe solutions provide solid analytics across channels that help Liberty Global continuously measure, analyze, and optimize performance across its websites.

“For the company, the returns from optimization have been strong. For example, optimizing call-to-action buttons on the product page produced a 23% increase in clicks,” says Evans. “By using Adobe Marketing Cloud to optimize our websites, we are able to more readily take advantage of opportunities and trends we see in the marketplace in order to improve customer engagement.”

Learn more about Liberty Global and how it’s using Adobe Marketing Cloud solutions to enhance customer experiences by clicking here.

by Adobe ( at May 21, 2013 05:15 PM

May 16, 2013

Experience Delivers

CQCon 2013: Efficient content structures and queries in CQ5

As the size of an Adobe CQ5 instance (now part of Adobe Experience Manager) increases, the performance of an application on top of the CRX repository can become a bigger topic to focus on. In my talk at CQCON 2013 I will present some of the inner workings of CQ5 with CRX as the underlying repository and explain how a good content design helps to keep a CQ5 application fast and responsive.

Another area for performance optimization of a CQ5 application often also include JCR queries. During my talk I will present some of the tools available in Adobe Experience Manager that help you troubleshoot queries and provide an overview of commonly used JCR query features with the performance you can expect from them.

I'm looking forward to CQCON 2013 in Basel and hope to meet many of the CQ5 developers out there.

by Marcel Reutegger ( at May 16, 2013 11:37 PM

CQCon 2013: Automated self-testing of live CQ instances

I'm looking forward to my talk on automated self-testing and health check of live Adobe CQ instances (now part of Adobe Experience Manager) at CQCON 2013 in Basel. A number of Apache Sling and CQ5 developers have been working on various tools to check the health of a live CQ or Sling instance, and we seem to be converging on a set of simple tools that can be very helpful for system administrators and developers.

The focus of my talk is presenting the SLING-2822 prototype that I've been working on recently that allows for creating health check tests for Sling systems in an extensible way. Out of the box, you can configure rules to check MBean attribute values, OSGi bundles states, disabling of Sling default accounts or any rule that can be checked by executing a script in a language that Sling supports. Extension points allow for registering additional rule types as OSGi services.

This prototype is not a finished tool. The goal is to start a concrete discussion about what's actually needed in terms of health checks. This can be seen from various angles: checking that the CQ security checklist has been applied, checking that the system is still in good shape after upgrading some OSGi bundles, checking that performance counters are within acceptable limits, etc.

With this in mind, I hope that you will attend CQCON 2013 and join in the open discussion to provide feedback on which direction such tools should take. I'll make sure to mention the idea of using server-side JUnit scripts for auto-testing production instances, as reactions to that idea have been varying from sheer enthusiasm to cries of horror. Just slightly exaggerating; but it looks like opinions may vary on which tools to use where.

I'll also present related tools like Joerg Hoh's cq5-healthcheck tool and Davide Gianella's sanity check tool. We haven't yet decided if and how much we should merge all those ideas into a common tool, so getting feedback from you and the rest of the CQCON audience on that will be invaluable.

by Bertrand Delacretaz ( at May 16, 2013 10:59 PM

May 15, 2013

Experience Delivers

CQCON 2013: CQ Maven Methods – Mastering Development Workflows that Combine Adobe Experience Manager with Apache Maven and Git

CQCON is a month away, and I'm excited to be delivering a talk there on CQ Maven Methods.

Daunted by the complexity of starting or managing a project with Adobe CQ, now part of Adobe Experience Manager? Do you ever wonder what to do with the heap of project code you've just been given? How do you build it? How do you install it? How do you use it?

One of the biggest challenges in working with any technology is knowing where to begin, and having a good foundation upon which to build your work. It's even harder if you're working in a team, where you need all the developers to hit the ground running. You want to minimise the time spent on setup, initialisation, and on duplicating build infrastructures across laptops.

In my talk, I'll show you how to solve all these challenges. I will be covering how to use Apache Maven and Git to structure your projects involving the CQ capabilities of Adobe Experience Manager, to ensure you have a repeatable build that anyone can work with. I'll show you how Maven can simplify deployment of your code, and how you can keep all your work safe using Git – not just for collaborative development, but also for managing all aspects of your projects.

CQCON is shaping up to be the essential event for anyone working with Adobe Experience Manager. I look forward to seeing you all there!

by Andrew Savory ( at May 15, 2013 08:40 PM

May 14, 2013

Things on a content management system - Jörg Hoh

Performance tests (4): Executing a test scenario

Now that we have prepared test scenarios, we have to execute them. Till here we did only some preparation work (but I cannot stress enough, that you really need to do this step!), but now you need to get your hands dirty. This means:

  • Decide which system you use to execute the test scenario. A developers laptop is usually not sufficient anymore to simulate a production-like scenario.. This information should be already contained in the test scenario description.
  • Implement the test scenario, so it is a machine executable format. Usually you record the specified user activities with a tool, modify them and then execute the recorded behavior using a tool.
  • Get test data. Having always the same test makes the analysis much easier.
  • Inform all parties, that you are running performance tests and that the results are sensible to any other activity on these systems.
  • Run the tests
  • Do the analysis.
  • React accordingly.

Let me point out a few important aspects of this execution. First, the choice of the systems to run the performance tests. I recommend to have them as similar to the production as possible. So, choosing the same hardware platform, same number of systems, same SAN, same content. This makes if much more easier, if someone asks the important question: “That’s all nice, but can we apply the results of this test also to our production environment?”. If you have identical hardware and the identical setup, it does not require much arguments to get to a answer everyone can agree on: “If we would run this scenario on production, we would get the same results”. And that’s a very important step later on when you need to decide about follow-up activities.

Secondly the test data. It is crucial, that if run a test multiple times, that you run it always on the same test data. This is not only required for the functional aspects (your most critical function regarding performance should not fail because of missing test data), but also the test data might impact performance. So it makes a difference, if you test your application on a 20 gigabyte repository or on a 200 gigabyte. repository. I usually recommend to create a copy of the instances before you start the first execution run of a performance scenario; before the execution of the second run, this copy will be restored, so we start the same point. This is important, so can you actually compare the results of multiple test runs.

by Jörg at May 14, 2013 09:06 PM

Experience Delivers

Adobe Experience Manager at Academy of Art University

One of the first colleges in the United States to offer online degrees for art and design now powers its classes with content managed by Adobe Experience Manager, part of Adobe Marketing Cloud.

San Francisco’s Academy of Art University developed a highly specialized learning management system to manage and deliver dynamic, creative course content. For its web content management system, the school turned to Adobe to improve the look and feel of its interfaces and tools, as well as for managing and updating course assets.

Chris Lefferts, executive vice-president of online education at Academy of Art University, says, “Adobe Experience Manager offered the right content management environment to provide all the functionality we wanted, at the level of quality we demanded. Plus, it offered streamlined integration with our learning management system, which was essential for us.”

Experience Manager also integrates seamlessly with Adobe Creative Suite, which the university uses extensively to build online coursework and teach students. The university also leverages responsive design in Experience Manager to accommodate students accessing course materials from multiple devices, including smartphones and tablets.

Learn more about the ways Academy of Art University uses Adobe Experience Manager by checking out their full story here.

by Adobe ( at May 14, 2013 04:41 PM

May 08, 2013

Experience Delivers

Now available on-demand: May 1st WEM Wednesday Webinar—Mobile Content Management and Personalization

During last week’s Web Experience Management Wednesday webinar, we had an exciting discussion about “mobile,” focusing on the ability to deliver relevant experiences across the multitude of mobile and tablet devices available today. We had a good turnout from the community (thanks to all) and great conversation on the topic.

Our experts, Ray Pun, Gunnar Klauberg (@aeroid) and Gabriel Walt, illustrated why it’s important to invest in mobile personalization. They also demonstrated how Adobe Experience Manager mobile capabilities, combined with Adobe Target integration, uniquely enable the delivery of personalized experiences through mobile channels.

If you missed the live webinar, we’ve now got you covered with an on-demand version. Check it out here.

Also, planning is underway for our next WEM Wednesday webinar which will focus on digital asset management (DAM). We will look at how Experience Manager DAM and its integration of dynamic media capabilities (formerly Adobe Scene7®) and Adobe Creative Cloud™ can help you to simplify the planning, production and distribution of your digital assets.  Register here for this live webinar taking place on May 22nd.  We’ll see you there!

by Adobe ( at May 08, 2013 05:29 PM

Eyelock - David Collie

Sample Custom Report in CQ – DAM Assets

I was asked how to get a list of all DAM Assets and their metadata properties so that an upload into the DAM could be tested.   At first, I was going to use QueryBuilder to pull the details out with some Java code, but then remembered the CQ Reporting Framework.   You can read more about it in the Developing Reports documentation.

As ever, the documentation is almost perfect, and I was able to quickly knock up a report that utilised the Reporting Framework to give a nice report:



You can also configure an instance of the report to (and all for free from the Reporting Framework!):

  • Work at a specific DAM path and below
  • Schedule when the report is refreshed
  • Take Snapshots of the data for historical reasons
  • Configure which columns to show, from a list that you have developed


It is incredibly powerful, and as with most CQ features, is highly extensible from within the repository nodes itself.  You can:

Sample Code

Here is a sample Report for DAM Assets, with some customised columns (You might need to change the Column Definitions to fit your own DAM)

Please only use on non-production instances etc.


by David at May 08, 2013 08:50 AM

May 07, 2013

Experience Delivers

Adobe Experience Manager and Adobe Analytics at Swisscom

Switzerland’s leading telecommunications company chose Adobe Marketing Cloud solutions to engage clients in attractive and intuitive ways—regardless of the device they use or the language they speak.

Swisscom provides mobile, cable and broadband communications to millions of business and residential customers. To simultaneously improve customer experiences and streamline internal processes, Swisscom standardized web content management across business units using Adobe Experience Manager.

Christoph Bracher, online solutions manager for Swisscom’s Online division, says, “We wanted to attract and retain customers with intuitive, state-of-the-art web experiences. We chose Adobe Experience Manager and Adobe Analytics because the combined solutions offered an engaging experience for site visitors—and ease of management and use for us.”

Improved efficiencies include automated layout that adapts content to fit any device and automated translation of sources into four languages: German, French, Italian, and English. Plus, Experience Manager enables the ability to repurpose content across business units.

Measuring customer engagement and enhancing experiences has helped improve conversion by up to 150% for Swisscom, while providing new marketing efficiencies. For example, Virtual Business Club, the company’s customer self-service portal, is also close to reaching its goal of delivering new information and services 25% faster while cutting costs 20%.

Swisscom IT Services Ltd. (ITS) provides services and consulting for IT infrastructure and maintenance, enterprise applications, and content management. It’s leveraging Experience Manager to dynamically publish time-sensitive content directly to the web, including contact forms for technical information that help generate sales leads.

Check out Swisscom’s full story here.

by Adobe ( at May 07, 2013 04:40 PM

My favourite CQ5 util classes

In this blogpost I want to give you an overview of my favourite CQ5 util classes.

Some of these classes might already be known to you, hopefull you will find a new one that will help you during your CQ5 development work.

With every class I will give a small code example on how you can use it.

by Feike Visser ( at May 07, 2013 10:21 AM

May 06, 2013

Experience Delivers

For our Developer Community: Announcing New Technical Webinar Series on Adobe Experience Manager and CQ

We are pleased to announce a new series of webinars on Adobe Experience Manager and CQ: the CQ Gems.
Click to register for the CQ Gems

This new initiative is intended for all developers working on the Experience Manager and CQ platform, to provide more and higher-level content on top of our existing training and documentation resources.

As the name alludes, the CQ Gems is a series of deep dives, each delivered by an expert in a specific area of the technology, and each time focused on an in-demand topic based on the feedback we’ve heard from you.

Adobe Experience ManagerThis initiative started in 2012 as an internal knowledge transfer at Adobe—directly driven by our engineering team—to share with the larger internal Adobe community special content, tips & tricks, and best practices, which are sometimes hard to cover in a time-constrained course or are not always easy to gain from official product documentation.

We felt the natural evolution was to take this initiative out to you, to share and discuss it with the entire community!

Webinars will be hosted on Wednesdays, at 8am Pacific Time.

Here is a preview of the first three sessions on the books, and trust me there is much more to come:

  1. March 20: The eCommerce integration framework, by Paolo Mottadelli (@paolomoz)
  2. April 17: AEM 5.6 upgrade mechanisms, by Bertrand Delacretaz (@bdelacretaz)
  3. May 8: Architecture of the AEM 5.6 platform, by Felix Meschberger

And as a special welcome gift, we’ve posted the session presented last week at the U.S. Adobe Summit by David Nuescheler and Cédric Hüsler: The Top 10 new features of AEM 5.6; so go check it out.

Each of the webinars will be designed to be interactive, so attendees will be able to address direct questions during the presentation and we’ll be certain that follow-up after sessions is supported to ensure all questions are answered and sufficient background material is provided.

Sessions will also be recorded and made available as part of a repository from CQ Gems Home.

So, if you are a developer working on Adobe Experience Manager and CQ and are keen to go, please Register to join us.
Click to register for the CQ Gems

by Paolo Mottadelli ( at May 06, 2013 05:46 PM

Adobe Experience Manager (CQ) Developer Events 2013

2013 is shaping up as explosive year for Adobe Experience Manager.  This is great news for CQ Developers around the globe.  Adobe is here to help by providing educational and knowledge sharing events like the CQ Gems webinar series.  We are very pleased to announce that Adobe is also sponsoring live events for developers across the world:

With 1 event in North America (Evolve) and 2 events in Europe (CQCON and adaptTo()), developers from around the world have a great opportunity to connect within their community, as well Adobe experts participating to those events.

In the full spirit of "the community for the community", all these events are organized and promoted by well-known Adobe partners, respectively: 3|Share (Evolve), Unic (CQCON), and pro!vision (adaptTo()). And in order to be in touch as closely as possible with the developer community, Adobe is eager and committed to participating with great sessions to all these events.

Here is a quick overview of each of the three conferences, listed in chronological order, with details about organizers, content, call for papers and registration.

CQCON - Basel, June 19-20

Content focus (from the official website): "CQCON will be a unique opportunity to aggregate CQ developers [...] to share their experiences, the best development tools and practices, and learn about the most demanded deep technical dives. These will include sessions on development practices, scaling & performance, front end and back end development and specific deep dives into some CQ features [...]"

CQCON: Submit a Session
Registration will open on April 16


Evolve - San Diego, August 26-28

Content focus (from the official website): "[...] the “Deploy” track is ideal for attendees looking to roll out CQ for the first time. The “Enhance” track will demonstrate how attendees can enrich their current CQ environment. The “Maximize” track is non-technical and will illustrate how the attendees can get the most from their CQ investment."

Evolve 13: Submit a SessionEvolve 13: Register


adaptTo() - Berlin, September 23-25

Content focus (from the official website): "adaptTo() is a technical meetup focused on the technical stack of Apache Sling including Apache Jackrabbit and Apache Felix and is addressed to all developers using this stack or parts of it. [...] additional sessions will cover commercial implementations like Adobe CQ and CRX, with particular focus on how these products leverage the architecture."

adaptTo(): Submit a Session
Registration will open in May


I hope that you are able to take advantage of these events to show case your expertise, expand your skills and your network.


by Paolo Mottadelli ( at May 06, 2013 05:45 PM

For AEM Developers: CQCON content preview. Register now.

CQCON, the CQ developer event organized by Unic, that will take place in Basel on June 19-20 2013, is open for registrations and is ready to offer a great preview of the content. I am excited to provide here a sneak into some of the topics and to introduce some of the speakers that will take part to the event.

Register to CQCON from the conference website.
Seats are limited as this is shaped as a rather small event, to allow participants to engage in a warm and collaborative environment.

Here is a small anticipation of the conference topics:

Automated self-testing and health check of live AEM instances
presented by Bertrand Delacretaz, Senior Developer at Adobe Basel and member of the Board of Directors of the Apache Software Foundation.

Mobile First development with AEM made easy
presented by Bruce Lefebvre, Computer Scientist at Adobe Ottawa

Scaling AEM
presented by Michael Marth, Senior Engineering Manager at Adobe Basel

And several other compelling sessions and speakers are already confirmed and will be announced shortly in the final program of the conference. Some of the topics include:

  • Security
  • Integration with backend systems
  • Apache Sling component filters
  • Integration with PhoneGap
  • Integration testing
  • Efficient content structures and queries

CQCON is going to be a unique opportunity to gather more experience on some key topics that make AEM development projects successful and to engage with AEM developers as well as with some of the key developers of the product.

Book your seat now and register for CQCON!


by Paolo Mottadelli ( at May 06, 2013 05:44 PM

Join Us: 2nd Adobe Experience Manager Multilingual Content Intelligence Special Interest Group Meeting

The Multilingual Content Intelligence team at Adobe is excited to host the 2nd Adobe Experience Manager Multilingual Content Intelligence Special Interest Group (SIG) on May 9 in San Jose, California. This time we plan to deep dive into Multi Site Manager in Adobe Experience Manager (which now includes all CQ capabilities) due to the high interest in it from the community. This is a great opportunity to understand basic concepts of Multi Site Manager, related best practices, and the general collaboration around using Experience Manager in a global context. The attendees will also meet Adobe internal experts to share experiences, and network with peers from various industry leading companies that are putting Experience Manager to use.

Here are the meeting details:

Date: Thursday, May 9, 2013

Time: 9:00 AM – 5:00 PM PDT
Address:  Adobe San Jose headquarters       
345 Park Avenue
San Jose, CA, 95110

The event is free, but you must register in advance to attend. For registration, please click here:

For more information or any questions, please contact: Seungmin Lee seunlee at

We hope to see you in a few days!


Seungmin Lee

Sr. Program Manager

Multilingual Content Intelligence, Adobe

by Seungmin Lee ( at May 06, 2013 04:44 PM

May 05, 2013

Tech Travels - Davide Giannella

Openoffice calc: freeze rows while scrolling

It seems I’m spending too much time on the OOo recently.

Assuming you want to freeze rows from 1 to 5 while scrolling the huge table, all you have to do is select the full 6th row and do Window->freeze.

by edivad at May 05, 2013 10:00 PM

CQ OPS - Jayan Kandathil

Guy selling Ottawa Senators car flags out of his Jeep - Kanata,...

Guy selling Ottawa Senators car flags out of his Jeep - Kanata, Terry Fox Road, off the Queensway ramp - May 5, 2013

May 05, 2013 09:53 PM

May 02, 2013

Experience Delivers

Universal video, rich integration, dynamic personalization with the latest release of Scene7

We’ve updated Adobe Scene7, now part of Adobe Experience Manager, and are excited to share the latest features with you. Our newest release includes enhanced features and tighter integration with Adobe Experience Manager to streamline campaign management, improve customer experience, and increase conversion.  

Key features included in the release are:

A new universal video player that enables you to design once in HTML5 and deliver video optimally to every device.  With the universal video player, Scene7 can automatically detect each viewer’s browser type and network bandwidth, and serve up the best viewing and playback experience.


by Vebeka Guess ( at May 02, 2013 08:41 PM

Eyelock - David Collie

CQ XSS Cheat Sheet

The CQ Security Engineering team at Adobe produced the following cheat sheet for using the XSSAPI within CQ.   It’s incredibly helpful!


by David at May 02, 2013 09:00 AM

April 30, 2013

Experience Delivers

Adobe Experience Manager at My Move

By taking direct control of its web content with Adobe Experience Manager, My Move has increased customer satisfaction by 25% and reduced the time it takes to update online offers.

My Move offers tips, tools, and special offers to movers. Its original website, launched in 2011, was built using an open-source portal that required extensive customization. But limited publishing capabilities, including difficulty re-using unstructured content, prompted My Move to seek new tools.

Ada Vassilovski, vice president of product and marketing for My Move, says, “We needed a more robust web content management solution. Time to market is critical for us, so we looked to provide our editorial and marketing teams more direct control so they could publish more current content and targeted offers rapidly, without having to go through our development team.”

by Adobe ( at April 30, 2013 04:37 PM

April 29, 2013

CQ OPS - Jayan Kandathil

Tool to Measure Digital Asset Download Performance of CQ DAM

The output log of the DAM Load Tester can be used as the input to test the user experience of...

April 29, 2013 04:40 PM

A Load Test Tool to Build Terabyte Sized CQ DAM Repositories

CQ’s repository has de-duplication technology built-in.  This means that just making copies of...

April 29, 2013 02:43 PM

April 28, 2013

Tech Travels - Davide Giannella

Git and Dropbox for easy/quick development

Using Dropbox as placeholder for your git repositories works great.

Steps are very easy

$ mkdir ~/Dropbox/git
$ cd ~/Dropbox/git
$ git init --bare myrepo.git

now simply switch to your destination directory

$ cd ~/tmp
$ git clone ~/Dropbox/git/myrepo.git myrepo

Here you go.

by edivad at April 28, 2013 10:00 PM

April 25, 2013

Experience Delivers

CMSwire April Tweet Jam

Our Tatiana Mejia had a chance to join in on CMSwire's most recent Tweet Jam, aimed at growing and engaging online communities. You can find a full recap of the online conversation below. Enjoy!

by Adobe ( at April 25, 2013 06:35 PM

April 23, 2013

Experience Delivers

Conquering the Webinar Process—from within Adobe Experience Manager

As thousands of digital marketers from across Europe gather in London for the start of Adobe Summit today—and also coming hot on the heels of the latest version of Adobe Experience Manager 5.6 (which now includes all CQ capabilities)—we’re excited to announce Adobe Experience Manager webinars, powered by Adobe Connect.

Webinars have become an increasingly important part of the digital marketing mix as organizations work to engage with prospects and customers and to cost-effectively drive leads.  However, to be successful, marketers need to be able to draw large audiences, effectively engage and communicate with participants, and measure the effectiveness of each webinar like they would a search campaign.  And, importantly, do so as part of their overall online presence. Often times, challenges associated with this process can result in marketers not getting the return they need from their online events, at the expense of driving interest, revenue and loyalty.

That’s where Adobe Experience Manager webinars, powered by Adobe Connect, can help by providing marketers with a complete set of capabilities to conduct webinars and manage the process from within the Experience Manager environment.


by Chris Nguyen ( at April 23, 2013 11:51 PM

CQ OPS - Jayan Kandathil

How to Re-Direct CQ Data Store to Specific Disk

For performance and other reasons, it sometimes becomes necessary to re-direct CQ’s Data Store...

April 23, 2013 03:56 PM

April 21, 2013

Tech Travels - Davide Giannella

OpenOffice (calc): minutes between two dates

Sometimes it happens to me as well to play with spreadsheet.

Assuming A1 and A2 are two timestamps and A3 holding the result: A3=(A2-A1)*24*60.

by edivad at April 21, 2013 10:00 PM

April 18, 2013

Experience Delivers

Extract replication logs to separate files

Replication is a key feature of the AEM solution. As such it should be carefully monitored, and there are a couple of ways to achieve this:

  • JMX: since version 5.5 AEM offers JMX MBeans to monitor a number of aspects on your instance, including the replication Agents, the complete list is available here: http://localhost:4502/system/console/jmx.
  • Logs: replication APIs output a certain volume of logs, that can be used to monitor the various agents in real time.

Now option 2 is probably the simplest to use, but all of these logs are written in the main AEM log file: crx-quickstart/logs/error.log. This means that this file will grow fast on large infrastructures where a lot of replications are performed, and monitoring replication can become quite cumbersome.

To avoid this we can arrange for these logs to be written in different files, by creating a new Logger configuration.

by Vianney Baron ( at April 18, 2013 08:27 PM

Modify the auto-generated DIVs using cq:htmlTag

Out of the box AEM creates a number of div tags in the HTML code, these are used by the editing system, but also to identify the various components in the DOM.

As a designer you want to make sure the HTML presented to the end user complies to what you originally put together, so these generated elements can often be seen as a nuisance.

However there are a few ways to work around this, one of them is to use the cq:htmlTag node as described in this post.

by Vianney Baron ( at April 18, 2013 07:28 PM

April 17, 2013

Things on a content management system - Jörg Hoh

healthcheck 1.0 now available via public maven repository

Finally we made it. Thanks to Alex the healthcheck binaries are available now in the public sonatype repository. If you have already included the this repository to your pom.xml, you only need to add these dependencies to your pom.xml:


I also recommend you to add the jmx-extension bundle, as it adds some really useful MBeans.


We will continue the development over at github, we appreciate your feedback.

by Jörg at April 17, 2013 08:48 PM

Experience Delivers

Web Experience Management Wednesday Webinar: Mobile Content Management and Personalization – New date for live webinar, May 1st

The next WEM Wednesday webinar, originally scheduled for April 17th, has been rescheduled for May 1st (following the Adobe Summit in London).  In this webinar, we will continue the exciting conversations around “mobile,” focusing on the ability to deliver relevant experiences across the multitude of mobile and tablet devices available today.

Our experts, Ray Pun, Gunnar Klauberg (@Aeroid) and Gabriel Walt will discuss the importance of investing in mobile personalization, and showcase how Adobe Experience Manager, with integration of Adobe Target, provides the capability to deliver personalized experiences through mobile channels.

Register for the live webinar here. We hope you’ll join us.


by Kim Morris ( at April 17, 2013 04:52 PM

Adobe Experience Management Highlights at Adobe Summit 2013 in London

In just one week, we all will be turning to London for Europe’s biggest digital marketing event of the year: Adobe Summit, The Digital Marketing Conference. Following on last year’s success, we can again expect a great community of digital marketing leaders, innovators and entrepreneurs who are sure to deliver fascinating insights and best practices to solve marketers’ growing challenges.  No doubt that next week will spark new ideas and accelerate many others. Here’s a peak at what’s in store for Web Experience Management:

·         Curious about the true value of enabling marketers to self-publish in 40 languages and 72 countries to establish a digital presence that captures and sustains their audience’s attention?  Then join SAP’s Shawn Burns, Global VP of Digital Marketing and our Loni Stark in their session on “How to Stand Out: Survival of the Most Relevant.”

·         Interested in taking a closer look at how pharmaceutical reps’ sales presentations, delivered on a iPad, can be authored centrally with Adobe Experience Manager, Analytics and PhoneGap to return actionable leads and meeting notes? Don’t miss Miro Walker, CEO of Cognifide and Cédric Hüsler show how to Build blockbuster mobile apps the easy way!”

·         Looking to have several of the most popular digital marketing myths debunked? Get great insights from Stevin Treurniet, Senior Marketing Consultant at DSM and Adobe’s Marcel Boucher on the do’s and don’ts of personalisation and brand engagement in their session, The marketer's guide to solutions for building brands online.”

These are just three of the twelve sessions in the Web Experience Management track. There’s much more, including sessions focused on:

·         Digital Asset Management – how marketers are taking new approaches to creating, managing, and delivering digital assets for dynamic multichannel experiences

·         Experience-driven commerce: Turning passion into purchase

·         The 10 hottest new features in Adobe Experience Manager

Don’t miss it!  Choose your Web Experience Management session before they fill up.

All of this great content and networking comes on the heels of the newest release of Adobe Experience Manager (AEM 5.6) which features a host of new capabilities in Digital Asset Management, Social and Mobile, as well as even deeper integration with other Adobe Marketing Cloud solutions and Adobe Creative Cloud.   

Adobe Summit is the premier opportunity to hear directly from Adobe, our customer and partners gathering in London why Adobe Experience Manager has been named THE leader Web Content Management for Digital Customer Experience in latest Forrester Wave report.

We look forward to seeing you in London!

Gunnar Klauberg (@Aeroid)



by Gunnar Klauberg ( at April 17, 2013 04:50 PM

Eyelock - David Collie

Replacing a legacy URL with a SlingServlet


The legacy system provided services behind URLs that does not map directly to your new CQ content.   How to use a CQ based solution to replace the technology legacy URLs.   For example, your JSON feeds are at [1], and you cannot change them as they are consumed by many systems.

[1] http://localhost:4512/content/geometrixx/feed/daily-view-feed.desktop.content


Standing on the shoulders of a few other blog posts out there and the CQ documentation, you can use the following approach to replace these technology behind these URLs:

1) Create a  SlingServlet
2) execute a Query on the CQ repository using QueryBuilder
3) start building the JSON return using JSONWriter

Download Maven projects containing some sample code showing this (note the Content package is intentionally empty).



by David at April 17, 2013 10:01 AM

April 15, 2013

Eyelock - David Collie

Add custom property to Create Page dialog in CQ WCM


You would like to capture a custom property that your authors can add when creating a page via the /siteadmin of CQ5.   A simple example is capturing a ‘starred’ property as shown in the image below.


A sample package is given at the end of this article.

Changing the UI

By capturing the HTTP trace when launching the “Create Page” out of the box, it can be seen that a WCMCommand request is launched to /bin/wcmcommand.

The first part of this excercise is to alter the UI to add your new properties.   This can be done via the JS file at the following location, which contains the definition for the create page dialog:  /libs/cq/ui/widgets/source/widgets/wcm/Page.Actions.js

Within the Page.Actions, the following code needs modified:

   var createDialog = {
        "jcr:primaryType": "cq:Dialog",
        "id": CQ.Util.createId("cq-createdialog"),
        "title":CQ.I18n.getMessage("Create Page"),
        "formUrl": CQ.shared.HTTP.externalize("/bin/wcmcommand"),
        "params": {
        "height": 520,
        "items": {
            "jcr:primaryType": "cq:Panel",
            "items": {
                "jcr:primaryType": "cq:WidgetCollection",
                "title": {
                "label": {
                "template": {

By copying the file to the /apps directory at the page /apps/cq/ui/widgets/source/widgets/wcm/Page.Actions.js, we can overlay the out of the box file and add our changes, which is to target a new WCMCommand name.   The following example code adds the ‘starred’ checkbox:

   var createDialog = {
        "jcr:primaryType": "cq:Dialog",
        "id": CQ.Util.createId("cq-createdialog"),
        "title":CQ.I18n.getMessage("Create Page"),
        "formUrl": CQ.shared.HTTP.externalize("/bin/wcmcommand"),
        "params": {
        "height": 520,
        "items": {
            "jcr:primaryType": "cq:Panel",
            "items": {
                "jcr:primaryType": "cq:WidgetCollection",
                "title": {
                "label": {
                "starred": {
                "template": {

Note the changed params.cmd value from ‘createPage’ to ‘createPageWithCustomProperties’ and also the addition of the ‘starred’ object element.   You can get details on dialog elements you can add from the documentation.   More on the change of this later.

Reload your page to ensure your changes are picked up and the image as detailed above with the ‘starred’ attribute is shown

(Note: Clear browser cache, add ?debugClientLibs=true if you don’t see the change immediately.)

Accepting the Change CQ Server Side

As noted above, the original ‘createPage’ WCMCommand is called, when we add the change above and try and run the code, you will not see any changes on the node of your newly created page.   This is due to the CreatePageCommand being code to respond only to name/title/template properties.   To accept these new properties you want to add, you need to create a new implementation of the WCMCommand interface.

The general approach taken, which is demonstrated in the package attached at the end. is to:

  1. Create a custom bundle to deploy into CQ
  2. Create a Java class that implements WCMCommand
  3. Implement the getCommandName() method to return the params.cmd value implemented in the UI (i.e. ‘createPageWithCustomProperties’)
  4. Implement the performCommand() method to:
    1. Create the page via the PageManager.create() method.
    2. Carry out the saving of any custom properties to the Page node that was just created.

When deploying the bundle containing your custom implementation of the WCMCommand, the WCMCommandServlet currently will pick up any class that implements WCMCommand interface and register it with itself (via the OSGi <TODO> class).


Once the UI overlay is applied to CQ, along with the new WCMCommand to carry out what you need, you will then see the new attribute in your Page node when you create one with the new UI and Server code.



Download maven projects that create a package that demonstrate the above (tested with CQ 5.5 currently.

by David at April 15, 2013 10:49 PM

Experience Delivers

How to add custom text in your context menu

When you place a new component onto your page, then by default you have a context menu that allows you to edit/delete etc the component.

In this blogpost I will explain you how to add some custom text into the context menu in order to identify your custom component more easily.

by Feike Visser ( at April 15, 2013 11:34 AM

April 14, 2013

Tech Travels - Davide Giannella

Customising CQ5′s SiteAdmin actions

You could have the need to customise the actions available via the siteadmin interface in CQ

For better understaing the one highlighted in the below screenshot

Screen shot 2013-02-28 at 16.04.10

to do so you simply have to copy the




having care of recreating the correct folder structure and node types.

here a json extract


    "jcr:createdBy": "admin",
    "jcr:created": "Thu Oct 18 2012 16:55:43 GMT+0100",
    "jcr:primaryType": "nt:folder",
    "core": {
        "jcr:createdBy": "admin",
        "jcr:created": "Thu Oct 18 2012 16:55:43 GMT+0100",
        "jcr:primaryType": "nt:folder",
        "content": {
            "jcr:mixinTypes": [
             "jcr:createdBy": "admin",
             "jcr:created": "Thu Oct 18 2012 16:55:43 GMT+0100",
             "jcr:primaryType": "sling:Folder",
             "siteadmin": {
                "xtype": "siteadmin",
                "sling:redirect": false,
                "sling:resourceType": "cq/ui/components/widget",
                "jcr:mixinTypes": [
                "jcr:title": "CQ5 WCM",
                "consoleDescription": "Create and manage multiple websites.",
                "iconClass": "siteadmin",
                "jsLibs": [
                "sling:vanityPath": "/siteadmin",
                "consoleTitle": "Websites",
                "jcr:primaryType": "cq:Widget",
                "sling:vanityOrder": 300,
                "actions": {
                   "jcr:primaryType": "nt:unstructured"
                   // here all the actions as subnodes

Then you can simply customise the action you want: for example you could change the target, the conditions, the text or even the handler if you implement your own one.

Following an extract of the “Activate” menu (the OOTB one). I find each attribute self-explainatory.

"activate": {
    "iconCls": "cq-siteadmin-activate-icon",
    "cls": "cq-siteadmin-activate",
    "context": [
    "jcr:primaryType": "nt:unstructured",
    "split": true,
    "text": "Activate",
    "menu": {
      "jcr:primaryType": "nt:unstructured",
      "activateNow": {
        "isDefaultAction": true,
        "handler": "CQ.wcm.SiteAdmin.activatePage",
        "cls": "cq-siteadmin-activate-now",
        "conditions": [
        "context": [
        "target": "CQ.wcm.SiteAdmin.getAnyTarget",
        "jcr:primaryType": "nt:unstructured",
        "text": "Activate"
      "activateLater": {
        "privileges": [
        "handler": "CQ.wcm.SiteAdmin.scheduleForActivation",
        "cls": "cq-siteadmin-activate-later",
        "context": [
        "conditions": [
        "target": "CQ.wcm.SiteAdmin.getTargetFromList",
        "jcr:primaryType": "nt:unstructured",
        "text": "Activate Later..."

if you instead just need to hide/show some commands on certain groups of users, you won’t need to custimise anything, just play with ACL! (See reference).

Once you overlayed you could realise that your changes are not reflected by the UI. This is done by the sling:vanityOrder. As
/siteadmin is a vanity path pointing to wcm/core/content/siteadmin. The /libs one are picked up. The default value (as of 5.5) is 300. Just update the one under /apps to a greater value. 301 is enough. As practice I like to have my vanitypath order as 400+ though.


by edivad at April 14, 2013 10:00 PM

April 12, 2013

Experience Delivers

March 2013 Omnichannel Commerce Round-Up: Must-Read Tips and Best Practices from Our Digital Experience Experts

In March, with the peak holiday shopping season behind us and before merchants head into planning and start locking down their sites for this coming year, we featured con­tent around commerce best practices and how to opti­mize the customer experience across the growing number of devices and channels.

Experts from the Adobe Experience Manager prod­uct mar­ket­ing team shared “Quick Tips” for leveraging channels and content to create optimized commerce experiences that help drive ROI. We also curated related arti­cles and blog posts from across the web and shared many of them via our @AdobeWEM Twit­ter account.  We’ve com­piled the great content here in one blog post for easy ref­er­ence.

Let us know what other types of monthly con­tent you would like to see in the future.

Adobe Quick Tips for Omnichannel Commerce:

Tip One:  “Beware password fatigue! We all want to move beyond guest checkout to know our customer better and amplify our relationship going forward, but requiring everyone to create yet another user account with yet another complicated password to remember isn't the answer. The answer? Use social sign-in and allow your customer to sign-in with their Facebook account or similar. More than 75% of carts are abandoned and this final step of sign-in is a key component. There are additional benefits of allowing social sign-in as well such as being able to know your customers likes and interests and use this information to further personalize their shopping experience with targeted content to make their visit more relevant.”

Tatiana Mejia is a senior product marketing manager for Adobe Experience Manager with a focus on the Social Communities capabilities. Tatiana’s extensive experience in SaaS, collaboration and productivity applications, and social marketing helps marketers build communities and integrate social into their digital properties.

Tip Two:  “All too often we spend a great deal of creative energy designing the checkout experience and then push it out to the general public to find we still have high abandonment rates. As e-commerce practitioners we have to shift to a testing mentality rather than the big annual redesign workshop. The returns can be astounding. Last fall I read a blog entry saying colored header bars across the page created a psychological barrier for the customer to move from one form area to the next (e.g., from shipping Address to billing address to payment details). At first, knowing that my own checkout page included a solid background color in the form header titles, I scoffed at the insight. Then I decided to test the idea and remove the color bars that divided the page from one section to the next. The results were a 16% lift in conversion!”

Darin Archer (@darinarcher) is a senior product marketing manager at Adobe and is responsible for the company’s "experience-driven commerce" initiative as part of the Adobe Experience Manager team.  He leverages his expertise in eCommerce, CRM experiences and technology to help customers meet business needs and deliver a single immersive experience that enables commerce at every point of content consumption. 

Tip Three:  As the customer journey increasingly passes from home to work to in-store and everywhere in between, serving the same content on a product detail page minimizes the opportunity. We have an opportunity to consider the customer journey, where they might be, what device they're accessing our page from and what type of bandwidth they may have to dynamically assemble a different experience in context of these things. On the mobile side we need to consider the different styles of the tablet vs. the mobile phone such that in the tablet case we may want to have huge beautiful imagery that creates a catalogue like experiences to flip through on a couch. Whereas if the customer is accessing that same product detail page on their smartphone they may be in our stores or competitors store trying to determine where it might be in stock or whether or not it's in inventory at the store they're in. With these different cases, taking the customer journey into consideration will drive a different experience for your pages. Take advantage of the insights you have with device detection.”

Gunnar Klauberg (@aeroid) is the product marketing manager for Adobe Experience Manager with a focus on all things mobile. Gunnar has more than a decade of experience in content management and enjoys helping customers drive their business through a coherent and agile web experience.

Tip Four:  We now hold displays in our hands on the couch that have incredible resolution, fidelity and interactivity that far surpasses any print catalogue ever created. Yet, too many websites still showcase the products in multiple tiny columns and rows of product shots. Tip: Create product category pages and special merchandising pages with the product imagery as the focus point. Use large images and a swipe design element to make it fun and visually stunning to look at your products. Include the ability to zoom in further or turn the product around to see it from different angles, and seamlessly bring product sku information forward such as price or ratings at the touch of a finger. Creating a more catalogue like shopping experience will increase engagement and maximize the opportunity for conversion.”

Elliot Sedegah (@esedegah) is a product marketing manager for Adobe Experience Manager, where he brings to this role a breadth of experience in both public and private sector software engineering, product management and IT consulting. His focus and interest is helping organizations take full advantage of online, mobile and social channels to increase customer engagement and provide compelling online experiences.

Tip Five:  Companies today make some of the most beautiful products, yet they're often relegated to a simple product shot with a white background. It's as if the dinner plate only exists on its own with no purpose. Tip: Rather than showcase that dinner plate next to many others in columns and rows of plates, put it back in its natural setting on an a similarly beautiful dining table in a decorated room bringing the joys of a dinner party to life further accentuating the dinner plates contribution. In our stores and our catalogues we know that our products sell better when we can merchandise them in their natural setting with other similar products, yet we miss this opportunity in our e-commerce stores. Showcase your products and inspire not only the sale of that plate, but the entire dining room of products.”

Vebeka Guess is a product marketing manager for Adobe Experience Manager solution. Vebeka focuses on helping businesses deliver rich, engaging and customized digital experiences by leveraging the dynamic media, personalized media and video capabilities available as part of the Experience Manager Digital Asset Management offering.

Tip Six:  “Site becomes the store: Many consumer goods manufacturers and some retailers have a "brand site" and an e-commerce "store". The marketing investments are divided and often favored to the "brand site" where showcasing the product in its best light is the focus rather than e-commerce. Alternatively, the e-commerce team then drives a store experience that has the same product information although sometimes less engaging. Tip: Let the site become the store. All of the rich compelling marketing pages showcasing the latest collection, hot trends or new version need not ask the customer to go "shop the collection" when they're interested in buying. Rather, take advantage of that moment and let them add to cart and purchase right there vs. requiring them to go find the product of interest in the ‘store’.”

Darin Archer (@darinarcher) is a senior product marketing manager at Adobe and is responsible for the company’s "experience-driven commerce" initiative as part of the Adobe Experience Manager team.  He leverages his expertise in eCommerce, CRM experiences and technology to help customers meet business needs and deliver a single immersive experience that enables commerce at every point of content consumption

Articles and blog posts from around the Web:

Crate & Barrel: A Company that Began with a Dream

Tablet traffic surpasses smartphone traffic for the first time

How mobile-optimised sites drive conversion rates and AOVs

Mobile Shopping Catches on with Affluent Consumers

Forrester: U.S. Online Retail Sales to Hit $370 Billion by 2017

Everyone loves a deal, but U.S. web shoppers love it most of all

The Ultra-Modern Store That Gives E-Commerce A Whole New Dimension

Each Channel Has A Unique Merchandise Profile

Report: 70% of Consumers Trust Brand Recommendations From Friends

Consumers Favor Trad Online Vs. Social Media For Shopping Info

The World's Top 10 Most Innovative Companies in Retail

Understanding the Stages of Retail

Hope you enjoyed the com­pi­la­tion! In April, Adobe Digital Marketing experts will share targeting tips, so keep check­ing the Adobe Dig­i­tal Mar­ket­ing Face­book page for new tips.

What other top­ics would you like to see us cover? Let us know your thoughts.

by Adobe ( at April 12, 2013 05:43 PM

Tech Travels - Davide Giannella

Disable CQ5 TarPM Optimisation

$emacs crx-quickstart/repository/workspace/crx.default/workspace.xml
$emacs crx-quickstart/repository/repository.xml
<PersistenceManager ...>
  <param name="autoOptimizeAt" value="-0" />


by edivad at April 12, 2013 12:28 PM

April 11, 2013

Experience Delivers

CMSwire Tweet Jam Recap: Defining Employee Engagement

Our own Scott Date recently had a chance to participate in CMSwire's most recent Tweet Jam, focusing on employee engagement. You can find a complete recap of the event below. Tune in next time using the #SocBizChat hashtag on Twitter.

by Adobe ( at April 11, 2013 11:19 PM

How to find the Test&Target client code

When you are beginning with the integration of AEM and Adobe Test&Target you may run into your first issue how to find the client-code when you are configuring the connection.

This small blogpost will show you how to find it.

by Feike Visser ( at April 11, 2013 11:53 AM

Resources for CQ Developers

CQ Developers around the globe are tuning in to our newest webinar series: Adobe CQ Gems on Adobe Experience Manager to gain valuable insight, tips and code while interacting with Adobe experts. 

Two new sessions have been added to the schedule.

·        April 17th Jon Fait, Project Lead for Digital Marketing at Adobe who will be presenting AEM 5.6 Media Publisher

·        April 24th Felix Oghina, an Adobe Product Developer, will present hybris and AEM 5.6 - eCommerce framework integration.

Each session is designed to be interactive and is limited to 45 to 60 minutes in length. Sessions begin at 8:00 AM Pacific/ 4:00 PM GMT (convert to your time zone). Sessions will include presentation/ demo and a dedicated Q&A session.

by Chris Nguyen ( at April 11, 2013 12:02 AM

April 09, 2013

Experience Delivers

Clientlibs explained by example

In this blogpost I will go through the basic functionality that the ClientLibraryFolder offers, and how you can utilize that with the <cq:includeClientLib /> tag.

The "clientlib" functionality will manage all your Javascript and CSS resources in your application. It takes cares of dependency management, merging files and minifying content.

by Feike Visser ( at April 09, 2013 07:39 PM

April 08, 2013

Things on a content management system - Jörg Hoh

Performance tests (3): Test scenarios

The overall performance test is usually grouped into smaller test chunks (I call them scenarios), which replicate certain aspects of the daily operation like:

  • normal operation
  • many people login into the system during the start of the business hours
  • your marketing campaign got viral and now huge traffic spikes come over from Twitter/Facebook/G+/…
  • how can your system handles traffic when some are down for maintenance?
  • you are preparing a huge amount of new content on authoring
  • (and many more …)

Collect the scenarios you know you will have, and detail them out. If you have historical data on them, use them. If you don’t have such data, start with rough estimations. You will adjust them afterwards anyway by any feedback of your production system.

A performance test scenario consists at least of these items:

  1. Objectives what should be tested (the “questions” of part 2); this objectives should detailled and clear, usually they are oriented on the aspect of the daily operations you just identified.
  2. A number of test cases, which are executed during the performance test; in most real-life situations multiple different activities are carried out in parallel, and your performance test scenarios should reflect that.
  3. Systems and environments, where the tests are executed and can deliver meaningful results.
  4. Facilities to monitor the systems, which are involved in the test execution; it should be described, which information is considered valuable for this test scenario and which should preserved for analysis.
  5. Instructions how to interpret the monitoring data gathered throughout the test execution.
  6. Instructions how the test should be executed.
  7. In the end there should be a clear answer if the objectives have been met.

All of the aspects should be covered. And now it is clear, why good performance test is nothing which can done without preparation and within 1 day. Such adhoc tests usually never deliver proper results, because they heavily focus on the test execution and less on proper preparation of the test cases and the interpretation of the results.

Even if you plan much more scenarios than you will ever execute: Just thinking of them, planning and defining them often gives you valuable input for your application design. As in many cases functional test planning makes you think about system, about expected behaviour and error handling. It’s the same here.

(Applying the TDD mechanisms to performance tests would be an interesting exercise …)

by Jörg at April 08, 2013 10:31 PM

Experience Delivers

Adobe named the Only Leader in Forrester Wave on Web Content Management for Digital Experience

We are on an incredible journey—one that is transforming web content management and the role and impact of digital marketing.

Two and a half years ago, Adobe not only decided to run on a web content management system called CQ5, but we loved it so much, we acquired the small Swiss company that built CQ5, Day Software.

Today, it is clear that CQ5 is looking better than ever as the heart of Adobe Experience Manager, the content foundation of Adobe Marketing Cloud. Forrester Research, Inc.'s recognition of Adobe CQ as the only leader in the "The Forrester Wave™: Web Content Management For Digital Customer Experience, Q2 2013" is, in our opinion, a testament to this fact.

It's a major milestone. I am so proud of the team here at Adobe and grateful to our customer and partner community who have placed their trust in our product and people.

There are two particular words from report authors Stephen Powers and David Aponovich I want to focus on from the Forrester report. They speak to the strategy and execution of what we have been focused on these past couple of years. The words are not mobile, social or cloud. These words are really the means to an end.

The two words that stand out are "needs" and "imagination."

Needs: The definition of digital marketing is rapidly evolving and the demands have never been greater. Brand perceptions and customer interaction are increasingly happening online. Everyone in an organization is a digital marketer; web content management, the means for companies building their digital selves.

Organizations need to stand out to survive.

It's estimated in 2012, 1.8 zettabytes of content was created on the internet. More than 7 million times the entire digital asset collection stored by the US Library of Congress. Customers don't need more content or data—they need more relevant content based on desires expressed through data insights. Attention has become the scarce commodity online. To build brands that drive demand in the evermore-crowded digital world, organizations need a web experience management solution that helps them capture customer attention and stay relevant.

It is this need that we have focused on. We've made Adobe Experience Manager even easier-to-use for marketers while striving for the most powerful capabilities. We have kept to the principles of ease-of-integration from our open source foundation, while innovating rapidly across mobile, social and video to give organizations the time-to-market they need.

Imagination: Imagination is powerful. I was reminded of a Dr. Seuss quote recently, "It's not about what it is, it's about what it can become." Web content management software should expand the imagination, not limit it. We strive to build technology that gets out of the way. Technology that lets marketers and organizations create the purest expression of their imagination and to gain the most visceral reaction from the audience.

Digital marketing and technology is evolving faster than ever. Today, mobile, social and video are critical channels for marketers. Because of this, our latest release of Adobe Experience Manager came out with innovations around responsive design, richer social community support and inclusion of Adobe Scene7 video as part of the offering. However, tomorrow, there will be other ways to engage with customers that we have yet to dream of.

As the digital world changes, know that the Adobe team will stay relentlessly focused on your needs as customers and partners and make technology that gets out of the way, so you can unleash your imagination.

I'd encourage you to check out a complimentary copy of the full Forrester report, which we've made available here. We also distributed a press release today with additional details.

Two final words: Thank you.

Loni Stark (@lonistark), director of Product and Industry Marketing


by Loni Stark ( at April 08, 2013 04:17 PM

Tech Travels - Davide Giannella

Where’s my welcome page? (CQ5)

It could happen that on CQ5.5 SP2 after restarting the instance you see the CRX welcome page and not the CQ one.

Screen shot 2013-04-08 at 14.24.12

This is due to the fact that within the repository there are two Sling vanity paths both referencing ‘/welcome’. The sling:VanityOrder is 200 for CQ and 900 for the CRX one. The higher wins.

you can find the nodes by doing a search in CrxDE Lite.

SELECT * FROM [nt:base] AS s WHERE s.[sling:vanityPath] = '/welcome'

To solve once and for all the issue I remove the sling:vanityPath property from /libs/crx/core/content/welcome. Another option could be by changing the vanityOrder to something lower than 200.

It should not happen in 5.5 SP2.1 but in case this is how I went around it.

by edivad at April 08, 2013 01:30 PM