Couple of things to look at in the first instance. Check that the runmode is set as you expect. Also check the "/libs/crx/core/content/welcome " node, and ensure that the vanityOrder is 100 (which should be lower than the CRX one).
Thanks -- David
Just to add to the previous post-reply. Default configuration is the following:
- sling:vanityOrder set to 900
- if you see sling:vanityPath set to “/welcome” you can remove it
- sling:vanityOrder set to 1000
- verify that sling:vanityPath property set t0 “/welcome”
Thanks David, it turned out that the runmode being set incorrectly was in fact the problem.
Two rants about this.
First, the runmode being set incorrectly - in my case, not at all - subtly breaks various things. Beyond the login page, it breaks workflows and publishing in somewhat non-obvious ways. You don't get errors, things just don't work. Given this, why isn't the runmode shown more prominently? You need to dig down into the console to check what the runmode is at all.
Second, the way this got broken is pretty horrifficly easy: I added a property. Using the default startup script, the command that is ultimately executed to start the server is
java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -jar app/cq-quickstart-5.5.0-standalone.jar start -c . -i launchpad -p 4502 -Dsling.run.modes=author
For an unrelated problem, I was advised to add an additional system property, so my command line changed to
java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -jar app/cq-quickstart-5.5.0-standalone.jar start -c . -i launchpad -p 4502 -Dsling.run.modes=author -Dcom.day.crx.persistence.tar.IndexMergeDelay=0
However, the launchpad app apparently only handles a single -Dname=value argument and all but the last one are dropped. This command line doesn't set the author mode at all.
It works perfectly fine to specify these system properties to the jvm directly:
java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -Dsling.run.modes=author -Dcom.day.crx.persistence.tar.IndexMergeDelay=0 -jar app/cq-quickstart-5.5.0-standalone.jar start -c . -i launchpad -p 4502
So why is there an alternate implementation of handling property setting that looks the same but is badly broken?
Are you using the Batch/Shell script to start? From your java command, the -D options must come before the path to the JAR file, so it would be (note the moved sling.run.modes):
java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -Dsling.run.modes=author -jar app/cq-quickstart-5.5.0-standalone.jar start -c . -i launchpad -p 4502
Have a look at your script, the following options in bold were added to the 'START_OPTS' variable instead of the 'CQ_JVM_OPTS' variable in some earlier versions of the script:
if defined CQ_PORT set START_OPTS=%START_OPTS% -p %CQ_PORT%
if defined CQ_INTERFACE set START_OPTS=%START_OPTS% -a %CQ_INTERFACE%
if defined CQ_RUNMODE set %CQ_JVM_OPTS=%%CQ_JVM_OPTS% -Dsling.run.modes=%CQ_RUNMODE%
if defined CQ_HOST set %CQ_JVM_OPTS=%%CQ_JVM_OPTS% -Dorg.apache.felix.http.host=%CQ_HOST%
if defined CQ_USE_JAAS set %CQ_JVM_OPTS=%%CQ_JVM_OPTS% -Djava.security.auth.login.config=%CQ_JAAS_CONFIG%
if not defined CQ_JARFILE for %%X in (app\*.jar) do set CQ_JARFILE=%%X
That might be the problem.
Cheers -- David