4 / 31
Apr 2021

Hi All,
I would like to use VFS to store all the files of a project.
Selecting a project and using the mouse right button I can enter in the file manager and copy documents and files in the project directories. However, I need to access the directories of a project using the Windows file manager too. We are trying to use a NAS as a file repository that can be accessed from Windows and where EGW should store the files.
I noticed however that the folders of the VFS are named with the numeric ID of the project. Even if it would be possible to access the structure of the VFS, It would result not understandable. So I needed to know if:

  1. It is possible for the VFS to create the directory structure in an external NAS file ? (it would seem so following Stefan’s posts on the subject)

  2. is it possible to name the directories as the project code so using the windows file manager a user can understand the structure of the directories?

  3. as a workaround is it possible to create within a project a link to a directory in an external NAS?

It would be useful to have a double access to the data from EGW and from some applications such as BIM systems using the same NAS and a understandable directory name.
any suggestion ?

Thanks

Gabriele

Hi Gabriele.

I think not.
This is a VFS => Virtual File System = Files on Disk, File name and metadata in the database.

This is an EPL function. Then the names are displayed in plain text. Also via WebDAV.
I mean also in the folders for objects…

Hmmm…
You can mount an external SMB share anywhere.
But just like that (automatically)? I think not.


I myself work in exactly the same way. Online in EGw/Collabora Online, but also directly via file manager/WebDAV from my PC (Linux Mint).
That works very well.

I have only included directories with photos, music and videos from my NAS.


Please show this with screenshots. Then I’ll build it for myself.


Stefan

Hi Stefan,
first of all thanks for your valuable help. We are trying to use your recommendations. However, I wanted to know is it possible to mount the /app directory to a shared directory on my NAS?
Thanks

I think not. Not only /apps. Because that alone does not exist. All files are in:

grafik

That’s why it looks like this on the hard disk:

grafik

If you mount /sqlfs from a NAS (heoretically possible) you would find this structure with the files there. You can’t do anything with that. Your NAS has no further information about the files.

If we were to save files as you know it from a NAS/Windows file server, we would not be able to do many things in EGroupware (additional fields, descriptions, links, …).

And the speed is certainly no fun then either.

It might be possible to mount EGroupware on the NAS (via GroupDAV). I don’t know what your NAS can do…
Of course, you always have to consider the permissions. That is sometimes not easy. Especially if NAS and EGroupware do not work with the same users (Auth).

Why do you want to work on / via the NAS?
What is the use case?

Stefan

Dear Stefan,
I’ll try to explain you what the problem is.
Every project includes many files. Many files are administrative but, in our case, there are many technical files such as BIM models that very often have dimensions of 300-400 MB.
In many cases the technical applications do not allow access to the files through protocols such as Webdav.
At the same time, the EGW file manager is very convenient because the files are visible and usable within a shared environment that represents, through email and rocketchat a way to interact with the outside world and between different co-workers.
We have many projects coded according to the standard “xxxx-xxxx” or in other words, eg “2021-0022 Project xxxx”.
For each project we have many administrative files that is very convenient to keep available in EGW but many files must be stored on the NAS (actually a windows server) because of large size and for which the applications do not allow access via protocols other than Windows.
The structure we would like to realize is the one shown in the figure. (NAS Directory should be a link to the NAS)

Obviously, the technical files would still be used through the NAS but could be managed adding metadata within EGW. Is this possible?
Thanks
Gabriele

Hi Gabriele

Have you tried a Webdav client in Windows (other than the integrated one) ?

Mountain Duck allows you to mount and map Webdav-locations (and lots of other “cloud storage”) in the Windows explorer. Then you can open, save and close files as if they were accessed over smb (I never had to deal with files in the 300-400 mb range though). You can test it 30 days for free (€ 35 per user afterwards).

Raidrive is a similar product, which is free upon to 8 mounted locations (iirw).

With both clients, it is also possible to mount a folder shared in EGroupware without beeing a EGroupware user. You can mount “shared links” (password protected in the EPL-version of EGroupware, if needed). This is very convenient with external users.

Thanks Ralf,
I’ll try.
However, following yours and Stefan’s instructions, we succeeded in mounting the NAS and we are now trying to organise the folders in such a way that all administrative information are stored in the VFS while, through the NAS mount, the user can add or delete technical files too. Technical files are stored in a VFS sub-directory that is actually link to the correspondent NAS subfolder. So, for example, the subdirectory drawingxxx exists in the VFS and in the external NAS with the same name.
The use of the data files with technical software, the access is made directly via the external NAS.
Everything seems to work. I’m doing the final tests.
Thanks again
Gabriele

That already sounds good.
Please report back to us later. This is a nice example of how EGroupware file management and external file servers can be combined.

Stefan

Hi Stefan,
definitely. As soon as the tests we are carrying out will be finished we will let you know. In the meantime, thank you for your help.
Gabriel

3 months later

