owncloud / client

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

Sync ownCloud's tags with local desktop/OS #4511

Open Bugsbane opened 8 years ago

Bugsbane commented 8 years ago

With ownCloud 9+ now having a tag framework, this seems like a good time to look at syncing tags with the various operating systems / desktop environments local tag systems (such as that found in MacOS X, KDE 4+ and presumably Windows/gnome, so we're not losing this data when files are synced, and can also use / search for those tags across the platforms used.

This is related to https://github.com/owncloud/client/issues/1159 but goes beyond MacOS. Personally I'm more interested in plasma 5 integration, but to me it seems like regardless of OS, this is the same feature.

elmcrest commented 8 years ago

+1

Bugsbane commented 8 years ago

Hey @elmcrest / @marbetschar , Thanks for your support of this issue. Just so you know, to add your support without spamming developers with notifications, most devs generally prefer that you use the "Add your reaction" smiley face button in the top right corner of the original post. This lets them see at a glance how many people added their support without needing to count comments, and it also keeps their inboxes free of a million "+1" emails that don't add actionable information.

Thanks again!

marbetschar commented 7 years ago

@Bugsbane thanks for the feedback; of course - your right ;)

Are there any news/plans regarding sync of tags to the OS filesystem? I stumble across this at least every week, since nearly every time I use ownCloud I have to search through the files. Which I do on my local harddrive for productivity reasons. This is how a typical use case on my end looks:

I need this Coyote product logo. The product is from this ACME company. So lets look around all the following folders - since it wasn't me who created & stored the logo in the ownCloud:

Would be awesome to use the native Tags feature on macOS to simply grab all files tagged with ACME,Logo,Coyote !!

Sure, this is a simple example which can be organised by company wide rules. But there are a LOT of cases, where you have to decide for one folder between a bunch of fully reasonable ones. Even worse, this decision is different for every person - hell the decision even differs for only one person depending on the time it is made.

Folders are just soooooo 1950.

marbetschar commented 7 years ago

any news on this enhancement?

juangamnik commented 7 years ago

+1. Anything new? Just tried to upload a file from macOS with tags, but tags are gone...

Bugsbane commented 7 years ago

Haven't heard anything so far, and it's been 1.3 years now...

michaelstingl commented 7 years ago

Some things are still missing on the server-side.

falcongoat commented 7 years ago

Could you elaborate what is needed to make this possible?

Rene33 commented 7 years ago

I think it's not only tag, but all the extended attribute of the file. This is an important features of the files system on Mac OS, and some applications need these xattr to recognize their data.

Bugsbane commented 7 years ago

Well, could we start with tags and then build to the other extended file info later?

Rene33 commented 7 years ago

Yes...or no. Tags are a convenient feature, you can use or not. xattr are used by some applications to recognize the files they use. And without them you cannot use the application. For instance my accounting application use the xattr. I am obliged to maintain a Dropbox sharing only for the files of the accounting application... Having said so, I don't know the complexity of both features. Aren't tags only a kind of xattr ?

fablarosa commented 7 years ago

Tags are stored in the com.apple.metadata:_kMDItemUserTags extended attribute. You can check which tags are set using these commands when you are inside a directory containing tagged files: xattr -l * ls -l@ Tag syncing is a feature that should be definitely included in ownCloud.

juangamnik commented 7 years ago

