owncloud / client

🖥️ Desktop Syncing Client for ownCloud
GNU General Public License v2.0
1.4k stars 663 forks source link

Document nautilus/nemo/caja/dolphin overlay support aka shell integration on Linux #5976

Closed jnweiger closed 6 years ago

jnweiger commented 7 years ago

Currently owncloud-client is often installed without pulling in the plugin to connect to the system's file browser.

We make a shy attempt on openSUSE, Fedora and CentOS7:

Suggests:   %{name}-nautilus
Suggests:   %{name}-nemo

and DEB:

Package: @LINUX_PACKAGE_SHORTNAME@-client-doc
Suggests: @LINUX_PACKAGE_SHORTNAME@-client-nautilus

This has several issues:

Proposed fix:

This proposed change should bring most nemo/nautilus/caja users the overlay features without manually installing an additional linux package.

Possible shortcoming: Thre may be corner cases where the required nautilus-python remains uninstalled and thus the feature would still not work out of the box.

jnweiger commented 7 years ago

https://en.opensuse.org/SDB:OwnCloud#GNOME has a few lines about the use of the plugins. @settermjd I am not sure if the shell integration feature is a hidden secret or well documented somewhere?

michaelstingl commented 7 years ago

Shell integration is a regular feature of ownCloud.

From our current docs:

File Manager Overlay Icons

The ownCloud sync client provides overlay icons, in addition to the normal file type icons, for your system file manager (Explorer on Windows, Finder on Mac and Nautilus on Linux) to indicate the sync status of your ownCloud files. (source)

and:

Sharing From Your Desktop

The ownCloud desktop sync client integrates with your file manager: Finder on Mac OS X, Explorer on Windows, and Nautilus on Linux. (Linux users must install the owncloud-client-nautilus plugin.) You can create share links, and share with internal ownCloud users the same way as in your ownCloud Web interface. (source)

Needs some refinements…

guruz commented 7 years ago

Proposed fix:

So the ".py" only packages will be pulled in automatically by the client package? Sounds good. Can this still be done for 2.3.3? (I guess we can change linux packages even after release..)

settermjd commented 7 years ago

@jnweiger, I'm not sure either, but will do a bit of digging.

settermjd commented 7 years ago

@jnweiger, based on https://extensions.gnome.org/about/, it seems that it should be a well-known feature, not something hidden.

settermjd commented 7 years ago

Should we not just suggest to the user that they should install their extension of choice if they want to, that is if they want the full functionality on offer? That way, the installer doesn't need to jump through as many hoops.

jnweiger commented 7 years ago

@msetter I agree: best way is to document what needs to be installed. No crazy installer tricks.

I jokingly said 'hidden' because I was afraid that we never documented it in a useful way. It is not a new feature. It is there for maybe half a year...
That does not imply it should remain hidden. Please expose :-)

jnweiger commented 7 years ago

templates pushed, nighlies triggered, -- will revert if something non-trivial breaks.

jnweiger commented 7 years ago

The packages -client-nemo, -client-nautilus, -client-caja, -client-dolphin are now all suggested by the the main -client package, and they now require their nemo-python, nautilus-python, caja-python glue code. If we don't require that, the standard install of nemo, caja, nautilus would not require it either, leaving us with a broken shell integration. (But requiring the python glue for all* filemanangers make no sense in the main client package either)

@settermjd To be documented: If you want shell integration on Linux with filemanager $FOO: please install *-client-$FOO, and restart your desktop.

artem-sidorenko commented 7 years ago

@jnweiger owncloud-client-* are missing somehow.

https://build.opensuse.org/package/binaries/isv:ownCloud:desktop/owncloud-client?repository=xUbuntu_16.04

Maybe I'm looking to the wrong place? However in the past I was installing owncloud-client-nemo exactly from this repository

michaelstingl commented 7 years ago

@artem-sidorenko You can find it here:

Installation of owncloud-client-nemo fixed in 2.3.3 which is planned to be released in the next few hours.

PVince81 commented 6 years ago

Dolphin works for me with 2.4.0~rc1

PVince81 commented 6 years ago

Ok, seems I got a weird mismatch of versions when upgrading:

(14/15) Installing: owncloud-client-2.4.0~rc1-8802.5.x86_64 ................................................................................[done]
(15/15) Installing: owncloud-client-dolphin-2.3.4-8626.1.x86_64 ............................................................................[done]

and I can't upgrade owncloud-client-dolphin:

  % zin owncloud-client-dolphin-2.4.0~rc1
