owncloud / core

:cloud: ownCloud web server core (Files, DAV, etc.)
https://owncloud.com
GNU Affero General Public License v3.0
8.38k stars 2.05k forks source link

Toggle to hide/show hidden files #2589

Closed vincentqb closed 8 years ago

vincentqb commented 11 years ago

EDIT by @jancborchardt

Solution: We have a settings area in the Files app now so that’s perfect for putting a setting checkbox called »Show hidden files«. Which would be disabled by default. The setting should be persistent across sessions, if changed.

Don’t bother reading the comment thread.

erambour commented 11 years ago

" .... it appears that I must be the only Mac user around ;-) " Don't feel alone ;-)

I was expecting to use OwnCloud do give a easy access to a part of our file server, but have the same problems : web clients would see a lot of unwanted, hidden files. I dont wont these files to be removed as it's an "external storage" mapped directly on a subtree on our server (mostly Mac Clients / Ubuntu AFP Server). In this config OwnCloud should not be the 'center part' of the system, but could have been a very nice way to access parts of a global system including a lot of stuff : vpn, multiple mac/pc/nix, scripts working on the system etc ... Of course, if OC don't work like any other systems respecting (or optionally respecting) the hidden attributes, it's not easy to integrate it on a wider range (either client-side or server-side).

So i'm reading with a lot of interest this thread

ZinkDifferent commented 11 years ago

Glad to see your interest in this.

I think we're looking at the possibility that an optional blacklist will be included in a future revision, which would truly make OC perfect for a Mac environment.

On Sep 16, 2013, at 1:36 AM, erambour notifications@github.com wrote:

" .... it appears that I must be the only Mac user around ;-) " Don't feel alone ;-)

I was expecting to use OwnCloud do give a easy access to a part of our file server, but have the same problems : web clients would see a lot of unwanted, hidden files. I dont wont these files to be removed as it's an "external storage" mapped directly on a subtree on our server (mostly Mac Clients / Ubuntu AFP Server). In this config OwnCloud should not be the 'center part' of the system, but could have been a very nice way to access parts of a global system including a lot of stuff : vpn, multiple mac/pc/nix, scripts working on the system etc ... Of course, if OC don't work like any other systems respecting (or optionally respecting) the hidden attributes, it's not easy to integrate it on a wider range (either client-side or server-side).

So i'm reading with a lot of interest this thread

— Reply to this email directly or view it on GitHub.

ianhinder commented 11 years ago

A lot of the discussion above has been related to Mac files and seems to concentrate on the case where the filesystem being displayed in the files app is the result of syncing or uploading from another system. Another important application is the browsing of SMB/CIFS shares from linux servers, for example a personal home directory. In this case, there will be plenty (tens or hundreds) of "." files visible currently, making the Files app very cluttered. OwnCloud should not be modifying a remote-mounted filesystem, so obviously any solution should be a display solution only. Sometimes, I might need to access one of these hidden files or directories, but usually, I don't want to see them as there are very many. A blacklist which stopped hidden files from displaying would prevent access to these files, and would be a regression. Hence, I think the right solution is to not show hidden files and directories by default, but to provide a method for the user to toggle their visibility in the current window (i.e. not a user preference but a toggle in the file display). This is also the solution employed by the Finder, Windows Explorer and Nautilus, presumably for the same reasons. This toggle would be provided according to whatever user interface policy OwnCloud has. I don't know if there are technical problems with identifying which files should be hidden; that is a different issue to the decision of whether it should be in principle possible for the user to toggle showing hidden files.

ZinkDifferent commented 11 years ago

On Oct 31, 2013, at 3:57 AM, ianhinder notifications@github.com wrote:

This is also the solution employed by the Finder,

That is incorrect. The only display option in the Finder is to show file extensions or not.

The hidden files are NEVER visible and NEVER accessible via the Finder.

Sometimes, I might need to access one of these hidden files or directories

There is no practical scenario where this would be necessary on the Mac side.

ianhinder commented 11 years ago

I stand corrected. My particular situation is that I have a linux home directory mounted as an SMB external in OwnCloud. Since the files are there, I think I should be able to access them, no? I could imagine needing to check some config file while I'm away from my main computer, and using OwnCloud to browse my filesystem might be useful in general.

ZinkDifferent commented 11 years ago

For you, and whatever file system you are using on Linux, that might be so.

There is absolutely no reason for you to see, or access, the invisible files generated by the Mac’s Finder in the .ds_store files and directories.

I can only speak for the Mac side of things, obviously - but as discussed earlier, a simple blacklist on the admin settings would address this issue, and resolve it properly.

On Oct 31, 2013, at 4:57 AM, ianhinder notifications@github.com wrote:

