U4-2007 - Implementation of IFileSystemProvider requires core changes.

Created by Lucas Wolkowski 27 Mar 2013, 09:21:58 Updated by Shannon Deminick 05 Dec 2013, 04:04:42

Relates to: U4-3794

Umbraco makes an assumption that any FileSystem uses local/network based file paths.

When implementing FileSystemProvider for Azure blob storage following methods crash since blob file path is absolute URL:

  • '''umbraco.Core.IO.IOHelper''' ResolveUrl and MapPath method - they will attempt to resolve blob URL into URL.

  • '''Umbraco.Core.IO.MediaFileSystem''' GetThumbnails method will attempt to get thumbnails from directory which we no longer have. (since thumbnails also need to be stored in Blob storage)

  • '''umbraco.cms.businesslogic.Content''' DeleteAssociatedMediaFiles method is checking existence of media file using ''System.IO.File'' and ''System.IO.Path'' again.

Umbraco Core should not use methods such as '''File.Exists''' or '''HostingEnvironment.MapPath''' since it makes an assumption on underlying file system structure. This methods should exists on actual IFileSystemProvider so they can be implemented and used by umbraco.

Regards, Lucas

Comments

Shannon Deminick 05 Dec 2013, 04:00:59

Please always make sure to tag this with the affected version, otherwise we'd have no idea and it will get lost in the abyss.


Shannon Deminick 05 Dec 2013, 04:02:31

I realize now this is a larger issue that you are mentioning - not just the v7 thumb handling.


Priority: Normal

Type: Bug

State: Open

Assignee: Shannon Deminick

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 6.0.0, 6.1.0, 7.0.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 4.11.7, 6.1.1, 6.0.6, 4.11.9, 6.0.5, 4.11.8, 6.0.7, 6.1.2, 4.11.10, 6.1.3, 6.1.4, 6.1.5, 6.1.6

Due in version:

Sprint:

Story Points:

Cycle: