build 2110 - mounting of network shares
Posted: 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?
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?