Posts Tagged “OSGi”

Debugging Apache Axis 1.4 with SLF4J

In my previous blog post, I discussed getting Apache Axis 1.4 working in AEM. One of the more interesting things about Axis 1.4 is that it's not easy to log the actual request from the client and response from the server.  You can configure the LogHandler, however it is somewhat problematic in AEM to configure due to the classpath complexity in OSGi and it will only log to the system outputstream.  This is problematic in...

Running Apache Axis 1.4 in AEM

Despite doing several Web Service implementations over the last couple years, I have successfully avoided using Apache Axis until now.  A client's Web Service implementation was incompatible with the code generation tools available in more modern Web Service clients, such as Apache CXF.  While there is documentation around using Axis 2 with AEM, there isn't really anything available for Axis 1 in AEM, which is what I needed to use.  So, I rolled up my sleeves...

Simple Web Console Templates

Awhile back, I wrote a blog post about [creating Apache Felix Web Console Plugins](/blog/2013-09-11/service-boss-level-part-2-custom-web-console-plugins/). It's a pretty great technique for creating a diagnostic configuration panel for complex services or applications, however the process for rendering HTML for the consoles is still somewhat stuck in the dark ages. Since servlets are used to render the HTML, you'll generally see HTML being written to the response in the Java code of the Web Console...

New in AEM 5.6.1: Workflow Purge Scheduler

In previous versions of Adobe CQ5/AEM in order to purge old completed workflows, you needed to either write a custom job or install an additional package provided by DayCare.  Now in AEM 5.6.1, this functionality comes out of the box with the product.Why Purge Completed Workflows?So why would you want to purge completed workflows?  Workflow instances are stored as nodes inside CQ.  Generally, this doesn't pose a problem for author-generated workflows, at least not over...

Service Boss Level: Service Factories

I've always wondered how the Apache Sling Logging Logger Configuration worked.  I like the idea of being able to configure multiple configuration instances through the OSGi Console and could see how this would cut down on the UI code I'd need to write in many circumstances.Since working on the Apache Sling project, I have taken the time to peruse the code for the Sling logger.  Unfortunately, the Sling logging code uses a fairly arcane method for registering the...

SlingFilter Addendum

One thing to keep in mind about Filters, their removal should not render your system unusable. For example, the ICS Filter in my last article, if I remove or disable it, the ICalExportServlet continues to function (as well as the rest of CQ) without error. I would say if your application does not function without the functionality you are writing, then a Filter is probably the wrong animal for you.  You could write alot of...

Sling Filter For Your Custom Calendar Event ics

Recently we added some new Calendar Event Form components.  The Author's required the ability to select a TimeZone for an event, and also and event "reminder".  Authoring these components only, don't give you the full implementation needed to have the additional content added to the ".ics" file that is generated when clicking on the "Download event as ICS file" link.This required something to be done on the back end.  My good old buddy recent requests...

Your Custom Namespace Retort

So - In my last article, I stuck my new Namespace in an OSGi bundle where it did not belong.  I wanted to verify the approach for adding the Namespace, and in my thinking at the time, it was the quickest location to do that.  It worked.  Great - now how do I put it in the "correct" location.You cannot simply remove the Sling Namespace metadata from the POM and redeploy.  Nope.  Still there.  What I...

CQ5.5 OSGi (/system/console) Permissions

In the past, I've had several clients requesting access to the OSGi console, or /system/console, for users other then the built in "admin" user.  This is a fairly straightforward configuration but there is limited information about it online.  Out of the box CQ permissions unfortunately do not handle the OSGi / Felix stack.  Because of this, assigning a user to the "administrators" group in CQ is not enough to grant them access to the OSGi...