Posts Tagged ‘cms’

h1

Access to Adobe CQ Package Share without Adobe CQ

March 5, 2013

I meant to post this a while back. We did an install of Adobe CQ in an environment that’s pretty restrictive with internet access and thus we were not able to connect to the Adobe CQ Packageshare website from within CQ. After a bit of digging we found the following URL:

http://dev.day.com/packageshare/packages.html

after logging in you are able to download any of the packages on that site without accessing it through CQ.

Hope this will help others as well.

Advertisements
h1

Adobe CQ Problem Clinic on November 7 2012

October 4, 2012

If you live in Orange County/Los Angeles or the San Diego area and work with Adobe CQ then bring your laptop, your project and your problems with Adobe CQ. We will have a session where you can present the problem you are having and we’ll discuss solutions for the problems and try to find a way to solve them to make your CQ implementations a success.

Adobe support personnel will be at the meetup to help us get through the issues.

We are meeting Wednesday November 7  from 6:30pm to 9pm at the Lake Forest/El Toro Public Library.

For more information about the meetup group and this event go to http://www.meetup.com/OC-CQ-Sling-JCR-User-Group/events/85466292/

Hope to see you there.

h1

Touch Authoring Mode in CQ5.5

May 6, 2012

Since CQ5.4, communique supports a touch authoring mode. When you hit your site with either an iPhone or an iPad you will get a greatly different authoring experience in CQ. The login screen is still similar but when you hit the welcome screen you see a vastly different view:

As you can see above, the welcome screen features the ability to see your inbox and browse the content as well as some configuration tools for replication, workflows, could services and reports – all the features you want on a mobile device.

If you click on browse content you get a mobile tree explorer to navigate your sites and once you open a page, a slimmed down edit environment to review your site, make annotations, etc.

While this is all nice, the question that comes to mind is – is my current site I am working on supporting this feature? It’s a good idea to go and check if your templates still support this extra edit mode. I like to use the ‘user agent switcher’ plugin in firefox to switch my firefox to an iPhone mode and browse the authoring environment for a quick test.

To download the user agent switcher, go to http://chrispederick.com/work/user-agent-switcher/

h1

Using ticktick.sh to parse Json Responses from Adobe CQ5.5

April 24, 2012

ticktick.sh is a great little shell library that allows you to parse json responses from Adobe CQ. The following script is a simple example that pulls the current status of the installed, active and resolved bundles from the Felix System Console in Adobe CQ and presents the output. This can be used for example to check if the server is up and running. To use, download ticktick.sh, put it in the same folder as this script and run it.

The supported arguments are the credentials (admin:admin) and the url to the server root (http://localhost:4502).  You should see a nice pink status line with the information on how many bundles are active, resolved and installed as well as an error code of  zero if the server is up and a -1 if the server is still starting up.

curl -s -u $1 $2/system/console > /dev/null
if [ $? != 0 ]; then
	echo admin console on $2 not running
	exit -1
fi

. ./ticktick.sh

DATA=`curl -s -u $1 $2/system/console/bundles/.json`

tickParse "$DATA"

#echo ``status``
#echo current status total bundles: ``s[0]``, installed bundles: ``s[1]``, installed fragments ``s[2]``, bundles resolved ``s[3]``, bundles installed ``s[4]``

if [ ``s[4]`` = 0 ]; then

	echo ``status``: server fully up
	exit 0
else
	echo -e "33[2A33[35m"
	echo -n ``status``: server still activating bundles
	echo -e "33[K33[0m"
	exit -1
fi
h1

Developing the style and templates/components in parallel for Adobe CQ5

April 10, 2012

In order to speed up development of a site within CQ5, it helps adopting the following process:

  •  Devise templates and components for the site based on mockups
  •  Implement a standard HTML for all templates and components
  •  Develop the components necessary
  •  Develop CSS/JS necessary to support the components

Using this approach, the front end team can develop the CSS/JS necessary for the site in parallel with the developers implementing the components and templates for CQ5. Instead of using a waterfall model where the front end team develops the basic HTML structure first and then provides the code to the CQ5 developers, this approach makes sure the CSS/JS works well within Adobe CQ.

To further minimize the risk of browser incompatibilities and to make sure the site will also look good on mobile devices from the start, it helps adopting a basic CSS/JS framework, commonly known as grid systems.

Some grid systems to consider are:

The grid systems have a well known html structure and features such as reflow that help on smaller screens. Developing your components with a grid system in mind will also make sure the developed components can be reused in the future with a different stylesheet and make your CQ5 projects faster to implement and easier to adopt to a new site style and new features provided by the grid system.

The Adobe CQ5.5 version uses 960gs for the default geometrixx site, however, choosing twitter bootstrap will provide you with more out of the box functionality commonly found on today’s website.

update: we released a bootstrap templating integration for Adobe CQ 5.5 today. See the following link for more information

h1

Updated init script for CQ5.5

March 13, 2012

Jorg Hoh over at cqdump.wordpress.com has a nice article on how to write an init script for cq5.4 – since CQ5.5 changed a bit on how it starts/stops cq, I figured I’ll post a new version of his script that’s cq5.5 compatible

#!/bin/sh
### BEGIN INIT INFO
# Provides: cq55
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start, stop adobe cq5.5
# Description: Start, stop adobe cq5.5
### END INIT INFO

CQ5_ROOT=CQROOT
CQ5_USER=CQUSER

########
SERVER=${CQ5_ROOT}/crx-quickstart
START=${SERVER}/bin/start
STOP=${SERVER}/bin/stop
STATUS="${SERVER}/bin/status"

case "$1" in
start)
su - ${CQ5_USER} ${START}
;;
stop)
su - ${CQ5_USER} ${STOP}
;;
status)
su - ${CQ5_USER} ${STATUS}
;;
*)
echo "Unknown argument $1"
;;
esac

