i installed commcare on my ubuntu server,
i feel like this issue is connected to formplayer, which i installed as the following
1- create the file submodules/touchforms-src/touchforms/backend/localsettings.py
URL_ROOT = 'http://localhost:8000/a/{{DOMAIN}}'
2- copy scripts/get_webhost and append to root/etc/hosts
3- added FORMPLAYER_URL = 'http://localhost:8010' and BASE_ADDRESS = 'webhost:8000'
to localsettings.py
so after i press make a new version on the applications page
Cannot Create Menus
Details: Unable to validate the forms due to a server error. Please try again later.
and on my server:
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /validate_form (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f5740ddbc10>: Failed to establish a new connection: [Errno 111] Connection refused',))
2018-06-23 11:27:15,510 INFO "POST /a/firstproject/apps/save/ce10d51a6470029490265ce8f79ac915/ HTTP/1.1" 200 673
Hi Anas
We are in the process of removing touchforms so the instructions in the readme are a little out of date (though I've just updated them) but it looks like you've got it mostly right.
I'm a little confused since you have port 8010
specified in the FORMPLAYER_URL
but the error is complaining about a connection to port 8080
which is the default port in settings.py
. Are you sure your localsettings file is being picked up correctly?
Hello Simon,
first of all thanks for your reply i really appreciate it.
so just a quick review of the what the changes i made really look like,
submodules/touchforms-src/touchforms/backend/localsettings.py
URL_ROOT = ‘http://localhost:8000/a/{{DOMAIN}}’
etc/hosts
0.0.0.0 localhost
127.0.1.1 HCDC-16
CONTAINER=$(docker container ls | awk '/formplayer/ { print $1 }')
docker exec $CONTAINER sh -c 'cat /etc/hosts | grep webhost'
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
localsettings.py
##### FORM PLAYER ######
FORMPLAYER_URL = 'http://localhost:8010'
BASE_ADDRESS = 'webhost:8000'
..
I'm not really sure how to check if my localsettings.py is picked up correctly to be honst
Hi Anas
You misunderstood the instructions and have copied the contents of scripts/get_webhost
into your /etc/hosts
file.
Rather you should run that script and copy the output into /etc/hosts
which should look something like the following:
172.17.0.1 dockerhost webhost