Loading repository data...
Reading installed packages...
There is an update candidate 'owncloud-client-dolphin-2.4.0beta1-6.1.x86_64' for 'owncloud-client-dolphin-2.3.4-8626.1.x86_64', but it does not match the specified version, architecture, or repository.
There is an update candidate for 'owncloud-client-dolphin', but it is from a different vendor. Use 'zypper install owncloud-client-dolphin-2.4.0beta1-6.1.x86_64' to install this candidate.
Resolving package dependencies...

Problem: nothing provides owncloud-client-overlays(x86-64) = 2.4.0~rc1-8802.3 needed by owncloud-client-dolphin-2.4.0~rc1-8802.3.x86_64
 Solution 1: do not install owncloud-client-dolphin-2.4.0~rc1-8802.3.x86_64
 Solution 2: break owncloud-client-dolphin-2.4.0~rc1-8802.3.x86_64 by ignoring some of its dependencies
dragotin commented 6 years ago

@PVince81 which repo are you using?

jnweiger commented 6 years ago

@dragotin some guesswork:

Nevertheless, I can reproduce on 42.3:

zypper addrepo http://download.opensuse.org/repositories/isv:ownCloud:community:testing/openSUSE_Leap_42.3/isv:ownCloud:community:testing.repo
zypper ref
zypper install owncloud-client-dolphin

Problem: nothing provides owncloud-client-overlays(x86-64) = 2.4.0~rc1-8802.1 needed by owncloud-client-dolphin-2.4.0~rc1-8802.1.x86_64
 Solution 1: do not install owncloud-client-dolphin-2.4.0~rc1-8802.1.x86_64
 Solution 2: break owncloud-client-dolphin-2.4.0~rc1-8802.1.x86_64 by ignoring some of its dependencies
jnweiger commented 6 years ago

fixed in https://gitea.int.owncloud.com/ownbrander/scripting/commit/ac7183a99cb1803a8877ff552aae1c0f3f13ed8d

jnweiger commented 6 years ago

@PVince81 my zypper install owncloud-client-dolphin now succeeds on 42.3. Please also check on your side.

PVince81 commented 6 years ago

Worked now, thanks:

± % zin owncloud-client-dolphin
[sudo] password for vincent: 
Retrieving repository 'isv:ownCloud:community:testing (openSUSE_Tumbleweed)' metadata ......................................................[done]
Building repository 'isv:ownCloud:community:testing (openSUSE_Tumbleweed)' cache ...........................................................[done]
Retrieving repository 'packman' metadata ...................................................................................................[done]
Building repository 'packman' cache ........................................................................................................[done]
Retrieving repository 'devel:languages:python' metadata ....................................................................................[done]
Building repository 'devel:languages:python' cache .........................................................................................[done]
Retrieving repository 'skype (stable)' metadata ............................................................................................[done]
Building repository 'skype (stable)' cache .................................................................................................[done]
Loading repository data...
Reading installed packages...
There is an update candidate for 'owncloud-client-dolphin', but it is from a different vendor. Use 'zypper install owncloud-client-dolphin-2.4.0beta1-6.1.x86_64' to install this candidate.
Resolving package dependencies...

The following 3 packages are going to be upgraded:
  owncloud-client owncloud-client-dolphin owncloud-client-l10n

3 packages to upgrade.
Overall download size: 1.4 MiB. Already cached: 0 B. After the operation, additional 22.4 KiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package owncloud-client-l10n-2.4.0~rc1-8842.1.x86_64                                              (1/3), 359.6 KiB (  2.7 MiB unpacked)
Retrieving: owncloud-client-l10n-2.4.0~rc1-8842.1.x86_64.rpm ...................................................................[done (1.0 MiB/s)]
Retrieving package owncloud-client-2.4.0~rc1-8842.1.x86_64                                                   (2/3),   1.0 MiB (  3.1 MiB unpacked)
Retrieving: owncloud-client-2.4.0~rc1-8842.1.x86_64.rpm ........................................................................[done (1.2 MiB/s)]
Retrieving package owncloud-client-dolphin-2.4.0~rc1-8842.1.x86_64                                           (3/3),  31.8 KiB (106.0 KiB unpacked)
Retrieving: owncloud-client-dolphin-2.4.0~rc1-8842.1.x86_64.rpm ............................................................................[done]
Checking for file conflicts: ...............................................................................................................[done]
(1/3) Installing: owncloud-client-l10n-2.4.0~rc1-8842.1.x86_64 .............................................................................[done]
(2/3) Installing: owncloud-client-2.4.0~rc1-8842.1.x86_64 ..................................................................................[done]
(3/3) Installing: owncloud-client-dolphin-2.4.0~rc1-8842.1.x86_64 ..........................................................................[done]
There are some running programs that might use files deleted by recent upgrade. You may wish to check and restart some of them. Run 'zypper ps -s' to list these programs.

The two repos I have are: