- Andrew Kos
- Bill Burlein
- Bryan Williams
- Christian Vozar
- Jeff Brown
- John Kraus
- Joseph Mak
- Mark Daugherty
- Matt Van Bergen
- Melissa Geoffrion
- Michael Kang
- Michael Chan
- Michael Hodgdon
- Mike Motherway
- Molly McDaniel
- Nadia Maciulis
- Pat McLoughlin
- Paul Michelotti
- Puru Hemnani
- Rohit Srinath
- Ryan Lunka
- Tom Kelly
All Blogs
CITYTECH Blogroll:
A better way to manage Maven dependencies in Adobe CQ5
Sunday, January 27, 2013
When starting a new CQ5 project, setting up a Maven POM with project dependencies can be an unnecessarily time-consuming task. Dependencies specified in the POM file must match those provided by the CQ5 OSGi container to prevent deployment and runtime issues, and the process of manually extracting Maven metadata from OSGi bundles in the Felix console is tedious and error-prone. We can do better, and fortunately, Adobe has provided the Maven Archiva Servlet to streamline this process.
CQ5 Groovy Console 2.0.0 Released!
Thursday, September 13, 2012
It's been over a year since the initial release of the CQ5 Groovy Console, and we've since added a significant number of new features and enhancements to improve the usability of the tool. Version 2.0.0 was released this week; some highlights are listed below:
Complex validation of CQ5 dialog fields using a custom Sling servlet
Monday, April 16, 2012
Dialog fields in CQ5 occasionally require validation that cannot be handled with static constraints or regular expressions. However, this type of validation can be easily accomplished by delegating the validation function to a custom servlet. The implementation details and code samples below describe a viable solution for most validation scenarios.
Groovy in session at Über Conf 2011
Friday, July 22, 2011
Denver, CO July 12-15, 2011 The best possible outcome for a developer attending a software conference is to leave feeling inspired and invigorated — anxious to explore new tools & technologies while gaining no more than 10 pounds in cookie-weight. NFJS had assembled an impressive variety of sessions, but I opted to focus on those related to the Groovy ecosystem, plus a few Scala and NoSQL sessions to escape my comfort zone. I’ll further limit my observations below to three Groovy-based tools in particular — Spock, Geb, and Gradle.
Groovy web console for Adobe CQ5 and JCR
Monday, June 20, 2011
I’ve been using Groovy as much as possible on CQ5 projects, mainly for building supplementary tools and running scripts against the content repository (JCR). The underlying Sling framework provides built-in Groovy support, so it’s a simple matter of uploading the latest Groovy jar to your local server (via the Felix console) to tap into the dynamic, functionally-styled, syntactically-sugary goodness of Groovy on your CQ5 instance.
A SpringOne2GX Chrestomathy
Tuesday, October 26, 2010
As a largely developer-oriented software conference, I didn’t really know what to expect from last week’s SpringOne2GX in Chicago. Honestly, I was prepared to sit through several bone-dry, monotonous technical dissertations. But, as Tim Berglund launched into his excellent “Grails in the Real World” session, my concerns faded quickly. This was the first time I’d seen Tim in action, and his blend of high-energy charisma and impressive Grails expertise was an easy highlight of the conference.
Groovy + JSON, in an OSGi container?
Saturday, October 23, 2010
Very specific usage, yes, but I needed it for a custom script in a Day CQ5 project. The popular JSON-lib library has integrated Groovy support, but devolves into dependency hell when attempting to load into an OSGi container. Rather than plunge myself into a minor nightmare, I instead opted for the Jackson JSON Processor, which contains the necessary bundle metadata, but no built-in Groovy support. HOWEVER, their ObjectMapper class can bind a JSON string to a Map, which allows me to harness the beauty of Groovy map navigation. Behold.
Grails ate my Spring persistence layer
Friday, May 7, 2010
The time-saving aspects of using Grails for web application development have been well-documented. Take, for example, an ordinary Spring/JPA application. I did a quick analysis of such an application as a concrete example of just how much code and development effort could have been saved by using the GORM features of Grails alone.
Making a mockery of CQ5 with JMockit
Monday, February 8, 2010
Java mocking tools are notorious for their limitations. Ideally, one would not have to compromise design and code integrity for testability, but the reality is that the restrictions of popular testing frameworks such as jMock, Mockito, and EasyMock cause headaches for many developers. Does this look familiar?
Deadliest Cache?
Monday, October 26, 2009
I recently looked into third-party caching solutions for use in a CMS application. For a few previous projects, I’d written a simple map-backed cache to hold objects such as search results and expensive lookups. This was simple enough to implement, but once I started eating up hours adding timeouts, changing map implementations, and adding multiple caches, I decided I should stop trying to reinvent the wheel and instead go with the time-honored tradition of using someone else’s.
Mark Daugherty
A longtime enthusiast of logic and problem solving, it seems appropriate that Mark would be inspired by software ideas and technologies...
Recent Posts
- Invisible requirements within Business requirements
- Building a better Options Predicate
- Javascript, This, and You.
- Extensionless URLs with Adobe Experience Manager
- The Life of a Tester in Adobe CQ World!
- Limitations of the CQ Parsys Model and the Implementation of a Nested Paragraph System
- Google Analytics and AEM: No JavaScript? No Problem.
- Using Apache FOP to generate a PDF document based on a form submission data
- Configuring SAML in AEM 5.6
- Why You Should Get the WCM Experts Involved Early