I stand corrected. My particular situation is that I have a linux home directory mounted as an SMB external in OwnCloud. Since the files are there, I think I should be able to access them, no? I could imagine needing to check some config file while I'm away from my main computer, and using OwnCloud to browse my filesystem might be useful in general.

ianhinder commented 11 years ago

I think on balance a blacklist would be an improvement over the current situation for me. Maybe you're right and I never need to access such files over OwnCloud. I remember now being very annoyed when I try to send my SSH public key on my Mac to someone, as there's no GUI way of getting it from the ~/.ssh directory. I have to use the terminal. Apple often make "advanced" features available when you hold down the option key; this is probably intentionally non-discoverable. Maybe a similar approach could be taken in OwnCloud, so that in the case that hidden files should be made visible, some obscure keyboard shortcut could be used? Then most people will see the simple clean interface, but when you really do need to access one of these files, you can do so.

ZinkDifferent commented 11 years ago

Good ideas - though honestly, you can also just use an appropriate ash app, that allows exporting and forwarding the ash key, when needed. While using owncloud might seem convenient, but it's possibly overthinking it, by attempting to add or request too much functionality.

After the various (mostly ideological) debates about this issue, I think we can consider ourselves extremely lucky if we get the blacklist feature ;-)

__ ceci n'est pas un iPad

On Oct 31, 2013, at 5:21 AM, ianhinder notifications@github.com wrote:

I think on balance a blacklist would be an improvement over the current situation for me. Maybe you're right and I never need to access such files over OwnCloud. I remember now being very annoyed when I try to send my SSH public key on my Mac to someone, as there's no GUI way of getting it from the ~/.ssh directory. I have to use the terminal. Apple often make "advanced" features available when you hold down the option key; this is probably intentionally non-discoverable. Maybe a similar approach could be taken in OwnCloud, so that in the case that hidden files should be made visible, some obscure keyboard shortcut could be used? Then most people will see the simple clean interface, but when you really do need to access one of these files, you can do so.

— Reply to this email directly or view it on GitHub.

theitd commented 10 years ago

Apologies for bumping - but to extend the solution from nuocu.... Using JQuery certainly helps:

I created a file called toggleHidden.js in /owncloud/apps/files/js/ containing the following:

$(document).ready(function()
{
    $(window).keydown(function(event) { 
        //+ fires event 190
        if (event.shiftKey && event.which === 190) {
            //get all the table rows with files and loop (each)
            $('#fileList [data-file^="."]').each(function(){
                $(this).toggle();
            });
        } 

    });

    $('#fileList').bind('DOMNodeInserted DOMNodeRemoved', function(){
    $('#fileList [data-file^="."]').each(function(){
             $(this).hide();
        });
    });

});

Then add the script to /owncloud/apps/files/index.php, under //Load the files we need....:

// Load the toggleHidden.js file
OCP\Util::addscript('files', 'toggleHidden');

Now the hidden files don't appear, but can be shown/hidden by pressing SHIFT + '.' (or '>' for short!)

chrisjscott commented 10 years ago

Just found this thread, as this issue has been a dealbreaker for me - I'm interested in using ownCloud in a 50-person business as a way for people to access our file server (Overland Storage Snap! 520). Unfortunately, the showing of *nix hidden files on the server makes it a no-go.

theitd: does your proposed solution work w/ oC6?

theitd commented 10 years ago

I'm running OC6 - and the files are hidden in a browser. AFAIK, the only (major) browsers not to support the DOMNode are IE8 and earlier.

For obvious reasons, the solution doesn't work from the OC App (on iOS / Android).

chrisjscott commented 10 years ago

Just implemented on my system - works like a champ! Now if this could be incorporated into a system setting...

jancborchardt commented 10 years ago

@theitd wow, cool! Can you do a pull request to core? In case you don’t know how that works, see https://help.github.com/articles/using-pull-requests It would also be cool if the default would then be set to hidden files being not visible.

cc @PVince81 check out the piece of code from @theitd above.

PVince81 commented 10 years ago

@theitd ideally instead of providing an extra file I suggest you make modifications to the FileList class in filelist.js. Add a method FileList.showHiddenFiles(show) to toggle.

The DOM change event might not work in IE and is hacky anyway. A better way would be to modify FileList.addFile and FileList.addDirectory to check for hidden files and whether hidden mode is enabled, then don't create the tr in the first place.

PVince81 commented 10 years ago