Replace CQROOT with the folder where you installed CQ, CQUSER with the user that you want to run CQ as. I also added a header for init script management into the script file. This will allow you to use update=rc.d on ubuntu or chkconfig on centos:

ubuntu:
sudo update-rc.d -f cq55 remove


centos:
sudo chkconfig --del cq55

let me know what you think, any feedback is greatly appreciated

h1

Make changing your Application Easy

August 8, 2008

There we are – writing applications for a vertical market – we get some specs, we have to understand what the business people want from us and then we have to implement it. After a while we’re done with the application and then the business people find out it’s not what they wanted. Where did we go wrong? Sometimes it’s the business analysts/developers that did not get it right, sometimes the vision of the business people/process owners is not clear enough. Who knows. I think the question should be ‘what can we do so there is an easy way out of that situation’? The second problem I see is that once an application is deployed in the business world the requirements change – a new marketing strategy, new laws or just another company policy may require changes. We have to go back and change a running system, retest, redeploy, etc. My question again: What can we do so there is an easy way out of that situation?

This brings me to the following observations:

  • Business users like to change stuff around
  • Business users like to modify text and marketing information (especially if it’s customer facing)
  • Small to medium changes are required over the lifetime of an application to adapt to new situations

If we do not want to engineer ourselves into a corner and end up with work that we do not want to do in the long run we have to find a solution for the above requirements. Those requirements translate into the following for me:

  1. Make sure an application can easily be deployed
  2. Give the business users a tool to change the appearance of the application
  3. Use a DSL, XML structure or properties file to drive most of the application

Some of the projects we have done in the last two years are web based applications. I found by using a CMS or WCMS system such as magnolia we can build on a solid foundation that takes care of 1). We then store all properties used for the application in the content management system  as well sattisfying 2) and we added a form renderer and task engine to the CMS in order to sattisfy 3).  We also get full access management through the CMS and since magnolia is based on jackrabbit (JSR-170 compliant content repository) all content is stored in a way that other applications can access it as well.

Things that became easy to address because of magnolia as a base framework:

  • changing any text on the site
  • moving pages, form elements tab orders, validation
  • changing the look of the site
  • error handling
  • rewriting all form pages to support ajax
  • implementing the forms in a different framework
  • allowing form handling for different browsers in different technologies
  • staging to life deployment through an activation and review process

This list is not complete – by choosing a CMS and implementing the required functionality on top of it we are able to move a lot of the work that seems to come up because of misunderstandigns between the business users and the developers into the hand of the business users (they can take action themselves) or make the change easy for the developers (it’s just a property or two to change in a UI instead of having to change it in code, recompile and redeploy).

I’d love to hear from you what other approaches you take to solve this issue.