Day CQ WCM Debug Filter Configuration Missing

As part of general security hardening of an AEM instance, Adobe recommends turning off the debug filter in Production Publish instances as part of the OSGi configurations (http://dev.day.com/docs/en/cq/current/deploying/security_checklist.html#OSGI Settings).

However, it seems that this configuration is no longer found in the OSGi configurations in AEM 5.6.1. It’s back in AEM 6.0 and from what I’ve heard this may be addressed in a future release of AEM 5.6.x.

But for those currently on 5.6.1, how can you change a configuration that does not exist and prevent debug output being enabled? By either stopping the com.day.cq.wcm.core.impl.WCMDebugFilter component under http://localhost:4502/system/console/components, or by curl:

curl -u admin:admin -d "action=disable" http://localhost:4503/system/console/components/com.day.cq.wcm.core.impl.WCMDebugFilter
Posted in AEM | Tagged , , | Leave a comment

AEM Gotchya: No packages in Package Manager

I was working with a client who had a problem with no packages showing in the CRX package manager. I checked the usual suspects of not being logged in etc, but everything looked fine. When checking the error.log, I saw this line:

log:  27.06.2014 13:16:53.845 *ERROR* [127.0.0.1 [1402543013788] GET /crx/packmgr/list.jsp?_dc=1402543013769&_charset_=utf-8&includeVersions=true HTTP/1.1] com.day.crx.packmgr.impl.servlets.ListServlet Error while retrieving infos: javax.jcr.RepositoryException: Invalid path:/etc/packages/my_packages/.snapshot/My Packagename 

CRXDE Lite showed that the path /etc/packages/my_packages/.snapshot/My Packagename was indeed valid. Checking the packages installed via curl gave me the the clue to the problem:

curl -u admin:admin http://localhost:4502/crx/packmgr/service.jsp?cmd=ls

<crx version="2.4.42" user="admin" workspace="crx.default">
  <request>
    <param name="cmd" value="ls"/>
  </request>
  <response>
    <data>
      <packages>
        . . . 
        . . .
        <package>
          <group>my_packages</group>
          <name>My Packagename </name>
          <version>1.0</version>
          <downloadName>My Packagename-1.0.zip</downloadName>
          <size>8770</size>
          <created>Thu, 12 Jun 2014 15:25:33 +1000</created>
          <createdBy>admin</createdBy>
          <lastModified>Thu, 12 Jun 2014 15:25:33 +1000</lastModified>
          <lastModifiedBy>admin</lastModifiedBy>
          <lastUnpacked></lastUnpacked>
          <lastUnpackedBy>null</lastUnpackedBy>
        </package>
        . . . 
        . . . 
      </packages>
    </data>
    <status code="200">ok</status>
  </response>
</crx>

What I couldn’t see in the error log you can clearly see in the package listing – a trailing space at the end of the package name.

After ducking back into CRXDE Lite, it was easy to rename the package by editing the ‘name’ property of the vault definition located at /etc/packages/my_packages/My Packagename-1.0.zip/jcr:content/vlt:definition. Then after refreshing the packages in Package Manager, packages were displayed and all was working as expected again.

Posted in AEM | Tagged , | 4 Comments

AEM 6.0: Admin sessions

Things on a content management system

With AEM6.0 comes a small feature, which you should use to reconsider your usage of sessions, especially the use of admin sessions in your OSGI services.

The feature is: “ResourceResolverFactory.getAdministrativeResourceResolver” is going to be deprecated!

Oh wait, that should be a feature, you might ask. Yes, it is. Because it is being replaced by a feature, which allows you to easily replace the sessions, previously owned by the admin (for the sake of laziness of the developer …) by sessions owned by regular users. Users which don’t have the super-power of admin, but regular users, which have to follow the ACLs as any other regular user.

A nice description how it works can be found on the Apache Sling website.

But how do you use it?

First, define what user should be used by your service. Specify this in the form “symbolic-bundle-name:sub service-name=user” in the config of the…

View original post 123 more words

Posted in AEM | Tagged , | Leave a comment

AEM 6.0 Released

At the end of last week, AEM 6.0 was finally released. As both a LiveCycle and AEM developer this is very interesting news for me, since LiveCycle is being merged into the AEM product suite, under AEM Forms. This also includes Adaptive Forms – forms with a responsive design and a host of other cool features.

Here are some links where you can find more information on AEM 6.0:

AEM 6.0 Release Notes

AEM 6.0 Documentation

Sightly – The New AEM 6 Templating Language

Introduction to AEM Forms

AEM Forms Help

AEM Forms Forums

There’s a lot more information out there, but this is some good reading to get started.

Posted in AEM, LiveCycle | Tagged , , | 1 Comment

Certified Scrum Master

Many of the clients I work with use Scrum to manage projects. I find it a great way to deal with complex projects that have ever changing requirements, as the case tends to be in large enterprises.

So in an effort to further improve my skills in this area, I recently became a Certified Scrum Master. Even if you are not planning on perusing the role of Scrum Master, the course still provides you with some great skills to use in a Scrum environment. Also, by becoming certified you get a two year membership to the Scrum Alliance which include access to job postings, user groups, discounts on Scrum gatherings, access to a wealth of information, and more.

If you’re interested in becoming more active with Scrum, be it in the Scum community or in the workplace, then this is definitely worth looking into.

Posted in Certifications | Tagged , , , | Leave a comment

Trick: Using Charles as a Mobile Proxy

While creating some AEM Forms (LiveCycle) demos for some clients, it became very apparent that they wanted to see forms in action on mobiles and tablets. One of the easiest ways I have found to do this is by using Charles.

By ensuring your demo computer and mobile/tablet are on the same network, and manually configuring the proxy settings on your device, you can route all traffic via Charles and force your device to pass through your computer when browsing. So if you have an HTML form on your computer at the URL http://localhost:8080/lc/content/xfaforms/profiles/default.html?contentRoot=repository%3A%2F%2F%2FApplications%2FFormDemo%2F1.0%2Fforms&template=SampleForm.xdp&dataRef=http://localhost:8080/lc/content/dam/lcapplications/temp_archive_storage/tempArchive_4895793046486&dataRef=4895793046486 (as is generated in the Forms Manager preview), you can open this form on your device by substituting localhost with the IP address of your computer – you now can test and demo forms on a mobile device!

I’ve not tested other AEM functionality in this way yet, but I don’t see why it would not work the same way.

For official instructions on using Charles in this way (for an iPhone), check out Using Charles From an iPhone.

Posted in AEM, LiveCycle | Tagged , , , | Leave a comment

AEM Forms Gotchya: Forms Manager Not Running Correctly

I was trying to use Forms Manager in my local ES4 installation for the first time today, and even though I had installed the module when installing AEM Forms (previously known as LiveCycle) the Forms Manager option was not appearing for me in the main menu at http://localhost:8080/lc

Forms Manager Missing

The strange thing about this is that if I navigated directly to the actual Forms Manager URL at http://localhost:8080/lc/fm, Forms Manager was running. However none of my LiveCycle applications were listed, and when trying to syncronise my applications with Forms Manager as described in Getting forms in Forms Manager I was not allowed due to permissions errors, even though I was logged in as the Super Administrator. When I updated my own user with ALL roles in LiveCycle, I could not even access Forms Manager at all.

Forms Manager Not Enough Access Privileges

I asked a colleague of mine Darren about this (who runs his own LiveCycle blog The LiveCycle survival kit), and he suggested I try and run Configuration Manager again. When Configuration Manager reached the step of “LiveCycle ES4 Component Deployment Validation”, it passed validation but not without some warnings that some DSCs were not running. One of these was “adobe-formsmanager-dsc.jar is deployed but is not currently running”.

Forms Manager DSC Not Running

I opened Workbench, and sure enough the FormsManager DSC was in a stopped state. A simple right-click on the component to open the menu, then clicking “Start Component” started the component. After re-running the “LiveCycle ES4 Component Deployment Validation” step in Configuration Manager again, this warning did not appear. After Configuration Manager finished, I opened the Adobe LiveCycle ES4 Modules page again at http://localhost:8080/lc and sure enough, Forms Manager was listed and working correctly this time.

Forms Manager Present

Posted in AEM, LiveCycle | Tagged , , , , | Leave a comment