Ah, and the keyboard shortcut can be registered in the $(document).ready() block of FileList, which would simply call `FileList.showHiddenFiles()'.

We might want to have a button as well @jancborchardt and possibly save that setting in a cookie / localStorage ?

jancborchardt commented 10 years ago

@PVince81 I would say yes to saving the setting saved. But having a toggle in the interface definitely has to wait until we have the sidebar with the collapsible settings area (where also the webdav address should go). #6260

ZinkDifferent commented 10 years ago

Any more progress and movement in a solution to this making it into the release version?

MorrisJobke commented 10 years ago

For user feedback it would also be nice to have a notification "Files starting with . are now hidden" or something like that.

ZinkDifferent commented 10 years ago

Hi there - so, what is the current status on this, seeing as how we are approaching the release of OwnCloud 7, and it would be nice to finally lay this issue to rest?

"For user feedback it would also be nice to have a notification "Files starting with . are now hidden" or something like that." - This could simply be provided in the configuration/preferences interface.

jancborchardt commented 10 years ago

We have a settings area in the Files app now so that’s perfect for putting a setting checkbox called »Show hidden files«. Which would be disabled by default.

@MorrisJobke @jbtbnl @Kondou-ger any of you folks has time for that? ;)

karlitschek commented 10 years ago

good idea

jancborchardt commented 10 years ago

cc'ing @schiesbn on this one, setting for »Show hidden files« in the Files app settings.

ZinkDifferent commented 10 years ago

That would indeed be perfect.

Bear in mind - impact on the Sync clients, as only webDAV would create those sort of files.

On Jun 3, 2014, at 1:46 AM, Jan-Christoph Borchardt notifications@github.com wrote:

We have a settings area in the Files app now so that’s perfect for putting a setting checkbox called »Show hidden files«. Which would be disabled by default.

bigj6360 commented 10 years ago

I have become very interested in this thread since the release of version 7 hoping this feature made it.

We are a 50/50 split Mac/PC organization, with a couple linux users peppered in for good cause, with about 75 users. Having the ability to show/hide .DS files (and other .-files in my case) from WebDAV and the web interface would be great. This is an important prospect for us in whether we use ownCloud or not.

A toggle switch for those of us who like to see hidden files and a default for the majority in my organization who do not.

I just want to throw in my request.

ZinkDifferent commented 10 years ago

I’d love to see it finally get addressed, but as every time the issue gets raised into turns into some sort of ideological clusters****, I’m no longer holding my breath.

Particularly frustrating because :

a) the solution is incredibly simple. b) it would raise ownCloud by miles over their competition.

Oh well, politics and ideologies. Always the downfall of good open source, sadly.

Harry

On Aug 11, 2014, at 12:53 PM, bigj6360 notifications@github.com wrote:

I have become very interested in this thread since the release of version 7 hoping this feature made it.

We are a 50/50 split Mac/PC organization, with a couple linux users peppered in for good cause, with about 75 users. Having the ability to show/hide .DS files (and other .-files in my case) from WebDAV and the web interface would be great. This is an important prospect for us in whether we use ownCloud or not.

A toggle switch for those of us who like to see hidden files and a default for the majority in my organization who do not.

I just want to throw in my 2 cents.

— Reply to this email directly or view it on GitHub.

chrisjscott commented 10 years ago

Harry:

Couldn't agree more - stop debating and just implement the damned toggle switch. This issue alone prevents ownCloud from having a presence in my organization, plain and simple.

ZinkDifferent commented 10 years ago

Bingo.

Ditto here. I have several installations that could benefit from a commercial installation of iCloud, but as long as there are obstinate objections to reality, that's a no-go.

Maybe the owncloud team might want to consider this.


...mine ends with '5s'

On Aug 11, 2014, at 1:56 PM, chrisjscott notifications@github.com wrote:

Harry:

Couldn't agree more - stop debating and just implement the damned toggle switch. This issue alone prevents ownCloud from having a presence in my organization, plain and simple.

— Reply to this email directly or view it on GitHub.

jancborchardt commented 10 years ago

People, no need to +1 this to make the solution invisible. As I said above:

We have a settings area in the Files app now so that’s perfect for putting a setting checkbox called »Show hidden files«. Which would be disabled by default.

@MorrisJobke @PVince81 @schiesbn can anyone of you do it? The setting should be persistent across sessions of course (saved to the user in the db).

PVince81 commented 10 years ago

How about continuing this one: https://github.com/owncloud/core/pull/8438

jancborchardt commented 10 years ago

@PVince81 can you do that? Both shortcut and setting would be fine. (I think the setting is even more important, especially since we showed the hidden files by default for so long.)

ZinkDifferent commented 10 years ago

.... and that's a thread where DeepDiver starts the whole ignorance-driven ideological crap, again.

That's exactly what I meant earlier. I'm getting so sick and tired of this crap, particularly because:

__ ceci n'est pas un iPad

On Aug 12, 2014, at 3:55 AM, Vincent Petry notifications@github.com wrote:

How about continuing this one: #8438

— Reply to this email directly or view it on GitHub.

schiessle commented 10 years ago

@ZinkDifferent please calm down. This is a open discussion about a possible feature and how it could be implemented in a useful way for all users. All participants have reasonable arguments even if they diverge. We should all respect each other, please adhere to our code of conduct: https://owncloud.org/community/code-of-conduct/

karlitschek commented 10 years ago

@ZinkDifferent Please respect the ownCloud code of conduct. @DeepDiver1975 Is actually one of the core contributors who wrote a lot of the code that you are using for free. So I requests to use different word. Thanks you.

jancborchardt commented 10 years ago

@ZinkDifferent wow – Thomas (DeepDiver) is really the last person who »continually holds ownCloud back«.

Looking at your history on your profile at https://github.com/ZinkDifferent I see exactly 0 contributions. I suggest you change that first, and don’t attack prolific contributors. We have no place for that in the ownCloud community.

dragotin commented 10 years ago

I removed one completely inappropriate line in a comment above that had nothing to do with this discussion.

ZinkDifferent commented 10 years ago

I pointed out what I had to point, mirroring another commenter's impression and opinion about this particular issue.

My contributions or lack thereof are not salient to the point I am making, regarding ideological and consistent ignorance holding up the implementations of a necessary feature (or rather, a simple fix for what could be considered a fatal flaw).

That's the point.

__ ceci n'est pas un iPad

On Aug 12, 2014, at 1:14 PM, Jan-Christoph Borchardt notifications@github.com wrote:

@ZinkDifferent wow – Thomas (DeepDiver) is really the last person who »continually holds ownCloud back«.

Looking at your history on your profile at https://github.com/ZinkDifferent I see exactly 0 contributions. I suggest you change that first, and don’t attack prolific contributors. We have no place for that in the ownCloud community.

— Reply to this email directly or view it on GitHub.

ZinkDifferent commented 10 years ago

Review chrisjscott's comment earlier, as well as many other commenters in similar threads, which get regularly closed. You should know about them, as you're the one having to reopen them.

I'm sorry, but seeing DeepDiver re-start the same debate,again, after prior threads have explained, ad nauseam (and not just by my) was just the straw that broke the camel's back.

__ ceci n'est pas un iPad

On Aug 12, 2014, at 1:14 PM, Jan-Christoph Borchardt notifications@github.com wrote:

@ZinkDifferent wow – Thomas (DeepDiver) is really the last person who »continually holds ownCloud back«.

Looking at your history on your profile at https://github.com/ZinkDifferent I see exactly 0 contributions. I suggest you change that first, and don’t attack prolific contributors. We have no place for that in the ownCloud community.

— Reply to this email directly or view it on GitHub.

jancborchardt commented 10 years ago

@ZinkDifferent what are you even talking about? DeepDiver’s last comment on this thread was September 13, last year.

This issue is still open, and we will work on it. To cut things short, I put the resolution in the original post. And I will lock this thread to comments so we don’t have to have a pointless discussion anymore. The next thing anyone says to this should be a pull request.

DeepDiver1975 commented 10 years ago

@jancborchardt @schiesbn @karlitschek @dragotin Thanks a lot for your support! I'm really glad to work with you in this great project! Looking forward to meet you all soon!

@ZinkDifferent everything has been said by my ownCloud friend - I have nothing more to add.

jancborchardt commented 10 years ago

Requesting retriage – this has been discussed and requested for far too long and we should work to fix it. cc @schiesbn @PVince81

MorrisJobke commented 9 years ago

A first code example (that needs to be finished can be found here: #8438) For potential contributors: Have a look at the comments there. They describe the wanted feature quite good.

MorrisJobke commented 9 years ago

Another easier approach: #15206

blizzz commented 9 years ago

15206 is merged, do we consider this as resolved?

PVince81 commented 9 years ago

I don't think it's solve, I don't see any toggle in the UI.

jancborchardt commented 9 years ago

Please read the original issue which I edited some time ago to say this:

We have a settings area in the Files app now so that’s perfect for putting a setting checkbox called »Show hidden files«. Which would be disabled by default.

The setting should be persistent across sessions, if changed.

That’s the acceptance criteria. And we should finally do this for 9.0 as no other properly designed file manager by default exposes hidden files (however they are defined) to people using the system.

jancborchardt commented 9 years ago

Also here @MTRichards would be good to have this considered for 9.1.

MTRichards commented 9 years ago

How do you know what is a hidden file? Do we have a master list?

MTRichards commented 9 years ago

Can consider for 9.1.

MTRichards commented 9 years ago

probably also .directory files, which show up.

How do you know what is a hidden file? Do we have a master list?

Note: Desktop client has a "sync hidden files" option, this should just apply the same list to the server.

jancborchardt commented 9 years ago

Yep. Compiling this list is part of the task, and just using the same list as the desktop client uses is good.