One thing I have seen that has 0 support is an api that sync clients that support on demand sync like Synology Drive can utilize. Under Windows and Macos for example Syn Drive utilizes the OSes API for cloud folders.
Under linux our only choise is either SMB/NFS or Full sync.
Obviously that is unattainable for businesses that utilize Shares that have multiple TBs in them.
Is there any in development support for something like that currently for linux or Dolphin?
I feel that a feature like that is a must if linux is to be taken seriously for out remote work.
I would love to be able to have access to my files without the need to download the WHOLE share or have to baby a folder selection list.
Would love to hear your ideas regarding a feat like that.
One thing that ressembles a little is in Dolphin-plugins we have KVersionControlPlugin and this was implemented dropbox:
It shows the current state, sync/synced, but it requires a full sync, not an on-demand download for individual files.
On Linux we simply don’t have an API/infrastructure allowing this. I have talked to Nextcloud people and they would need a solution for this too. This needs to be cross-desktop, file-system transparent.
The logical way would be to implement it using fuse, that would require some work, specific api-integration perhaps or network-protocol that could work over http/ftp/sshfs for instance. And the question would then how to expose the file state to the UI layer, my bet would be to use extended attributes then, that is if fuse allows it.
This thread does bring up a good point and that is why haven’t the cloud services done syncing with mirroring? The desktop portion of it would be fairly straightforward, cause we are already capable of it from drive to drive on individual PC’s.
I feel this is a really bad idea. If every vendor makes their own on demand sync solution and custom plugin for each DE then we are done in simple terms.
The proper way to do this is someone implements an API under plasma or directly to the filesystem if supported and vendors can then utilize that instead of each one making their own hacks.
Thats both how Windows and Macos works as I said and exactly why synd status etc is so closelly tied to the system
For example windows storage saver can automatically set files to cloud only when the storage is getting closed to full. can you imagine the mess we would have if every vendor made their own custom way to patch the file explorer.
I feel that exactly because of the potition kde is in, it should have an actual file/folder on demand sync api vendors can utilize.
The backend of the fuse mount would only need to list the files, like any network file system (NFS/SMB) it can dynamically decide to use locally cached data or transfer from/to remote.
The cloud service provider could easily do that independently of any UI already.
They could likely even use https://rclone.org/ as a starting point, they are usually just too lazy.
Why do we have to double the effort of anyone tho? there are not that many states a file can even be in. All I am talking about is the infra for devs to be able to build on. If its something thats too complicated or time consuming for the plasma team to intergrate thats a totally acceptable answer but as its something that is happening 100% on the GUI for the user and its supposed to have a close tie connection to the File Manager then its something that the Plasma team would be the best contender to dev.
That is exactly why it would be preferable if they used the standard systems instead of duplicating the work in KDE, GNOME, and so on.
Which exist and which they ignore.
And apparently get away with it as their customers seems to think someone else should do the provider’s job for free
Is dolphin equiped to provide feedback on availability status of a file through fuse. You said that fuse already provides all that. So its equiped to manage hybrid cloud folders like those on-demand cloud vendor apps provide?
this problem is obviously a chicken and egg as everything is under linux. All I am saying is that something like that would push vendor to think of us as viable alternative.
Or we can call everyone a freeloader and stay static on one of the most important bussines usecases for office users.
Btw synology drive DOES have a linux client it just have no solution for on demand syncing. They actually have a linux client for all their apps as far as I am concerned.
No at that moment, that would need to be specified and file-managers would need then to implement support for it.
Fuse should allow it. Then it would need also to send inotfiy signals…
Good to know. So in simple terms fuse needs works then dolphin needs to support the new features so more work there and by the end vendors need to do their side of the job to tie in the new fuse system too.
As @meven wrote it has interfaces to show the status of files in version control systems.
All depends on the files actually being available to the system.
Are we sure this is the case?
Do we even know if their clients supports that, if they even have one?
If it is an important business use case than the cloud storage provider’s customers will ask them for support.
They can either then do this themselves or speculate that someone will do the work for them for free.
We will have to wait and see which way they are going. Sadly way to many choose the freeloader route.
I suppose still better than explicitly not supporting customers on Linux at all or being too incompetent to do it.
Well, that is a good start!
It should at least be able to detect access to a file it has not synced yet and then do that right then.
Additionally then they can either document how their client exposes the metadata so that someone can write UI for it or they can use APIs like the version control system plugins to do it themselves.
That would not be sufficient to be compatible to all applications transparently.
It needs to be low level enough, for your office app, flatpack app to work with it…
We should mandate as little as possible integration for the filemanagers. Mostly file state (local/remote), file sync status (synced, local-changed, remotely changed)…
The rest could be standard.
The only point we have arrived tho is that corpos are freeloaders and are riding the free work of the linux devs.
This ideology is not the way to make linux a viable alternative to win/mac.
Corpos have no reason to actually migrate their app to linux if there is no actual incentive (like a api for cloud storage support) by the linux community.
And we are talking about a on demand cloud file capable app. The app already has the logic. There is nothing on the other side for it to bind on dolphin to present file status or sync progress directly under the icon on dolphin etc.
This is basic work that dolphin has to present first and then the cloud vendors can utilize.
Yes they could very much so develop a system specifically for their app! Then the next corpo has to make their own system too etc etc.
Also what is their incentive to do that? the 0.1% userbase? lets try to be real… Its just the hard truth of the matter.
All I am asking here is if there is any traction for this feature to be developed. If there is no dev time available for this I fully understand. But as it is right now we still have no support for on demand file sync under linux in general, and guess where most users keep their stuff around the world… Every casual user I know keeps their files/photos under google drive/onedrive/dropbox/icloud exactly because they dont have enough storage for everything and also they want a “backup”. Linux is a nogo for ALL those users. If I had the skills I would love to change that.
In this case the company seems to have actually made a Linux client, unlike others like Google, Microsoft or Apple.
What they are currently lacking is integration.
They can already do on-demand download by integrating their client as a file system using FUSE.
Once they have that, hey can also provide information about the sync status as file system attributes.
They can also provide a D-Bus interface in their client for UI to trigger on-demand upload.
The other way around.
The sync service needs to provide the data (and status attributes) and API for Dolphin to call into.
They can also try using Dolphins plugin API for version control systems as that can already show things like “file has local changes that have not been sent to the server yet” and has actions to trigger this.
You need to ask the developers of the sync client. Dolphin developers can only help with the last step, the other steps need to be done by them.
Paradoxically some of these companies lack the necessary skills.
They have Linux specialists as this is what they servers/backends use but they tend to have separate server and client teams and the latter often don’t have Linux people available.
Whether that is the case here or lack of dev time is hard to say.