Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nuxeo/nuxeo-drive

Cross-platform desktop synchronization client for the Nuxeo platform.
https://github.com/nuxeo/nuxeo-drive

appimage desktop-application desktop-synchronization gnu-linux macos nuxeo pyinstaller pyqt5 python3 windows

Last synced: 17 days ago
JSON representation

Cross-platform desktop synchronization client for the Nuxeo platform.

Awesome Lists containing this project

README

        

# Nuxeo Drive

[![Version](https://badgen.net/github/release/nuxeo/nuxeo-drive)](https://doc.nuxeo.com/client-apps/nuxeo-drive-release-notes/)
[![Release](https://github.com/nuxeo/nuxeo-drive/actions/workflows/release.yml/badge.svg)](https://github.com/nuxeo/nuxeo-drive/actions/workflows/release.yml)

**Desktop Synchronization Client for Nuxeo**

This is an ongoing development project for desktop synchronization of local folders with remote Nuxeo workspaces.

![Nuxeo Drive Settings][nuxeo-drive-settings-preview]

[nuxeo-drive-settings-preview]: https://raw.githubusercontent.com/nuxeo/nuxeo-drive/master/preview.png

See the [Nuxeo Drive docs](https://doc.nuxeo.com/client-apps/nuxeo-drive/) for complete up-to-date documentation.

---

Note: this documentation follows the Nuxeo Drive version of the `master` branch, which evolves quickly.
To see the documentation of a given Nuxeo Drive release, use this kind of link:

```shell
# For Drive 2.1.113 go to:
https://github.com/nuxeo/nuxeo-drive/tree/release-2.1.113
```

---

## Installation

Installing Nuxeo Drive requires two components:

1. the `nuxeo-drive` server addon for the Nuxeo Platform;
2. and a desktop client on the user's computer.

### Desktop Clients

The desktop client can be downloaded from the **Home** > **Nuxeo Drive** tab or from the [update website](https://community.nuxeo.com/static/drive-updates/).

The latest official release can always be found at those static URLs:

- [GNU/Linux](https://community.nuxeo.com/static/drive-updates/nuxeo-drive-x86_64.AppImage)
- [macOS](https://community.nuxeo.com/static/drive-updates/nuxeo-drive.dmg)
- [Windows](https://community.nuxeo.com/static/drive-updates/nuxeo-drive.exe)

## Configuration and Usage

### Regular Usage

1. Launch the Nuxeo Drive program (e.g. from the Start menu under Windows).

A new icon should open in the system tray and a popup menu should open asking the user for the URL of the Nuxeo server and credentials.

2. In the Nuxeo web interface, mark workspaces and folders for synchronization.

3. You can now go to the local Nuxeo Drive folder by using the menu of the system tray icon.

### Command-Line Usage (Advanced)

The desktop synchronization client can also be operated from the command-line:

1. Make sure that the `ndrive` program is installed in a folder that has been added to the `PATH` environment variable of your OS.

* If you installed the .dmg package for macOS, the binary is:

```shell
/Applications/Nuxeo\ Drive.app/Contents/MacOS/ndrive
```

* You can alias it in your `~/.bashrc` with:

```shell
alias ndrive="/Applications/Nuxeo\ Drive.app/Contents/MacOS/ndrive"
```

2. Launch Nuxeo Drive:

```shell
ndrive
```

Under Windows you can launch `ndrive.exe` instead to avoid keeping the cmd console open while Nuxeo Drive is running instead.

3. The first time you run this command a dialog window will open asking for the URL of the Nuxeo server and your user credentials.

Alternatively you can bind to a Nuxeo server with your user credentials using the following commandline arguments:

```shell
ndrive bind-server nuxeo-username https://server:port/nuxeo [--password="secret"] [--local-folder="~/Nuxeo Drive"]
```

This will create a new folder called Nuxeo Drive in your home folder on GNU/Linux & macOS and under the Documents folder on Windows.

4. Go to your Nuxeo with your browser, navigate to workspaces or folder where you have permission to create new documents.
5. Click on the Nuxeo Drive icon right of the title of the folder to treat this folder as a new synchronization root.

Alternatively you can do this operation from the commandline with:

```shell
ndrive bind-root "/default-domain/workspaces/My Workspace"
```

You can now create office documents and folders locally or inside Nuxeo and watch them getting synchronized both ways automatically.

## Localization

[![Crowdin](https://d322cqt584bo4o.cloudfront.net/nuxeo-drive/localized.svg)](https://crowdin.com/project/nuxeo-drive)

Translations are managed with [Crowdin](https://crowdin.com/).

The reference file [i18n.json](https://github.com/nuxeo/nuxeo-drive/blob/master/nxdrive/data/i18n/i18n.json) contains the labels and the English values.

Translations for other languages are managed in the [nuxeo-drive](https://crowdin.com/project/nuxeo-drive) Crowdin project, e.g. [French](https://crowdin.com/translate/nuxeo-drive/40/en-fr).

The [crowdin-action](https://github.com/nuxeo/nuxeo-drive/actions?query=workflow%3ACrowdin) GitHub Action triggers a daily synchronization of:

* The `i18n.json` reference file to Crowdin. This file can be edited and changes must be pushed to the current repository.
* The Crowdin translation files to the `i18n` folder, e.g. `i18n-fr.json`. These files must never be edited from the source tree.

## Reporting Issues

1. Generate a bug report in the **Advanced** tab of the **Settings** panel of the Nuxeo Drive client.

You can also log DEBUG information directly in the console by using the following command-line:

```shell
ndrive --log-level-console=DEBUG
```

2. Create a GitHub issue mentioning the version of the Nuxeo Platform, your operating system name and version (e.g. Windows 7), the steps to reproduce the error and a copy of the logs.

3. For long running sessions, it is better to dump the debug information in a log file. This can be done with the following command:

```shell
ndrive --log-level-file=DEBUG
```

By default the location of the log file is `$HOME/.nuxeo-drive/logs/`.

## License

The source code of Nuxeo Drive is available under the GNU LGPL v2.1 described in [LICENSE.txt](LICENSE.txt).

## Roadmap

The [backlog](https://jira.nuxeo.com/issues/?jql=(project%20%3D%20%22Nuxeo%20Drive%20%22%20OR%20project%20%3D%20%22Nuxeo%20Python%20Client%22%20%20OR%20component%20%3D%20%22Nuxeo%20Drive%22%20OR%20project%20%3D%20NXDOC%20AND%20Tags%20%3D%20nxdrive)%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20%22Backlog%20priority%22%20%20ASC) is handled on JIRA.

## Developing on Nuxeo Drive

See the [contributor guide](DEVELOPERS.md) if you wish to actually contribute to the Nuxeo Drive code base.