build 2110 - mounting of network shares
build 2110 - mounting of network shares
Hi, folks,
I've added some functionality to close another hole in NC, which often caused switching to Finder.
It's the mounting of local network shares, now they can be handled similar to FTP/SFTP connections.
This approach somewhat differs from UI scheme provided by Finder. Finder guides you through 3 (at max) different windows to mount a network share - choosing a server to connect, choosing a provided credentials and finally choosing a share to mount. What is the worst is that if you stick with the system-provided UI - there's no way to interact with it, i.e. get back the provided information to repeat it later without a user interaction.
So I deliberately chose to stick with more defined approach - there's one point to gather all needed information in advance and there's no bothering with UI later on. It's also much easier to configure when you have multiple connections to one server with different logins.
The following protocols are supported at the moment: SMB/CIFS (default), AFP, NFS.
Other differences with Finder's approach:
- NC will try to check if requested share is already mounted, and if so - it will just redirect there straightaway, without making weird remains like /Volumes/share-1, /Volumes/share-2 etc.
- It is possible to manually choose a mount path for a specific share (they would be mounted in /Volumes/.. automatically by default). Upon mounting, NC will check if this directory is empty, in this case the remote share will be mounted directly inside it, otherwise it will be mounted in a sub-directory.
(Actually, it was quite surprising to me that macOS lets you to mount something into a non-empty directory. always thought that it's a common way for UNIX systems to prohibit such actions)
After initial setup, network shares can be mounted or accessed like any other network connections: in F1/F2, by Cmd+5 and in Go->Connect To.
What is missing at the moment:
- Neighborhood browsing is missing, because I haven't figured out yet how to integrate it right way.
- Choosing a share point on a particular server is missing, since there's no public API in macOS to do it. (or at least I haven't found it)
- Automatic choosing of an appropriate protocol to communicate with a network server is missing, because... this is just silly.
Here's the build itself (an updated one):
http://magnumbytes.com/downloads/previe ... (2118).zip
Any thoughts, please?
I've added some functionality to close another hole in NC, which often caused switching to Finder.
It's the mounting of local network shares, now they can be handled similar to FTP/SFTP connections.
This approach somewhat differs from UI scheme provided by Finder. Finder guides you through 3 (at max) different windows to mount a network share - choosing a server to connect, choosing a provided credentials and finally choosing a share to mount. What is the worst is that if you stick with the system-provided UI - there's no way to interact with it, i.e. get back the provided information to repeat it later without a user interaction.
So I deliberately chose to stick with more defined approach - there's one point to gather all needed information in advance and there's no bothering with UI later on. It's also much easier to configure when you have multiple connections to one server with different logins.
The following protocols are supported at the moment: SMB/CIFS (default), AFP, NFS.
Other differences with Finder's approach:
- NC will try to check if requested share is already mounted, and if so - it will just redirect there straightaway, without making weird remains like /Volumes/share-1, /Volumes/share-2 etc.
- It is possible to manually choose a mount path for a specific share (they would be mounted in /Volumes/.. automatically by default). Upon mounting, NC will check if this directory is empty, in this case the remote share will be mounted directly inside it, otherwise it will be mounted in a sub-directory.
(Actually, it was quite surprising to me that macOS lets you to mount something into a non-empty directory. always thought that it's a common way for UNIX systems to prohibit such actions)
After initial setup, network shares can be mounted or accessed like any other network connections: in F1/F2, by Cmd+5 and in Go->Connect To.
What is missing at the moment:
- Neighborhood browsing is missing, because I haven't figured out yet how to integrate it right way.
- Choosing a share point on a particular server is missing, since there's no public API in macOS to do it. (or at least I haven't found it)
- Automatic choosing of an appropriate protocol to communicate with a network server is missing, because... this is just silly.
Here's the build itself (an updated one):
http://magnumbytes.com/downloads/previe ... (2118).zip
Any thoughts, please?
Re: build 2110 - mounting of network shares
Very cool, closes a hole when being at work for me as well
One thing I did not fully understand (maybe because I did not use Connections up to now in NC, I have no ftp servers): the difference between Favorites handling and connection handling, I guess it's just 2 different aspects?
I see that connections are visible in Cmd+5, so even when the resp. share is not mounted yet, it will be mounted, so far so good. However I miss e.g. the possibility to rename a connection or e.g. delete one.
Actually I initially thought about adding my main network share as a favorite, but then understood that it's not necessary as the network share is then in Cmd+5 available (which is actually equally fine, doesn't need to be in the favorites list)
One smaller thing: The Go->Connect To->Network share entry is missing in the keyboard shortcuts preference section.
One thing I did not fully understand (maybe because I did not use Connections up to now in NC, I have no ftp servers): the difference between Favorites handling and connection handling, I guess it's just 2 different aspects?
I see that connections are visible in Cmd+5, so even when the resp. share is not mounted yet, it will be mounted, so far so good. However I miss e.g. the possibility to rename a connection or e.g. delete one.
Actually I initially thought about adding my main network share as a favorite, but then understood that it's not necessary as the network share is then in Cmd+5 available (which is actually equally fine, doesn't need to be in the favorites list)
One smaller thing: The Go->Connect To->Network share entry is missing in the keyboard shortcuts preference section.
Re: build 2110 - mounting of network shares
Yep, tasks are quite different there.
For example, Favorites have a stable order, while Connections are sorted by most-recently-used order.
Plus, any favorited place on a remote server implicitly refers a relating network connection.
Also, there's a whole bunch of underlying stuff related to logins-passwords management, which is relevant only to connections.
It's obviously not the most intuitive part of NC's interface . There're two ways to edit an existing connection:
- go to dialog of that type and select it from the recent connections combo box (with a clock icon). Next, fields are filled with information from that connection and changes will be written back to that connection.
- press Shift/Alt modifiers while Go->Connect To menu is shown. Shift lets you to alter a specific connection, while alt deletes it.
Oh, right, thanks! Forgot to wire this one.
Re: build 2110 - mounting of network shares
Ok, that's easy, I can probably remember it until I want to reconfigure- go to dialog of that type and select it from the recent connections combo box (with a clock icon). Next, fields are filled with information from that connection and changes will be written back to that connection.
That's crazy stuff I knew about ALT key modifying menu entries here and there in different applications, but I haven't seen the usage of CMD to alter menu entries, crazy- press Shift/Alt modifiers while Go->Connect To menu is shown. Shift lets you to alter a specific connection, while alt deletes it.
Re: build 2110 - mounting of network shares
Great! Some info:
(1) AFP is deprecated & will (to my knowledge) be dropped when APFS rolls out (APFS only works with smb)
(2) NFS has serious, unresolved, potentially system-threatening issues on macOS like data corruption in the user's home folder; see these notes by Marcel Bresink: http://www.bresink.com/osx/143439/issues.html … (Whether this will be solved on Macs with APFS remains to be seen; some of these notes might not apply, because they are Finder issues.)
(1) AFP is deprecated & will (to my knowledge) be dropped when APFS rolls out (APFS only works with smb)
(2) NFS has serious, unresolved, potentially system-threatening issues on macOS like data corruption in the user's home folder; see these notes by Marcel Bresink: http://www.bresink.com/osx/143439/issues.html … (Whether this will be solved on Macs with APFS remains to be seen; some of these notes might not apply, because they are Finder issues.)
Re: build 2110 - mounting of network shares
Hi JayB, thanks for notes.JayB wrote: ↑Tue Mar 28, 2017 12:49 pm(1) AFP is deprecated & will (to my knowledge) be dropped when APFS rolls out (APFS only works with smb)
(2) NFS has serious, unresolved, potentially system-threatening issues on macOS like data corruption in the user's home folder; (Whether this will be solved on Macs with APFS remains to be seen; some of these notes might not apply, because they are Finder issues.)
I personally can't foresee such rapid deprecation of AFP, protocols may stay for a very long time, I believe that even FIDO is alive somewhere
Anyway, from my POV, network filing protocols and filesystems themselves are barely connected. For instance, my NAS from QNAP uses EXT4 as a main filesystem and nothing can stop it from sharing files via any of mentioned before, regardless of which filesystem I use on my Mac at the moment.
As of NFS - well, these issue aren't related to the protocol itself, but rather to a client implementation in macOS (of course the filesystem used on macOS isn't connected to them in any way).
Re: build 2110 - mounting of network shares
Have a few items to raise
1. This is bloody awesome - thank you.
2. Need to be able to configure keyboard shortcut - similar to FTP and SFTP. In Finder I can bring the pop up with CMD-K. With Nimble - shich is keyboard oriented - a shortcut is a must.
4. Would like to be able to configure the presentation in the list - I have given a descriptive name to the share and do not need the full path.
In the example below I would like to retain "Slim Video" component only (see how the same share is presented when mounted through finder? just video). 3. This is great!
Cheers.
Re: build 2110 - mounting of network shares
Probably not related to the new feature (don't know) but NC crashed today. See this crash report.
Re: build 2110 - mounting of network shares
Hotkey wiring is already done, will be in a next preview build.don wrote: ↑Tue Mar 28, 2017 10:17 pm2. Need to be able to configure keyboard shortcut - similar to FTP and SFTP. In Finder I can bring the pop up with CMD-K. With Nimble - shich is keyboard oriented - a shortcut is a must.
4. Would like to be able to configure the presentation in the list - I have given a descriptive name to the share and do not need the full path.
In the example below I would like to retain "Slim Video" component only (see how the same share is presented when mounted through finder? just video).
Regarding connection formatting - well, it's possible to add such setting, but it will change the presentation of FTP/SFTP connections' titles as well, for sake of uniformity.
However, currently there's no requirement for titles to be unique - you can have multiple different connections titled with a single space: " ". In this case it would be impossible to distinguish between them.
Re: build 2110 - mounting of network shares
@mike This is bloody massive! Very, very neat implementation. Thank you!
One thing, though. When I created a mount for AFP and mistakenly used SMB qualifier (DISKSTATION i.s.o diskstation.local) for my Synology NAS, NC crashed horribly. I know this is an extreme corner case, but thought you want to know.
One thing, though. When I created a mount for AFP and mistakenly used SMB qualifier (DISKSTATION i.s.o diskstation.local) for my Synology NAS, NC crashed horribly. I know this is an extreme corner case, but thought you want to know.
Total Commander (Windows 95 - Windows 7) (retired for Mac)
Nimble Commander (retired Crax, Commander One, DCommander)
Macbook 12" 2016 - macOS High Sierra
Nimble Commander (retired Crax, Commander One, DCommander)
Macbook 12" 2016 - macOS High Sierra