Hi everyone,
as reported in previous posts we are trying to mount a filesystem on a NAS in order to have such a structure in the VFS:
2021-00xx Name of the project
Sub-Directory 01 (VFS)
Sub-Directory 02 (VFS)
Sub-Directory 03 (NAS) via a VFS link to /NAS/2021-00xx Name of the project.
So we would like to mount the NAS filesystem under the name NFS in the VFS directory “/”. We are encountering some problems in this process.
Problem 01 - we are unable to mount the NAS file system in the “/” directory but only in the /Backup directory. The image shows the result:
image
Problem 02 - As you can see from the image, all files have protection d----r-x—which cannot be modified via VFS. If the NAS is mounted with a local NAS user using the command

sudo docker exec -it egroupware /usr/share/egroupware/filemanager/cli.php mount --user root_admin --password ‘myrootpassword’ smb://admin:mynaspassword@nas/share/egroupware/filemanager/cli

the mount is performed but the NAS seems to be read only for VFS
We use active directory for authentication to NAS and EGW, so we should mount NAS with a domain user in order to have it in RW for users present and enabled in active directory.
Using the domain account to mount the script

sudo docker exec -it egroupware /usr/share/egroupware/filemanager/cli.php mount --user root_admin --password ‘myrootpassword’ smb://egroupware@mydomain.local:mypassword@nas/share/egroupware/filemanager/cli

After entering the user’s password egroupware@mydomain.local returns the error “permission denied are you root?”, even if the account egroupware@mydomain.local has been added to the egroupware root accounts via the setup panel
The question is: how can you mount a share that resides on the NAS where the users are managed by active directory and therefore are domain users and not local?
Any suggestions would be greatly appreciated
Gabriele

9 days later

Hi All,
no news on this post. I think it would be important for all users to have the possibility to link and use with the same users (and not with a local user of the NAS) of EGW an external NAS !!!
Is there a solution?
Every contribution is welcome
Gabriele

Having the root directory, home-director or /apps on a NAS (or any other non-EGroupware filesystem) is NOT supported! Reason is that EGroupware need control over the permissions.

If both EGroupware and your SMB fileserver/NAS use the same Active Directory, EGroupware can pass it’s credentials along:

docker exec -it egroupware bash
cd /usr/share/egroupware
filemanger/cli.php mount --user root_admin --password 'secret' 'smb://$user:$password@host/share' /mountpoint

The single quote (or other proper quoting) are essential!

Ralf

Hi Ralf
we are using this instruction

sudo docker exec -it 266522d0ccf7 bash cd usr/share/egroupware/ filemanger/cli.php mount --user root_admin --password ‘xxxxxxxxx’ ‘smb://$user:$password@nas/Work’ /var/lib/egroupware/default/backup/Work

but it returns the error: bash: cd: No such file or directory

if I connect to the container 266522d0ccf7 the path usr/share/egroupware exists, I also tried to delete the slash /usr/share/egroupware and usr/share/egroupware/ but the result does not change.
What’s wrong with the command I run?
Thanks for your help
Gabriele

Please take a look here:

You directly rust a script over a complete path. You don’t need to/shouldn’t make a directory change.

Stefan

Hi Stefan and Ralf
a successful but partial step!!! I followed your suggestions and things are going a bit better. I have done mount as indicated with this command:

sudo docker exec -it egroupware /usr/share/egroupware/filemanager/cli.php mount --user root_admin --password ‘xxxxxxxxx’ ‘smb://$user:$password@nas/Work /var/lib/egroupware/default/Work’

this is the output

Root access granted!
sqlfs://$host/ /
links://$host/apps /apps
filesystem://default/var/lib/egroupware/default/backup?group=Admins&mode=070 /backup
atsrl@egroupware:~$

but I don’t see the mount using VFS. I also tried to execute the command changing the mount point:

sudo docker exec -it egroupware /usr/share/egroupware/filemanager/cli.php mount --user root_admin --password ‘#In)EOtxRPIW[8[S’ ‘smb://$user:$password@nas/Work /var/lib/egroupware/default/Work’

sudo docker exec -it egroupware /usr/share/egroupware/filemanager/cli.php mount --user root_admin --password ‘xxxxxxxxx’ ‘smb://$user:$password@nas/Work /Work’

Same result

The directory /var/lib/egroupware/default/Work exists! I think the mount point should be created from the panel

So I tried to create the access point. Once I entered the root credentials and typed the mount name /Work does not allow saving. Where do I am wrong?
Thank you for your help
Gabriele

You need to mount in the VFS not the physical file system!

Use eg. /Work as mount-point.

Ralf

3 months later

Hi All,
I am still here. Thanks to the new user-interface to mount WebDAV or SMB shares our nas is now visible and within the VFS.
But now there is a problem. I am unable to create a link to a directory on the nas. The picture shows the structure of our nas (one part) where each project has a directory.


The idea was to add, within each project in EGW, a link to the corresponding project in nas. In this way, users can access the files contained in the project with programs that want direct access (e.g. Autocad) and from EGW for normal access.
So I have created the nas directory Test with the file file.docx inside as shown in the image. The file is correctly visible from the nas.

Within a project in project manager I have so created a link to /nas/test. When I try to access it:

The link in this case doesn’t apply?
Gabriele

Only obvious problem is the different case of /nas/Test versus /nas/test.

EGroupware VFS is case-sensitive. Not sure you just mistyped it here in the forum, or also in the symlink.

Ralf