Adobe’s Day CQ 5.3 – My view of the product

Day CQ has been in news ever since Adobe decided to acquire the company. Firstly, it was around providing a WEM platform along with Adobe’s online marketing suite and than as highlighted by @irina_guseva from RSG, CQ5 WCM development skills are hot — and scarce. I recently had some hands-on experience in exploring the porduct and we launched three websites in the space of five months, which clearly highlights one of the main strengths of the product i.e. quick time to market. There are lots of positives about the product. To list a few are:

Strengths

Strengths

  • Easy to setup and get started
  • Architecture (Open source + standards)
  • Sling framework is pretty cool ! .html to .xml to .json etc
  • Jackrabbit, Felix OSGi bundles JCR 283 Standards compliant
  • Default cluster of one, so easy to add remove new instances
  • Syndication/ content sync is pretty fast
  • Packaging architecture is neat
  • System backups
  • Blogs (reverse publishing)
  • etc

And there are lot of sites which talk about its positivity. There are always two sides of the coin, and product does have some not soo good aspects as well. Find below the list which might be useful for users who are trying to evaluate CQ. The below list is based on my experience and I am happy if any of the CQ guru’s want to correct me:

Weakness

Weakness

  • Separation of component and content: The component model doesn’t really highlight the real value of a CMS product. Most of the components which comes out of the box doesn’t really separate content from presentation and I fould it hard until we adoped the approach of data components and presentation components. For more details, please refer to my old post: Adobe’s Day CQ : Separation of content from components
  • Multi Vendor and issue with CSS /Divs: CQ requires HTML, CSS to be defined in specific formats, as it adds a number of divs on its own to establish its paragraph system. If you are working in multi-vendor environment, where a creative agency is developing designs and mock-ups without any clue of CQ, it may sometimes be really hard to adopt it in CQ. It is better to look for some guidelines from CQ around the structure of HTML, CSS to be defined.
  • Thin Documentation: Even though dev.day.com has basic set of documentation available, it is really hard if you want to customize even a small bit of it. The architecture is pretty open but unless there are pointers to explore its really a big hinderance. The google groups CQ forum has more of queries than solutions, but recently it has been pretty busy.
  • Authoring WCM User Interface: UI for authors is Ajax based, and so it is an issue in organisations where JS is disabled. With JS disabled, the interface comes back as blank page.
  • CRXDE: Popular tool for development is CRXDE but we had troubles in its integration with SVN. The updates didn’t work as expected and you can’t check-out a single file. There is no proper guidelines to merge and resolve conflicts apart from doing it outside CRXDE
  • Reporting: Out of the box reporting available within CQ 5.3 is pretty thin and you need to write custom code to extract most of the required information. This has changed significantly with V 5.4.
  • Package Manager: New package manager with CQ 5.3 has number of issues and in my experience it is better to use the old package manager which is more reliable. Also, the UI for pacakge manager doesn’t refesh and hangs for ages.
  • Multiple interfaces: CQ comes with number of interfaces including WCM, CRX, Apache Felix, servlet engine administration. Some of the functionalities re overlapping across interfaces. It will be better to consolidate into one.
  • CQ Corruption: We have seen a situation where CQ stopped working just because someone switched off the machine while CQ was running. It happened to be that CRX repository was out of sync on local and shared directories which didn’t allow CQ to start again.
  • Sidekick is sleak but annoying and does page refresh for each action

If anyone wants to share their not so good experience with CQ please drop a comment or mail me and I will consolidate as part of the above post.

Tags: , , , ,

