Skip to content

Commit

Permalink
Added Contributing section and improved Development section in the RE…
Browse files Browse the repository at this point in the history
…ADME
  • Loading branch information
suricactus committed Nov 23, 2024
1 parent 3642b16 commit 169b85a
Showing 1 changed file with 41 additions and 10 deletions.
51 changes: 41 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[![Build Status](https://travis-ci.org/opengisch/qfieldsync.svg?branch=master)](https://travis-ci.org/opengisch/qfieldsync)

# QFieldSync

This plugin facilitates packaging and synchronizing QGIS projects for use with [QField](http://www.qfield.org).

It analyses the QGIS project and suggests and performs actions needed to make the project working on QField.
Expand All @@ -11,32 +12,62 @@ More information can be found in the [QField documentation](https://docs.qfield.

The plugin can be download on the [QGIS plugin repository](https://plugins.qgis.org/plugins/qfieldsync/).


## Contribute

QFieldSync is an open source project, licensed under the terms of the GPLv3 or later.
This means that it is free to use and modify and will stay like that.

We are very happy if this app helps you to get your job done or in whatever creative way you may use it.

If you found it useful, we will be even happier if you could give something back.
A couple of things you can do are:

- Rate the plugin at [plugins.qgis.org](https://plugins.qgis.org/plugins/qfieldsync/) ★★★★★
- Write about your experience (please let us know!).
- [Help with the documentation](https://github.com/opengisch/QField-docs/).
- Translate [the QFieldSync QGIS plugin](https://app.transifex.com/opengisch/qfieldsync/dashboard/), [the QField app](https://app.transifex.com/opengisch/qfield-for-qgis/dashboard/) or [the documentation](https://app.transifex.com/opengisch/qfield-documentation/dashboard/).
- [Sponsor a feature](https://docs.qfield.org/get-started/sponsor/)
- And just drop by to say thank you or have a beer with us next time you meet [OPENGIS.ch](https://opengis.ch) at a conference.
- [Develop a new feature or fix a bug](#development).


## Development

1) Checkout [qfieldsync](https://github.com/opengisch/qfieldsync/) locally:
### Getting the source code

```
1) Checkout [`qfieldsync`](https://github.com/opengisch/qfieldsync/) locally:

```shell
git clone --recurse-submodules [email protected]:opengisch/qfieldsync.git
```

2) Make a link of the QFieldSync checkout to qfieldsync directory in your current QGIS profile:
2) Make a link of the QFieldSync checkout to `qfieldsync` directory in your current QGIS profile:

```
```shell
ln -s ${PWD}/qfieldsync/qfieldsync ${HOME}/.local/share/QGIS/QGIS3/profiles/default/python/plugins
```

3) Checkout [libqfieldsync](https://github.com/opengisch/libqfieldsync/) locally:
3) Checkout [`libqfieldsync`](https://github.com/opengisch/libqfieldsync/) locally:

```
```shell
git clone [email protected]:opengisch/libqfieldsync.git
```

4) Install your local libqfieldsync as editable dependency (assuming you are in the same directory as step 3):
4) Install your local `libqfieldsync` as editable dependency (assuming you are in the same directory as step 3):

```
```shell
pip install -e libqfieldsync
```

NOTE On more recent Linux distributions you might get an error `error: externally-managed-environment` and you have to pass additional `--break-system-packages`.
> [!NOTE]
> On more recent Linux distributions you might get an error `error: externally-managed-environment` and you have to pass additional `--break-system-packages`.
> Despite the name, we promise this is not going to break system packages.
### Opening a PR

Make sure each new feature or bug fix are in a separate PR.

Despite the name, we promise this is not going to break system packages.
QFieldSync stores the respective `libqfieldsync` commit SHA in the bottom of [`requirements.txt`](https://github.com/opengisch/qfieldsync/blob/master/requirements.txt#L9-L10).
Sometimes changes in QFieldSync require modifications in [`libqfieldsync`](https://github.com/opengisch/libqfieldsync/).
In these cases please update the commit sha of `libqfieldsync` to point to the respective commit on `libqfieldsync`'s master branch.

0 comments on commit 169b85a

Please sign in to comment.