Has anyone experience with using sparse bundle images in owncloud, in order to get this feature right now (you format the image with HFS+ which supports tags and since the sparse bundle splits the disk into 8MiB band files, the traffic penalty isn't that bad)?

fablarosa commented 7 years ago

Not so easy to use for the average user but it's a valid workaround, I did some quick testing and it looks like only the band files involved in file additions/modifications are syncronized by ownCloud.

michaelstingl commented 7 years ago

@fablarosa Thanks for checking. Please open a new issue if there is something that can be improved syncing sparse bundle images.

fablarosa commented 7 years ago

One major issue with sparse bundles I had not thought before is that they are image files, think them like iso images split in many small files.
This would cause serious concurrency issues when mounting the same image file from two Macs and add/modify some files stored inside the sparse bundle, tested this myself right now and the results are unpredictable.

guruz commented 7 years ago

One major issue with sparse bundles I had not thought before is that they are image files, think them like iso images split in many small files.

https://github.com/owncloud/client/issues/3202

juangamnik commented 7 years ago

This would cause serious concurrency issues when mounting the same image file from two Macs and add/modify some files stored inside the sparse bundle, tested this myself right now and the results are unpredictable.

Reducing the band-size (let's say to 1 MB) should reduce the conflicts, but it is no solution. I try to unmount the image before leaving a machine (and wait for sync), but this is error-prone. Unfortunately, during unmounting HFS seems to do some last cleanup-writes (perhaps journaling...), so you have to unmount it, before you can mount it on another machine. Last but not least, there are some files (beside the bands) that can cause conflicts even easier like the single info.plist.

elevatingcreativity commented 6 years ago

It seems the thread got sidetracked a bit with the discussion of disk image files. For us, that's a non-starter. We have multiple team members sharing folders on owncloud, and image files would break due to the concurrency stuff, no matter how fine-grained. If one wrong byte gets flipped in an image, the whole image can be corrupted. Yes, I've had it happen...

As the OP pointed out, the way to reliably find things is definitely not relying on people to file them in the same ways. It is tagging.

However, I haven't seen any "official" action on this from the devs above....

Wouldn't this just be a matter of adding a column in the DB that stores the tags, and synchronize to that column from each client?

If I were more familiar with the way things work in this community, I might give it a go next month when I have more time - or at least make a contribution towards the effort. But I have no idea where I would start from getting such changes "approved" by the official releases even if I did so...

Meanwhile, I'll hope this gets picked up by someone who could do this quickly.

dpeger commented 6 years ago

Wouldn't this just be a matter of adding a column in the DB that stores the tags, and synchronize to that column from each client?

As ownCloud already supports tags in the backend and the web-frontend, I'd think that there is no need to perform any DB changes. From an outsiders position this looks more like a client issue (read OS/Filesystem-Tags from files and submit them to the backend, receive tags from backend and store them in an OS/Filesystem dependent way). Not sure If the sync-protocol already supports meta-data though.

aromicreativi commented 6 years ago

file manager > right click > owncloud tags (add and remove collaborative owncloud tags)

This would be a great feature expecially for image files, since you can use your file manager preview feature and quickly tag images. The browser interface is great to tag general files since you can recognize the content from the file name. However, image file names are meaningless since they are usually progressively set from a camera.

I submitted a feature request here in the gallery app issue tracker too, since that would be the natural image browsing interface.

Saving tags in extended attributes would be the proper way to ensure data portability.

Bugsbane commented 6 years ago

file manager > right click > owncloud tags

Personally I would prefer that we used the standard systems already in place for providing tags to files on each operating system rather than have our tags be a separate thing. Thing way users can tag with any app that used the operating standard, and have the sync client and OwnCloud/Nextcloud take care of keeping those intact across devices.

cukabeka commented 6 years ago

I agree with @Bugsbane - if the client could translate the OS tag to the owncloud tag, that would be awesome, but the approach from @aromicreativi would be a decent start IMHO. I still wonder why the enhancement label was removed by @SamuAlfageme ?

guruz commented 4 years ago

FYI this is what Dropbox syncs: https://help.dropbox.com/en-us/installs-integrations/sync-uploads/extended-attributes

whiteonion commented 3 years ago

I'd like to sponsor this feature!

dwd0tcom commented 3 years ago

... it's 2021 and this feature is still set as open?

Bugsbane commented 3 years ago

... it's 2021 and this feature is still set as open?

Yeah. And we still don't have flying cars and personal jetpacks, either. :(