16 Responses to “Adobe’s Day CQ 5.3 – My view of the product”

  1. Jeff Brown says:

    Good post. Having worked with CQ for the past few years almost non-stop, I’d agree with your list of pros/cons for sure.

    RE: CRXDE, my recommendation is for developers to use Eclipse, Netbeans, whatever your favorite IDE is for Java development. CRXDE is useful in some edge cases (IE: test a quick change to a jsp or for your HTML/CSS developers), but not for full blown java dev work.

    Also fully agree if one follows the pattern that the product does for it’s components, you will be in trouble quickly. In most cases, though not all, they buried the logic directly in the JSP making re-usability and extension almost impossible. We separate logic from presentation for all custom components we do and get all that Java code out of the presentation layer so it can be reused and unit tested.

    I’d put Sling/OSGI on both sides of the coin. Great and powerful, but little industry traction to date so it being open-source loses some value. Also finding or building OSGI bundles for common Java frameworks when you need to integrate is a challenge. IE: try to get Hibernate supported deployed into Felix.

    Again, great post and refreshing to see a realistic review and not just rah rah cheerleading – shows you have actually used the product and realize like all software, it is no where near perfect.

  2. shishank says:

    Thanks a lot Jeff. I always feel its easy to get a list positives but difficult to know what the product is not good at. Hope we hear some more comments with CQ guru’s.

    Shishank

  3. dsteele says:

    – Encapsulate components into POJOs, add to page context, and emit them via markup-like taglibs. CQ (& sling for that matter) is philosophically aligned with scripting. JSTL,CQ,& sling taglibs are available to you, although they are somewhat of a compromise.
    – Wrapping components in a div w/ a CSS class matching the component name is often more helpful than otherwise. Choose agencies that understand web content management and have experience with implementing against them. Pretty comps without rationalization is a recipe for disaster and logical holes.
    – I think CQ is well documented.
    – The authoring environment is the secret sauce to CQ’s demos. It relies on Javascript. This is not a weakness in my opinion. However! CQ/ExtJS does not seem to play nicely in chrome11 and firefox4…
    – RE: CRXDE, use something else. Don’t let vault be the middleman to subversion either.
    – Don’t use reporting that relies on bulkeditor
    – CRX inconsistencies will occur. Some remedies are available in the CQ knowledge base but severe problems with large amounts of content (or moderate content with large volumes of versions) can remain a challenge. Backup often (hot backups & VM snapshots)
    – Not every sidekick actions require refresh, just swapping between WCMModes

    Did you actually use reverse replication?

  4. Shishank says:

    Hello David,

    Thanks for the your inputs.
    -We can’t really control the selection of creative agencies which knows WCM and it is also not fair for them to know WCM. So I do not agree that we should go for creative agencies with WCM experience.
    -Also, CRXDE is provided by CQ and recommended as well, so why to look for something else. I believe in using OOTB as that’s where product is at its best.
    – I haven’t found CQ documentation good enough. We always found it hard to locate information. It is good to know about CQ and its interface but not from programming point of view.
    – Not using reporting which comes with CQ and building our own doesn’t sounds right. If there is something available OOTB, why not use it?
    – My expectation for buying a product is that it should support both JS and non-JS UI. After all you are paying a handsome amount to find that it doesn’t work with JS is disabled.

    Yes we have used reverse replication.

    Thanks

  5. Jason Meyer says:

    Been developing CQ5 since it came out in 2009 Q1. Prior to that I was a TeamSite developer/architect for 8 years.

    Separation of component and content – Agree to some extent. If you want to be able to reuse and leverage some of the components that come out of the box, you’ve got to be able to deal with some code in the JSPs. If you want to rewrite all components from scratch, then I’d go with the separation. One thing to keep in mind is that sometimes installs of the OSGi bundle can go bad and when it does it will break all functionality across all components.

    Multi Vendor and issue with CSS /Divs – I agree 100%. A CMS should not force even 1 character onto your pages. You should have full control over everything. In most cases your CSS is dependent on a certain DIV structure and adding any DIVs to the mix can really mess things up. I raised this as a concern with DayCare and they provided some decent workarounds:
    CQ 5.2 Add this to your global.jsp (see http://dev.day.com/content/kb/home/cq5/Development/ComponentDiv.html) –
    if (WCMMode.fromRequest(slingRequest) == WCMMode.PREVIEW || WCMMode.fromRequest(slingRequest) == WCMMode.DISABLED) {
    slingRequest.setAttribute(ComponentContext.BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE, false);
    }

    CQ 5.3 Add this to your page component –
    if (WCMMode.fromRequest(slingRequest) == WCMMode.PREVIEW || WCMMode.fromRequest(slingRequest) == WCMMode.DISABLED) {
    componentContext.setDefaultDecorationTagName(“”);
    }

    CQ 5.4 there are properties that can be set on each component as to whether it should have a DIV wrapping it and what classes should be assigned to that DIV. cq:noDecoration a boolean should be set to false to cause the component to not be wrapped with a DIV or CSS.

    Thin Documentation – For authors and administrators, the documentation is pretty good. For developers there are definitely areas that the documentation is weak. Specifically the Java docs for the various APIs.

    Authoring WCM User Interface – I think it should be obvious, to any web-savvy individual, in any demo that the UI is highly JavaScript intensive. If you don’t allow JS for your authors, this product is not for you.

    CRXDE – I agree that this should be development environment since it’s what comes out of the box and it cleanly integrates with CRX. The biggest weakness with CRXDE is its SVN integration. Need to have the ability to tag, branch, commit and get individual files, etc. They haven’t made any significant updates to CRXDE since it was released. I’ve also used Eclipse and using File Vault is a pain. If Adobe provided documentation to create a seemless Eclipse/SVN/CQ integration without manual File Vault calls, then I’d recommend going to Eclipse route.

    Reporting – Agree.

    Package Manager – I’ve also seen this issue with Illegal State Exceptions. Generally, the package manager is very handy and if they can clean up the Illegal State Exceptions, it would be a very solid tool.

    Multiple interfaces – This is due to the various open source software packages which are being integrated together. I agree that there needs to be some better integration and a more consolidated administration console.

    CQ Corruption – This is probably one of my biggest complaints about the product. The repository or the index seems to get corrupted very often. On large repositories, it can take hours to run a consistency check during which time CQ needs to be completely unavailable. This issue is much more common on Author than on publish.

    Sidekick – I think this is simply an artifact of using a browser-based CMS. Refreshes are pretty common. One way to reduce load times is to put a web server + dispatcher in front of your author instance to help with caching and decrease hits to your author server.

    One additional issue: the workflow is poorly integrated with the site admin UI and the workflow engine is cumbersome and complicated to code for. Many of my clients want all/most of their content activations to go through a workflow. Without extreme modification to core UI functionality, it’s impossible to enforce that users must use workflow to activate content. Workflow, in general, feels very bolted on.

    Thanks for this post and a much more realistic look at CQ5. Also, I should mention that every CMS has its issues. There is no one size fits all CMS. CQ5 is a fairly young CMS and it has a LOT of potential. Authors love the UI and the UI is really well constructed. I expect good things in the coming releases.

  6. Shishank says:

    Thanks Jason for your detailed comment and providing your experience with CQ.

    Shishank

  7. […] the problem area and the result is inclusion of development tools/ IDE’s with the product. Adobe’s Day CQ comes with CRXDE which is custom-built,pre-packaged, stand-alone Eclipse application specifically […]

  8. steve says:

    Hi Guys,

    I have been looking high and low for an unbiased article on Adobe Day and have found this very interesting reading.

    Essentially we’re looking at potentially migrating from our incumbant CMS to Day largely driven by the Front-end user experience and the Day’s seeming ability to handle multiple segmentations e.g a central segment of content that will ultimately become say 100 + segments/languages representing countries around the globe.

    You guys seem to have some pretty good knowledge of the product so can you answer all/any of the below questions (in fact any input based upon the questions would be gratefuly received):-
    Scalability :-
    (500 pages per segment * 100 segements * 4 version per page) + 10000 multimedia files = say 250,000 artifacts
    Is this volume feasible with CQ 5 ?
    What are the limits where performance is impacted ?

    Distributed architecture
    I do not claim know the full architecture of Day and have some understanding of JCR but know from experience demos all look great when run off a single laptop. Complications arise from distributed architecture i.e. Database on one server, File system another server, Application tier on another server in say another country …
    Does this sound feasible ?

    Many users around global
    Say 200 users around the globe
    Any experience of this
    Transaction and locking model manage such a user base

    Backup strategy and Disaster recovery
    How is the system backed up (DB, filesystem or both).
    Does the backup require downtime.

    The system looks great but my concerns probably stem from its relative immaturity and seeming lack of take up in the Enterprise Arena. Adobe has big plans for the software and rightly so but is it architecturally sound to support the requirements of a large enterprise ?

    Questions, questions, questions.

    Our wider vendor appraisal will cover most of the above but I’d like to hear from the developers.

    A really interesting product and this is a marvellous post and any input on the above will be gratefully received.

    Essentially anyone who has used the product in ‘anger’ in the Enterprise arena and can give pointers ?

    Thanks,
    Steve

  9. shishank says:

    Hello Steve,

    Thanks for the comment. Here are few answers to your queries:

    Day CQ is pretty well known for its Digital Asset Management and is one of its strength. So, managing multimedia files will not be any problem. In terms of number of artifacts, I think it will largely depend on the structure defined with in CQ to store inforamtion. I do not think the number of pages and their variation are many that CQ can’t support it. Also, if the chaching is in place than anyways the hit on the server reduces many folds and so performance will not be an issue.

    In terms of architecture, I have played with various CMS systems and CQ’s architecture is much better than other well known products. As long as the connection between servers is reliable, it should be just fine.

    CQ has backup module defined OOTB which backs up your whole CQ instance without bringing the server down. I have not used it much and will be good to hear what others have to say :)

    After acquisition by Adobe, there is a lot of move in CQ area and its not far when many enterprises will have a CQ in place.

    Hope this helps.

    Shishank

  10. Arun Kumar says:

    Agree with majority of thoughts here

    One point to add how CQ handles Backup and Restore. CQ allows to take back up of full CRX repository which contains everything, even CQ instance itself. I couldn’t find an easy way if some one is only want to take a back up of the contents and nothing else. Moreover full CRX repository takes ages to be backed-up.

    Easy way could have been some sort of filter as we have in creating packages, so that people can take a back up of what they want to.

    Regards,
    Arun

  11. Ram says:

    Hey,

    Good post. I think it would good talk about operations side of it. I did not like itz performance and stability.

    Currently Im dealing Concurrency issue that is killing CPU.

    Thanks
    Ram

  12. Eric says:

    Biggest problem I’m having with CQ as an administrator and author is in the support area. We get a lot of round-and-round with the support techs as we have to explain our environment every single time, the techs frequently contradict each other (or the documentation), and quite often we find out after about a week of back and forth is that oh, that feature is broken/unsupported/buggy and will be removed in the next version.

    That’s less-than-helpful.

    We’ve had a few really great support guys, and a few really not-great ones.

    The documentation is hit-or-miss. Some of it is very good and very details. Some of it is very thin. And then some of it proves to be wrong. That gets very frustrating.

    It’s stuff like that that ruins a perfectly good WCM package. I also have a ton of nitpicks about the way certain features are implemented, but that’s less my call as a guy-who-installs-it – someone clearly thought that was a good way to do things, so I can just accept that – but when something isn’t working and I want the help I’m paying for, I’d really like that help to be correct, timely and well-tested. I don’t like feeling like a beta tester for something our enterprise is supposed to depend on.

  13. Atul says:

    Thank you all for such a wonderful contribution to this interesting thread. This actually helped to understand CQ in n out..

    Well I have been working on Teamsite from long time, and every client cries for a high cost and keeps searching for a low cost solution from stronghold perspective CQ5 seems to be a good fit..

    but I still tried to search for an answer to one of my question though.
    Migration of content repository?

    I am yet to install, implement POC’s on CQ5.. but willing to understand if I can automate replication of my static files (pdf,xml,image etc.) from teamsite file system to CRX repository? can I hope moving of edition’s
    from teamsite to CRX repository?

    Atul

  14. admin1 says:

    Hello Atul,
    we have developed similar migration tool where input was spreadsheets to popuate data.
    Each row represented a data for a restaurant including images,and the tool use to read data and store in CQ in defined hierarchy.
    If you are looking to do something similar, its pretty much possible. Hope this helps.
    Shishank

  15. Do you mind if I quote your writing in my Thesis paper? I think your topic suits my audience perfectly. Well ya, thanks for posting this article.

  16. Mark says:

    Does 5.5 do a good job at resolving the “cons” in this article? This is an excellent summary. The huge “pro” for us is the drop and drag site building and authoring experience. I have seen nothing close, but I may have missed it.

Leave a Reply