build 2110 - mounting of network shares

Alpha/Beta versions for early access to new half-cooked features
User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

build 2110 - mounting of network shares

Post by mike » Tue Mar 28, 2017 5:50 am

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?

warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Re: build 2110 - mounting of network shares

Post by warpkanal » Tue Mar 28, 2017 6:48 am

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.

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: build 2110 - mounting of network shares

Post by mike » Tue Mar 28, 2017 7:30 am

warpkanal wrote:
Tue Mar 28, 2017 6:48 am
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?
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.
warpkanal wrote:
Tue Mar 28, 2017 6:48 am
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.
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.
warpkanal wrote:
Tue Mar 28, 2017 6:48 am
One smaller thing: The Go->Connect To->Network share entry is missing in the keyboard shortcuts preference section.
Oh, right, thanks! Forgot to wire this one.

warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Re: build 2110 - mounting of network shares

Post by warpkanal » Tue Mar 28, 2017 9:32 am

- 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.
Ok, that's easy, I can probably remember it until I want to reconfigure :)
- press Shift/Alt modifiers while Go->Connect To menu is shown. Shift lets you to alter a specific connection, while alt deletes it.
That's crazy stuff 8-) 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 :D

JayB
Posts: 192
Joined: Sun Jan 08, 2017 4:38 pm

Re: build 2110 - mounting of network shares

Post by JayB » Tue Mar 28, 2017 12:49 pm

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.)

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: build 2110 - mounting of network shares

Post by mike » Tue Mar 28, 2017 1:14 pm

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.)
Hi JayB, thanks for notes.
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 :D
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).

don
Posts: 134
Joined: Sat Jul 18, 2015 11:03 am
Location: Sydney, AU

Re: build 2110 - mounting of network shares

Post by don » Tue Mar 28, 2017 10:17 pm

mike wrote:
Tue Mar 28, 2017 5:50 am

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.
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).
Pasted_Image_29_3_17__9_14_am.png
Pasted_Image_29_3_17__9_14_am.png (30.19 KiB) Viewed 47342 times
3. This is great!

Cheers.

warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Re: build 2110 - mounting of network shares

Post by warpkanal » Wed Mar 29, 2017 7:30 am

Probably not related to the new feature (don't know) but NC crashed today. See this crash report.

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: build 2110 - mounting of network shares

Post by mike » Thu Mar 30, 2017 5:00 am

don wrote:
Tue Mar 28, 2017 10:17 pm
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).
Hotkey wiring is already done, will be in a next preview build.
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.

User avatar
swoop
Posts: 54
Joined: Thu Mar 02, 2017 2:40 pm
Location: Brussels, Belgium

Re: build 2110 - mounting of network shares

Post by swoop » Thu Mar 30, 2017 7:25 am

@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.
Total Commander (Windows 95 - Windows 7) (retired for Mac)
Nimble Commander (retired Crax, Commander One, DCommander)
Macbook 12" 2016 - macOS High Sierra

Locked