cancel
Showing results for 
Search instead for 
Did you mean: 

What is the correct way to add nonstandard directories to execute external commands?

Steven_Huwig1
Star Contributor
Star Contributor

We have many external converter executables that are not in /bin, /usr/bin or the usual other locations. I've tried to set PATH in a few places with no luck:

  • /etc/init.d/nuxeo (This is installed from the Nuxeo APT repository)
  • /var/lib/nuxeo/server/bin/nuxeoctl has a PATH defined in it. I modified it but with no luck.

Either of these settings do nothing; the system still behaves as if the executable cannot be found. I have also modified /etc/environment with no luck as far as Nuxeo goes. My command line shell finds the binaries just fine.

Can anyone point me in the right direction?

1 ACCEPTED ANSWER

Steven_Huwig1
Star Contributor
Star Contributor

I figured out my problem; it had nothing to do with the system path. I am posting it as an answer in case it is helpful for someone else.

What I was seeing was a ConverterCheckResult error from an external tool that used the default setting for tester, which is SystemPathTester and defined by org.nuxeo.ecm.platform.commandline.executor.service.cmdtesters.SystemPathExistTester.

The error just contained the installation message, so it looked as though it was unable to find the executable. However, I had another tool with a custom tester defined, that also used the path, and it always worked fine. So, I reasoned that it couldn't just be the path.

My problem was that my XML contribution did not require the SystemPathTester code. When I added the following to the beginning of the file that declares my command line commands, everything worked fine:

  <require>org.nuxeo.ecm.platform.commandline.executor.service.defaultContrib</require>

Anyway, this was always my own mistake -- though maybe the error handling/reporting in the Nuxeo command line classes could be improved to make the mistake clearer.

View answer in original post

3 REPLIES 3

Antoine_Cordier
Star Contributor
Star Contributor

Did you try to put this in /home/${nuxeo_user}/.profile where ${nuxeo_user} is the user that is running the nuxeo process ?

Steven_Huwig1
Star Contributor
Star Contributor

Hi aCordier, I set it for the entire system in /etc/environment. But it turns out that my issue had nothing to do with the path. I'll say more in my answer.

Steven_Huwig1
Star Contributor
Star Contributor

I figured out my problem; it had nothing to do with the system path. I am posting it as an answer in case it is helpful for someone else.

What I was seeing was a ConverterCheckResult error from an external tool that used the default setting for tester, which is SystemPathTester and defined by org.nuxeo.ecm.platform.commandline.executor.service.cmdtesters.SystemPathExistTester.

The error just contained the installation message, so it looked as though it was unable to find the executable. However, I had another tool with a custom tester defined, that also used the path, and it always worked fine. So, I reasoned that it couldn't just be the path.

My problem was that my XML contribution did not require the SystemPathTester code. When I added the following to the beginning of the file that declares my command line commands, everything worked fine:

  <require>org.nuxeo.ecm.platform.commandline.executor.service.defaultContrib</require>

Anyway, this was always my own mistake -- though maybe the error handling/reporting in the Nuxeo command line classes could be improved to make the mistake clearer.

Getting started

Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.