SYNCHRONIZATION
Manual synchronization
To create data for Geotrek-rando (public web portal) and Geotrek-mobile (mobile phone app), just run this command:
sudo geotrek sync_rando /opt/geotrek-admin/var/data
The parameter is the destination directory for synchronized data. If you choose another directory, make sure the parent of this directory is writable by geotrek user. Otherwise you will get a PermissionError message.
If Geotrek-admin is not accessible on localhost:80, you have to use the --url
option.
To make output less or more verbose, you can use the --verbose
option.
Since version 2.4.0 of Geotrek-admin, you can also launch the command sync_rando
from the web interface.
You can add synchronization options with advanced configuration setting SYNC_RANDO_OPTIONS = {}
.
For example, if you add this line in /opt/geotrek-admin/var/conf/custom.py
you will skip generation of map tiles files during the synchronisation :
SYNC_RANDO_OPTIONS = {'skip_tiles': True}
Automatic synchronization
You can set up automatic synchronization by creating a file /etc/cron.d/geotrek_sync
that contains:
0 3 * * * root /usr/sbin/geotrek sync_rando /opt/geotrek-admin/var/data
This example will automatically synchronize data a 3 am every day.
Note: it is required to give the full path to the geotrek command since cron set the PATH only to bin:/usr/bin.
Synchronization options
Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output
-u URL, --url=URL Base URL of Geotrek-admin (eg. http://geotrek.myorganization.com)
-r URL, --rando-url=URL
Base URL of public Geotrek-rando website, used for static html versions of objects pages
generated for Facebook in meta folder of data API
-s SOURCE, --source=SOURCE
Filter by source(s)
-P PORTAL, --portal=PORTAL
Filter by portal(s)
-p, --skip-pdf Skip generation of PDF files
-t, --skip-tiles Skip generation of map tiles files for Geotrek-mobile app v2
-d, --skip-dem Skip generation of Digital Elevation Model files for 3D view
-e, --skip-profile-png
Skip generation of PNG elevation profile
-w, --with-touristicevents
Include touristic events by trek in global.zip for Geotrek-mobile v2
-c CONTENT_CATEGORIES, --with-touristiccontent-categories=CONTENT_CATEGORIES
Include touristic contents by trek in global.zip for Geotrek-mobile v2
(filtered by category ID ex: --with-touristiccontent-categories="1,2,3")
-g, --with-signages Include published signages
-i, --with-infrastructures
Include published infrastructures
Geotrek-mobile v3 uses its own synchronization command (see below).
If you are not using Geotrek-mobile v2 anymore, it is recommanded to use -t
option to don’t generate big offline tiles directories,
not used elsewhere than in Geotrek-mobile v2. Same for -w
and -c
option, only used for Geotrek-mobile v2.
Synchronization filtered by source and portal
You can filter treks, touristic contents, touristic events and static pages by source(s).
For example, if you created 3 sources records named source A
, source B
and source C
and you want to only export data from source A
and source B
to your web public portal, you can synchronize with:
sudo geotrek sync_rando --source "source A,source B" dataAB
Multiple sources are separated with comas (without space before or after coma). Do not forget to add double quotes after and before the parameter if there are spaces in source names. You can run several commands to export several sources combinations into several directories and use them to publish several distinct web portals.
You can do exactly the same with Target_Portal
field value. It will include objects associated to the selected portal + those without portal.
sudo geotrek sync_rando --portal "portal A" dataA
Synchronization filtered by touristic content categories
In Geotrek-mobile v2, you can choose to also include touristic content per trek. You must specify ID categories :
sudo geotrek sync_rando --with-touristiccontent-categories="1,3"
Multiple categories are separated with comas (without space before or after coma).
Synchronization with a distant Geotrek-rando server
If your server hosts both Geotrek-admin and Geotrek-rando, you just have to configure Geotrek-rando so it uses the directory chosen above. Be sure NGINX or Apache will have access rights to read these data.
If you have separated servers, you have to copy files, for example with rsync
command:
rsync /path/of/generated/data other-server:/path/of/generated/data
Geotrek-mobile app v3
The Geotrek-mobile app v3 has its own API and synchronization command called sync_mobile
.
It has similar parameters as sync_rando
:
sudo geotrek sync_mobile [-h] [--languages LANGUAGES] [--portal PORTAL]
[--skip-tiles] [--url URL] [--indent INDENT]
[--version] [-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback]
[--no-color] [--force-color]
path