I'm new to Nuxeo. I'm trying to understand the system, and in particular I'm trying to find out why I'm getting an SQL error when trying to create a workspace. I figured installing and running the source code would be the best place to start. I've come across many errors and gaps in the documentation. I'm wondering if compiling from source is really viable.
Firstly it strikes me as odd that the download process is done via Python, from the command line. From within Eclipse, we have Git, Maven, Ant, and whatever else is available in the Nuxeo plug-in for Eclipse. The choice of Python strikes me as odd. But anyway on to my specific observations...
Some commands work in UNIX but not Windows. This is for UNIX:
export MAVEN_OPTS="-Xmx1g -XX:MaxPermSize=128m"
This is for Windows:
set MAVEN_OPTS=-Xmx1g -XX:MaxPermSize=128m
This is just mean:
"The following assumes you know how to work with Maven and sources in your IDE (Eclipse is used below). In particular this means that you have already configured the IDE to work with Maven (M2_REPO set in Eclipse)."
I mean, OK, I don't know Maven. Even so, a little help here? All you need to say is "M2_REPO set in Eclipse via Windows | Preferences | Java > Build Path > Classpath Variables"
The documentation fails to mention that you need to install GNU DiffUtils. That clue is hidden in the fixeclipse.py script, which fails on Windows with an uninformative error if "diff" isn't available.
Given the large number of dependencies, it would be ideal if there was some type of "check setup" tool which confirmed that the correct tools are installed, and the correct version. By way of example, if you happen to be using a JRE instead of a JDK, Maven will take 45 minutes before reporting failure, when running "mvn -DskipTests install -Paddons"
On http://doc.nuxeo.com/display/CORG/Compiling+Nuxeo+from+sources, they say "See README file at root of nuxeo-distribution for a short description and common usage examples." There is no such README file.
On the same page, the instructions say "Ant is available at the top level: Ant targets have been defined to provide user-friendly commands..." The one example Ant command is 'distrib,' which is not present in nuxeo/build.xml.
The instructions say to import Nuxeo modules into Eclipse. The provided instructions say "File -> Import -> General -> Existing Projects into Workspace" What isn't stated is WHAT projects to import. I have no idea if I got this right, but I imported all the projects in nuxeo, nuxeo/nuxeo-common, nuxeo/nuxeo-core, etc, all the way to nuxeo/nuxeo-webengine. So I invoked the Eclipse import process 11 times in all. At that point I was still getting errors, so I imported nuxeo/addons/nuxeo-shell, as it was required by nuxeo-launcher. So "nuxeo-shell" doesn't seem like an addon, it seems required. Anyway now I have 236 projects in Eclipse. That doesn't feel right. But maybe it is. Who knows? The lack of screenshots leaves me with no idea if I'm offtrack.
I now have all the projects in Eclipse. But they are not connected to Git. So if I want to get an update, I can't do that.
With all these projects in Eclipse, I have no idea how to proceed. With the downloadable SDK, there are instructions (http://doc.nuxeo.com/display/IDEDOC). But with the source code (http://doc.nuxeo.com/display/CORG), I have no idea. I've got all the code, and when I run maven commands they seem to do stuff. But, in Eclipse, I can't even figure out how to start the server.
So, I know that is a lot of stuff. I guess my root questions are:
- Once I've got all this source code, how do I start the server?
- Do people outside the Nuxeo company actually compile the source code?