diff --git a/src/main/java/org/olat/core/util/vfs/VFSManager.java b/src/main/java/org/olat/core/util/vfs/VFSManager.java index bf4db7bd14fa4f6c69d2cafe92b0a0078811074a..c2f04382645a02f60a355aff6343c65e484a5cf5 100644 --- a/src/main/java/org/olat/core/util/vfs/VFSManager.java +++ b/src/main/java/org/olat/core/util/vfs/VFSManager.java @@ -604,6 +604,12 @@ public class VFSManager { relFilePath = relFilePath.substring(stop); return findWritableRootFolderForRecursion(rootDir, relFilePath, recursionLevel); } + //very< special case for share folder in merged source + if(item instanceof OlatRootFolderImpl && "_sharedfolder_".equals(item.getName())) { + rootDir = (OlatRootFolderImpl)item; + relFilePath = relFilePath.substring(stop); + return findWritableRootFolderForRecursion(rootDir, relFilePath, recursionLevel); + } } VFSContainer rootWriteContainer = mergedDir.getRootWriteContainer();