Nuxeo 5.6 - Server caught in redirect loop when studio package is installed. (Solved)
I've been trying to figure this one out, but with no progress.
I've got an installation of Nuxeo 5.6, running on Win7/64bit, running with the h2+derby database. It is not progressing past the login redirect screen when a plugin developed in studio is installed. If the plugin is in the nxserver\bundles directory, I get an error about a redirect loop. If I remove it, it logs in.
I've tried it with a fresh install of the server, after clearing out the data directory, but the same error occurs. It occurs in Firefox and Chrome, with both after clearing the browser history and all cookies.
server.log gives an error when the bundle is in the directory, but it does not reference the bundle directly. The change in the logs is visible in the PasteBin. It occurs in “server - with studio” at line 46 (with word-wrap off). The working log is in “server - without studio”
There are also only 372 total components loaded when the studio bundle is installed, compared to 515 when the studio bundle is not loaded.
After some debugging, it turns out that there were two workflows causing the error. I unpackaged the bundle, and found that one of the workflow zip files was empty. It contains a file .nuxeo-archive with a filesize of 0 bytes.
The other workflow zip contains the node data for its own nodes. Actually, all of the rest do. The zip files are named correctly (ex: formA_ReviewWorkflow is called formA_ReviewWorkflow.zip) but the folder inside the zip files is named incorrectly, to the name of another workflow. They all are named to the same workflow, the one which is the empty zip file.
Also, the name and prefix under the Workflow Variables tab have somehow all been changed to the same value, which is the name and prefix of the workflow coming in as the empty .zip
Problem solved, and replicated.
It was caused by a node in a workflow. The node contained a NodeVariable which was originally a String value, with a default value set to “ss”. The NodeVariable was changed to a Blob, without the default value being removed. It was, properly, disabled when the node became a Blob.
When the package was installed on the server with the Blob variable with the default value set to “ss” the problem occured.
To replicate, create a new workflow with three nodes. “Start” -> “Approve” -> “Stop”. Create a variable in the “Approve” node called “StringVar”. Give it a default value. Install the package, reboot the server. Go back into Studio, change StringVar into a Blob. Reinstall the package, reboot the server. You'll see the error.