diff --git a/documentation/assets/images/application-plugins.png b/documentation/assets/images/application-plugins.png index 6aba3874e9..d30a08dc93 100644 Binary files a/documentation/assets/images/application-plugins.png and b/documentation/assets/images/application-plugins.png differ diff --git a/documentation/assets/images/attachments_and_directories_list.png b/documentation/assets/images/attachments_and_directories_list.png new file mode 100644 index 0000000000..1ba7cf0998 Binary files /dev/null and b/documentation/assets/images/attachments_and_directories_list.png differ diff --git a/documentation/assets/images/attachments_directories.png b/documentation/assets/images/attachments_directories.png index 80e0614a3d..8a9fa48eaa 100644 Binary files a/documentation/assets/images/attachments_directories.png and b/documentation/assets/images/attachments_directories.png differ diff --git a/documentation/assets/images/base_map_configuration.png b/documentation/assets/images/base_map_configuration.png index e49696186b..215eec7618 100644 Binary files a/documentation/assets/images/base_map_configuration.png and b/documentation/assets/images/base_map_configuration.png differ diff --git a/documentation/assets/images/changing_default_qfieldcloud_server_qfield.png b/documentation/assets/images/changing_default_qfieldcloud_server_qfield.png index 4b482e7e58..5c8f2af895 100644 Binary files a/documentation/assets/images/changing_default_qfieldcloud_server_qfield.png and b/documentation/assets/images/changing_default_qfieldcloud_server_qfield.png differ diff --git a/documentation/assets/images/create_project.png b/documentation/assets/images/create_project.png index 2754e18ff9..de57232ecb 100644 Binary files a/documentation/assets/images/create_project.png and b/documentation/assets/images/create_project.png differ diff --git a/documentation/assets/images/getting_started_download_project.png b/documentation/assets/images/getting_started_download_project.png index f668c4b554..bc2031f797 100644 Binary files a/documentation/assets/images/getting_started_download_project.png and b/documentation/assets/images/getting_started_download_project.png differ diff --git a/documentation/assets/images/getting_started_login.png b/documentation/assets/images/getting_started_login.png index 3502e6566e..92230850c5 100644 Binary files a/documentation/assets/images/getting_started_login.png and b/documentation/assets/images/getting_started_login.png differ diff --git a/documentation/assets/images/getting_started_project_properties.png b/documentation/assets/images/getting_started_project_properties.png index a2e95922e3..f4f03f8fe6 100644 Binary files a/documentation/assets/images/getting_started_project_properties.png and b/documentation/assets/images/getting_started_project_properties.png differ diff --git a/documentation/assets/images/getting_started_splashscreen.png b/documentation/assets/images/getting_started_splashscreen.png index 1abca8bbd7..9cdf1f0180 100644 Binary files a/documentation/assets/images/getting_started_splashscreen.png and b/documentation/assets/images/getting_started_splashscreen.png differ diff --git a/documentation/assets/images/getting_started_synchronize.png b/documentation/assets/images/getting_started_synchronize.png index 73c85556fb..b54aca449e 100644 Binary files a/documentation/assets/images/getting_started_synchronize.png and b/documentation/assets/images/getting_started_synchronize.png differ diff --git a/documentation/assets/images/maximum-items-visible-in-relation.png b/documentation/assets/images/maximum-items-visible-in-relation.png index c2ed39882f..0e4f7f7d18 100644 Binary files a/documentation/assets/images/maximum-items-visible-in-relation.png and b/documentation/assets/images/maximum-items-visible-in-relation.png differ diff --git a/documentation/assets/images/maximum_picture_size_attachments.png b/documentation/assets/images/maximum_picture_size_attachments.png new file mode 100644 index 0000000000..e1133a6370 Binary files /dev/null and b/documentation/assets/images/maximum_picture_size_attachments.png differ diff --git a/documentation/assets/images/picture_path.png b/documentation/assets/images/picture_path.png index 025b5c6225..2c1652634b 100644 Binary files a/documentation/assets/images/picture_path.png and b/documentation/assets/images/picture_path.png differ diff --git a/documentation/assets/images/qfield-syinc-subdirs-exporting-project.png b/documentation/assets/images/qfield-syinc-subdirs-exporting-project.png index aa4c04177c..fa53814a68 100644 Binary files a/documentation/assets/images/qfield-syinc-subdirs-exporting-project.png and b/documentation/assets/images/qfield-syinc-subdirs-exporting-project.png differ diff --git a/documentation/assets/images/qfield-sync-properties.png b/documentation/assets/images/qfield-sync-properties.png index 3d0b49a23b..92856894f4 100644 Binary files a/documentation/assets/images/qfield-sync-properties.png and b/documentation/assets/images/qfield-sync-properties.png differ diff --git a/documentation/assets/images/qfield-sync_config.png b/documentation/assets/images/qfield-sync_config.png index ad37303724..66db371115 100644 Binary files a/documentation/assets/images/qfield-sync_config.png and b/documentation/assets/images/qfield-sync_config.png differ diff --git a/documentation/assets/images/qfield-sync_sync.png b/documentation/assets/images/qfield-sync_sync.png index 3ce03bb643..1a29d0efd3 100644 Binary files a/documentation/assets/images/qfield-sync_sync.png and b/documentation/assets/images/qfield-sync_sync.png differ diff --git a/documentation/assets/images/setting-maximum-items-visible-in-relation.png b/documentation/assets/images/setting-maximum-items-visible-in-relation.png index 4b8498330a..a8200df3a5 100644 Binary files a/documentation/assets/images/setting-maximum-items-visible-in-relation.png and b/documentation/assets/images/setting-maximum-items-visible-in-relation.png differ diff --git a/documentation/assets/images/vertex_log1.png b/documentation/assets/images/vertex_log1.png index 26f89b13ea..80cf03d465 100644 Binary files a/documentation/assets/images/vertex_log1.png and b/documentation/assets/images/vertex_log1.png differ diff --git a/documentation/assets/images/vertex_log2.png b/documentation/assets/images/vertex_log2.png index 232bcc0583..d57d464e1d 100644 Binary files a/documentation/assets/images/vertex_log2.png and b/documentation/assets/images/vertex_log2.png differ diff --git a/documentation/get-started/tutorials/advanced-setup-qfc.en.md b/documentation/get-started/tutorials/advanced-setup-qfc.en.md index b10139f731..8449ecfd05 100644 --- a/documentation/get-started/tutorials/advanced-setup-qfc.en.md +++ b/documentation/get-started/tutorials/advanced-setup-qfc.en.md @@ -80,7 +80,7 @@ Please be aware of the security implications of such requirements, and remember You can find more information on [QFieldCloud technical reference](../../reference/qfieldcloud/concepts.md). -## Restricting Project Files Modification to Administrators and Managers +## Restriction of Project Files To prevent any modification to the core QGIS project file, **the project administrators** can restrict the access to these files. This can be achieved under the settings section in QFieldCloud. @@ -102,7 +102,7 @@ Other project collaborators can still upload and modify other project files, suc !![](../../assets/images/restric_qfc_project_files.png) -## Enabling automatic pushing of changes to QFieldCloud +## Automatic push to QFieldCloud With this functionality, users and managers of QFieldCloud projects can enforce automatic pushing of pending changes to QField devices in the field, as well as specify the interval in between automated pushes. The functionality is activated through a project setting, allowing remote activation. @@ -260,6 +260,20 @@ For the old (QGIS) offliner: !!! note This configuration must be set in the Settings page of each project in [QFieldCloud](https://app.qfield.cloud/). +## Synchronisation of Attachment Folders + +To ensure an entire folder and its contents is downloaded to your QField device, you must add it under "Attachments and Directories". + +1. In QGIS navigate to `Project` > `Properties` > `QField`. +2. Add your folder's path to the "Attachments and Directories" list. +The path you enter must be relative to the location of your project file. + +!!! example + You used pictures for a specific symbology. + These are stored in a folder named `assets` located inside your project home folder. Add them under the folder name to the list. + +!![](../../assets/images/attachments_and_directories_list.png) + ## On-Demand Attachment Downloads For projects with many attachment files, you can enable on-demand downloading in QField. diff --git a/documentation/get-started/tutorials/get-started-qfs.en.md b/documentation/get-started/tutorials/get-started-qfs.en.md index d129dabcae..b9f975219f 100644 --- a/documentation/get-started/tutorials/get-started-qfs.en.md +++ b/documentation/get-started/tutorials/get-started-qfs.en.md @@ -6,29 +6,29 @@ tx_slug: documentation_get-started_tutorials_get-started-qfs # QFieldSync -The [QFieldSync plugin for QGIS](https://plugins.qgis.org/plugins/qfieldsync/) helps preparing and packaging QGIS projects for +The [QFieldSync plugin for QGIS](https://plugins.qgis.org/plugins/qfieldsync/) +helps preparing and packaging QGIS projects for QField. QFieldSync supports your project preparation with automating the following: -- Required steps for project setup (e.g. - `portable_project`) -- Creating basemaps from a single raster layer or from a style defined - in a map theme. -- Configuring the offline editing functionality and synchronizing - changes back. +- Required steps for project setup (e.g. `portable_project`) +- Creating basemaps from a single raster layer or from a style defined +in a map theme. +- Configuring the offline editing functionality and synchronizing +changes back. ## Workflow To get a quick overview of the process, here is a list of typical steps: -1. Create a QField package. This is a working copy in a separate +1. Create a QField package. This is a working copy in a separate folder. -2. Copy the QField package to the target device. -3. Go out and collect data. -4. Copy the modified data back to your desktop computer. -5. Synchronize the modified data with your database or files. +2. Copy the QField package to the target device. +3. Go out and collect data. +4. Copy the modified data back to your desktop computer. +5. Synchronize the modified data with your database or files. ## Installation @@ -39,9 +39,8 @@ the plugin in the list and click on **Install**. ## Configuration -The project configuration is saved in the master .qgs project file. This -way it is possible to pre-configure a project once and use it -repeatedly. +The project configuration is saved in the master .qgs project file. +This way it is possible to pre-configure a project once and use it repeatedly. !![Configure project](../../assets/images/qfield-sync_configmenu.png) @@ -49,39 +48,37 @@ repeatedly. !![Configure the project layers](../../assets/images/qfield-sync_config.png) -In the project configuration dialog, an *action* can be defined for each -layer individually. Depending on the layer type, different types of -actions are available. +In the project configuration dialog, an *action* can be defined for each layer individually. +Depending on the layer type, different types of actions are available. -Copy +***Copy*** -: The layer will be copied to the package folder. This is only - available for file-based layers. +: The layer will be copied to the package folder. + This is only available for file-based layers. -No action +***No action*** : The layer source will be left untouched. This is only available for non-file-based layers like WMS, WFS, Postgis\... -Offline editing +***Offline editing*** -: A working copy of the layer is copied into the package folder. Every - change which is done in the packaged project during work is recorded - in a changelog. When synchronizing the changes back later on, this - log will be replaced and all changes also be applied to the main - data base. There is no conflict handling in place. +: A working copy of the layer is copied into the package folder. + Every change which is done in the packaged project during work is recorded in a changelog. + When synchronizing the changes back later on, this log will be replaced and all changes also be applied to the main data base. + There is no conflict handling in place. -Remove +***Remove*** -: The layer will be removed from the working copy. This is useful if a - layer is used in the basemap and will not be available in the +: The layer will be removed from the working copy. + This is useful if a layer is used in the basemap and will not be available in the packaged project. -Properties +***Properties*** -: There are some additional options to fine tune your QField project in the properties +: There are some additional options to fine tune your QField project in the properties: -1. Lock geometries: do not allow changing geometries and only allow changing attributes on this layer. +1. Permissions: Disable options for feature addition, feature deletion, attribute editing, or geometry editing. 2. Set up the attachment default naming, please refer to the [Configurable picture path](../../how-to/pictures.md#configurable-attachment-path) @@ -124,32 +121,30 @@ There are two possible sources for a base map: Layer -: A raster layer. This is useful to take an offline copy of an online - layer like a WMS or to take a working copy of an unsupported format - like an ECW or MrSID layer. +: A raster layer is useful for taking an offline copy of an online layer like a WMS or to take a working copy of an unsupported format like an ECW or MrSID layer. Map Theme -: A map theme. This is useful to create a base map based on a - combination of several layers with styling. These layers can then be - removed from the working package and do not need to be rendered on - the device. This can save some disk space and battery on the device. +: A map theme is useful for creating a base map based on a combination of several layers with styling. + These layers can then be removed from the working package and do not need to be rendered on the device. + This can save some disk space and battery on the device. -The tile size defines the spatial resolution. It determines the number -of map units per pixel. If the map canvas CRS has meters as units and -tile size is set to 1, each raster pixel will have a spatial extent of -1x1 m, if it is set to 1000, each raster pixel will have a spatial -extent of 1 square kilometer. +The tile size defines the spatial resolution. +It determines the number of map units per pixel. +If the map canvas CRS has meters as units and tile size is set to 1, each raster pixel will have a spatial extent of 1x1 m, if it is set to 1000, each raster pixel will have a spatial extent of 1 square kilometer. You can package a raster layer into an **MBTiles** file with multiple zoom levels for offline use. -- **Tiles min zoom level**: Defines the **minimum** zoom level for the raster tiles. A lower value increases the spatial coverage but the spatial resolution is limited. *(Default: 14)* -- **Tiles max zoom level**: Defines the **maximum** zoom level for the raster tiles. A higher value increases detail but may require more storage space, as well as increase the duration of the offline export. *(Default: 14)* +- **Tiles min zoom level**: Defines the **minimum** zoom level for the raster tiles. +A lower value increases the spatial coverage but the spatial resolution is limited. *(Default: 14)* +- **Tiles max zoom level**: Defines the **maximum** zoom level for the raster tiles. +A higher value increases detail but may require more storage space, as well as increase the duration of the offline export. *(Default: 14)* !![Base Map Configuration QFieldSync](../../assets/images/base_map_configuration.png) !!! note - Base map generation is disabled on QFieldCloud. You can still manually add your basemaps by running "Generate XYZ tiles (MBTiles)" or "Convert map to raster" algorithms in the processing framework. + Base map generation is disabled on QFieldCloud. + You can still manually add your basemaps by running "Generate XYZ tiles (MBTiles)" or "Convert map to raster" algorithms in the processing framework. ### Offline editing configuration @@ -160,7 +155,8 @@ If *"Only synchronize features in area of interest"* is selected, only features ## Package for QField -To package your project, click on Plugins > QFieldSync > Package for QField. Once the project is configured, proceed to package it into a folder. This folder will contain both the QGIS project file (`.qgs`) and the associated data. +To package your project, click on `Plugins` > `QFieldSync` > `Package for QField`. +Once the project is configured, proceed to package it into a folder. This folder will contain both the QGIS project file (`.qgs`) and the associated data. !![Package the project for QField](../../assets/images/qfield-sync_package1.png) @@ -176,16 +172,14 @@ Simply activate the checkbox labeled "Show the packaging options in the toolbar. !![](../../assets/images/checked-show-package.png,150px) -Copy the folder on your device. Open QField, open the project and start -collecting data. +Copy the folder on your device. +Open QField, open the project and start collecting data. -Also make sure to save the QGIS project using the regular Save As of -QGIS as you'll have to re-open it later when you want to synchronize -the changes. +Also make sure to save the QGIS project using the regular Save As of QGIS as you'll have to re-open it later when you want to synchronize the changes. During packaging your project you can select which subdirectories to be copied by checking the directories in `Advanced` -> `Directories to be copied`. -!![Select subdirectories](../../assets/images/qfield-syinc-subdirs-exporting-project.png) +!![Select subdirectories](../../assets/images/qfield-syinc-subdirs-exporting-project.png,400px) ## How to sync from/to iOS device without QFieldCloud @@ -198,15 +192,11 @@ Use iTunes' File Sharing function to import into the QField root folder. ## Synchronize from QField -When you want to synchronize what you have collected, re-open the -project in QGIS (the one you saved with a regular Save As). +When you want to synchronize what you have collected, re-open the project in QGIS (the one you saved with a regular Save As). -Copy the project folder from your device to your computer, and use the -**Synchronize from QField** menu to synchronize your changes from the -protable project to the main project. +Copy the project folder from your device to your computer, and use the **Synchronize from QField** menu to synchronize your changes from the protable project to the main project. -!![Synchronize from QField](../../assets/images/qfield-sync_sync.png) +!![Synchronize from QField](../../assets/images/qfield-sync_sync.png,400px) -Make sure that you synchronize your data back only once. That means, if -you go out again to collect more data, you should create a new QField -package before to avoid sync problems later on (like e.g. duplicates). +Make sure that you synchronize your data back only once. +That means, if you go out again to collect more data, you should create a new QField package before to avoid sync problems later on (like e.g. duplicates). diff --git a/documentation/how-to/gnss.en.md b/documentation/how-to/gnss.en.md index 8299223eb2..9bd1810cd0 100644 --- a/documentation/how-to/gnss.en.md +++ b/documentation/how-to/gnss.en.md @@ -209,20 +209,19 @@ Information for GNSS Z value with Vertical grid shift in use: | Orthometric from device | Z orthometric device value| Z orthometric device value | Z orthometric device value | Altitude: xxx.xxxx m (ortho.) | | USER_Shift_Grid.GTX
[vertical grid shift](#altitude-correction-vertical-grid-shift) | Z shiftgrid value | Z ellipsoidal device value | Z shiftgrid value | Altitude: xxx.xxxx m (grid) | -### Vertex logger +### Vertex log layer -It is possible to setup a log layer of the collected vertices. This -allows to keep track of meta data for each vertex like GNSS quality -attributes and more. To set this up, a point layer can be added to the -project and attributes configured to store this information. +It is good practice to create a log layer of the collected vertices. +It enables you to keep track of the meta data for each vertex like [GNSS quality attributes](../reference/expression_variables.md) and more. -![](../assets/images/vertex_log1.png){width="600px"} +#### Setup -Then you should assign the role *digitizing logger* to a point layer. +1. Add a point layer to the project and attributes configured to store this information. +!![](../assets/images/vertex_log1.png) -Go to *QFieldSync > Project Properties* +2. Assign the role *digitizing logger* to a point layer. -![](../assets/images/vertex_log2.png){width="600px"} +3. Go to *QFieldSync > Project Properties* +!![](../assets/images/vertex_log2.png) -To be most effective, the layer attributes should have default values that -relies on the positioning variables enumerated above. +4. Set default values to the attributes using the positioning variables mentioned above. diff --git a/documentation/how-to/pictures.en.md b/documentation/how-to/pictures.en.md index 0f3315b6f9..6eafcf6350 100644 --- a/documentation/how-to/pictures.en.md +++ b/documentation/how-to/pictures.en.md @@ -55,8 +55,9 @@ Create a relation with: ### Widgets #### Apiary -Set the default value of the field id to `uuid()` or use the *UUID Generator* widget. -There is no need to show it in the form. +You can either choose the *Text Edit* or *UUID Generator* widget. +Its default value in any case has to be *uuid('WithoutBraces')*. +Hide it from the view as it should not be edited by the user. !![widgets](../assets/images/add-1-n-pictures-widgets_hive.png "") @@ -85,7 +86,7 @@ Whenever that project is loaded, QField will register all images within that fol - Alternatively, you can add images into the `drawing_templates` folder found inside your QField app folder. If you are not familiar with that app folder, its location is shown at the bottom of the About QField overlay. -Templates shipped alongside projects as well as the QField app folder will be shown when users choose 'Draw a sketch' within attachments widget's 3-dot menu. +Templates shipped alongside projects as well as the QField app folder will be shown when users choose 'Draw a sketch' by pressing the 3-dotted menu icon of the attachment widget. !![picture path](../assets/images/drawing_templates.png "") @@ -104,7 +105,7 @@ Information about location and direction of the pictures will therefore be baked QField allows you to add image stamping. This is configured directly from the QFieldSync plugin in QGIS. -With this functionality you can add detailed and formatted information when taking photos in the field . +With this functionality you can add detailed and formatted information when taking photos in the field. ### Styling Settings @@ -165,7 +166,7 @@ Be sure to reflect this in the QGIS expression. The advanced settings allow rescaling the photos to a maximum width/height in *QFieldSync plugin > Project configuration* -![image](https://user-images.githubusercontent.com/4992805/189456560-3e251c44-c85c-40bd-a3cc-039c49090e03.png) +!![](../assets/images/maximum_picture_size_attachments.png, 800px) ## Configurable attachment path :material-monitor: Desktop preparation @@ -178,10 +179,10 @@ QFieldSync provides the possibility to configure the path and the file names of Use expressions to specify the path of the attachments. By default, pictures are saved into the "DCIM" folder, audio are saved into the "audio" folder and videos are saved into "video" with a timestamp as name. -!![picture path](../assets/images/picture_path.png "") +!![picture path](../assets/images/picture_path.png, 800 px) Additional directories can be synchronized with pictures or other attachments. -Extra paths can be configured in _Attachment directories_ in the QFieldSync settings under *project properties*. +Extra paths can be configured in _Attachment and Directories_ tab in the QFieldSync settings under *project properties*. All paths are relative to the project directory. -!![attachments directories](../assets/images/attachments_directories.png "") +!![attachments directories](../assets/images/attachments_directories.png, 1000px) diff --git a/documentation/how-to/plugins.en.md b/documentation/how-to/plugins.en.md index ffd14f40d1..107a96b63a 100644 --- a/documentation/how-to/plugins.en.md +++ b/documentation/how-to/plugins.en.md @@ -5,8 +5,7 @@ tx_slug: documentation_how-to_plugins # QField Plugins -QField has a QML/Javascript plugin framework through which additional functionalities and -features can be scripted. +QField has a QML/Javascript plugin framework through which additional functionalities and features can be scripted. ## Types of plugins @@ -16,29 +15,24 @@ Plugins can be served in two ways: - as an application plugin that will be activated when QField launches. !!! note - A permission dialog is shown prior to activating a plugin, providing you with the possibility - of granting or denying individual plugins. + A permission dialog is shown prior to activating a plugin, providing you with the possibility of granting or denying individual plugins. ### Project plugins -Project plugins are deployed as a sidecar file to a given project file and must share the same -file name with a .qml extension. For example, if your project file is “tree_inventory_qfield.qgs”, -the plugin’s main QML file must be “tree_inventory_qfield.qml”. +Project plugins are deployed as a sidecar file to a given project file and must share the same file name with a .qml extension. +For example, if your project file is “tree_inventory_qfield.qgs”, the plugin’s main QML file must be “tree_inventory_qfield.qml”. -For cloud projects, you simply add the relevant QML file into your local cloud project folder -and upload the newly added file on QGIS using qfieldsync. This method insures a smooth plugin -deployment and update to devices on the field. +For cloud projects, you simply add the relevant QML file into your local cloud project folderand upload the newly added file on QGIS using qfieldsync. +This method insures a smooth plugin deployment and update to devices on the field. For non-cloud projects, refer to the QField [storage handling documentation page](../get-started/storage.md) to learn how to import projects onto devices. ### Application plugins -Application plugins are installed through a plugins popup accessed from QField’s Settings -panel. Simply hit the ‘Install plugin from URL’ button and paste in a URL pointing to a -zipped plugin file. +Application plugins are installed through a plugins popup accessed from QField’s Settings panel. +Click on the ‘Install plugin from URL’ button and paste in a URL pointing to a zipped plugin file, or download one of the "Available Plugins" already developed by the [community](../reference/plugins.md). -!![](../assets/images/application-plugins.png) +!![](../assets/images/application-plugins.png,400px) -Once installed, the plugin will appear in the plugins list found in the popup, with a switch -to toggle the activation of the plugin. +Once installed, the plugin will appear in the plugins list found in the popup, with a switch to toggle the activation of the plugin.