Skip to content

Commit 9e32e73

Browse files
committed
v1.3.4108.0
1 parent f887443 commit 9e32e73

File tree

6 files changed

+19
-21
lines changed

6 files changed

+19
-21
lines changed

VirtualFileSystem/VirtualFileSystem.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
5+
<CsWinRTWindowsMetadata>10.0.19041.0</CsWinRTWindowsMetadata>
56
<Authors>IT Hit LTD.</Authors>
67
<Company>IT Hit LTD.</Company>
78
<Product>Virtual File System</Product>
@@ -32,7 +33,7 @@ To simulate the remote storage, this sample is using a folder in the local file
3233
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
3334
</ItemGroup>
3435
<ItemGroup>
35-
<PackageReference Include="ITHit.FileSystem.Windows" Version="1.3.4102.0" />
36+
<PackageReference Include="ITHit.FileSystem.Windows" Version="1.3.4108.0" />
3637
</ItemGroup>
3738
<ItemGroup>
3839
<None Update="appsettings.json">

WebDAVDrive.Login/WebDAVDrive.Login.csproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@
1212
</PropertyGroup>
1313

1414
<ItemGroup>
15+
<PackageReference Include="ITHitWebDAVClient" Version="4.0.1398-Beta" />
1516
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.721-prerelease" />
1617
</ItemGroup>
1718

18-
<ItemGroup>
19-
<PackageReference Include="ITHitWebDAVClient" Version="4.0.1393-Beta" />
20-
</ItemGroup>
21-
2219
</Project>

WebDAVDrive/Framework/VfsFile.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using System.Threading;
88
using System.Threading.Tasks;
99
using VirtualFileSystem.Syncronyzation;
10-
using Windows.UI.Xaml;
1110

1211
namespace VirtualFileSystem
1312
{

WebDAVDrive/Program.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,8 @@ private static void DavClient_WebDavError(IWebRequestAsync sender, WebDavErrorEv
252252
case 302 :
253253
if (loginRetriesCurrent < loginRetriesMax)
254254
{
255+
loginRetriesCurrent++;
256+
255257
// Show login dialog.
256258

257259
// Azure AD can not navigate directly to login page - failed corelation.
@@ -268,8 +270,6 @@ private static void DavClient_WebDavError(IWebRequestAsync sender, WebDavErrorEv
268270
thread.SetApartmentState(ApartmentState.STA);
269271
thread.Start();
270272
thread.Join();
271-
272-
loginRetriesCurrent++;
273273

274274
/*
275275
if (loginForm.Cookies != null)

WebDAVDrive/README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,24 @@
2121
<p>To run the example, you will need both IT Hit WebDAV Client Library for .NET license and IT Hit User File System Engine for .NET License. You can download <span>a trial licenses in the&nbsp;<a title="Download" href="https://www.webdavsystem.com/client/download/">IT Hit WebDAV Client Library product download area</a>&nbsp;and in&nbsp;<a title="Download" href="https://www.userfilesystem.com/download/">IT Hit User File System&nbsp;</a></span><a title="Download" href="https://www.userfilesystem.com/download/">product download area</a>.&nbsp;Note that this sample is fully functional with a trial license and does not have any limitations. The trial licenses are valid for one month will stop working after this. You can check the expiration date inside the license file.&nbsp;Download the licenses file and specify their content in the&nbsp;<span>WebDAVClientLicense and&nbsp;<span>UserFileSystemLicense</span></span>&nbsp;fields respectively in&nbsp;<span class="code">appsettings.json</span>&nbsp;file.</p>
2222
<p>You can also run the sample&nbsp;without explicitly specifying a license&nbsp;for 5 days. In this case,&nbsp;the&nbsp;Engine will automatically request the trial licenses from the IT Hit website https://www.userfilesystem.com. Make sure it is accessible via firewalls if any. After 5 days the Engine will stop working. To extend the trial period you will need to download trial licenses&nbsp;and specify them in&nbsp;<span class="code">appsettings.json</span></p>
2323
<h2>Running the Sample</h2>
24-
<p>To run the sample open the project in Visual Studio and run the project in a debug mode.&nbsp;In the debug mode this sample provides additional support for the development and testing convenience. When starting in the debug mode, it will automatically create a folder in which the virtual file system will reside, register the user file system with the platform and then open&nbsp;an instance of Windows File Manager with a mounted file system as well as will launch a default web browser navigating to the WebDAV server url specified in your&nbsp;<span class="code">appsettings.json</span>.</p>
24+
<p>To run the sample open the project in Visual Studio and run the project in a debug mode.&nbsp;In the debug mode this sample provides additional support for the development and testing convenience. When starting in the debug mode, it will automatically create a folder in which the virtual file system will reside, register the user file system with the platform and then open&nbsp;an instance of Windows File Manager with a mounted file system as well as will launch a default web browser navigating to the WebDAV server url specified in your&nbsp;<span class="code">appsettings.json</span>:</p>
25+
<p><img id="__mcenew" alt="WebDAV Drive sample launches Windows File manager with mounted virtual file system displaying content of your WebDAV server" src="https://www.userfilesystem.com/media/2103/mapdrivesample1.png" rel="121895"></p>
2526
<p>You can start managing and editing files on your WebDAV server&nbsp;and will see all changes being propagated to the file system on the client machine. You can also edit documents and manage file structure on the client and all changes will automatically be reflected on theWebDAV server.</p>
2627
<h2>On-Demand Loading</h2>
2728
<p>Initially, when you start the application, the user file system does not contain any file of folder placeholders, except the sync root folder. The content of the folders is populated only when any application is listing folder content. The content of files is loaded only when an application is opening a file for reading or writing.</p>
28-
<p>After running the sample all files and folders are marked with a cloud icon<img id="__mcenew" alt="Offline File" src="https://www.userfilesystem.com/media/1988/offilefile.png" data-allowlink="false" rel="116798">, which means that the content of this file or folder is not available locally but instead resides in the remote location. Even though the file shows the correct size in the Size column, the file occupies zero bytes on the disk. You can open the file Properties dialog to check the "Size on disk" value. You can see in the console log that only root folder files and folders placeholders are being created when Windows File Manager listed the root folder content during initial launch. Folders located deeper in the hierarchy are not loaded, until their content is being requested by the platform file system calls.&nbsp;</p>
29-
<p>When any application is accessing the file, located under the&nbsp;<span class="code">\DAV\</span>&nbsp;folder, opening it for reading or writing, the operating system redirects the call to this sample, which loads file content from the WebDAV server. The file becomes marked with a green check-mark on a white background icon<img id="__mcenew" alt="Local File" src="https://www.userfilesystem.com/media/1986/localfile.png" data-allowlink="false" rel="116799">, which means the file content is present on the local disk:</p>
29+
<p>After running the sample all files and folders are marked with a cloud icon<img id="__mcenew" alt="Offline File" src="https://www.userfilesystem.com/media/1988/offilefile.png" rel="116798" data-allowlink="false">, which means that the content of this file or folder is not available locally but instead resides in the remote location. Even though the file shows the correct size in the Size column, the file occupies zero bytes on the disk. You can open the file Properties dialog to check the "Size on disk" value. You can see in the console log that only root folder files and folders placeholders are being created when Windows File Manager listed the root folder content during initial launch. Folders located deeper in the hierarchy are not loaded, until their content is being requested by the platform file system calls.&nbsp;</p>
30+
<p>When any application is accessing the file, located under the&nbsp;<span class="code">\DAV\</span>&nbsp;folder, opening it for reading or writing, the operating system redirects the call to this sample, which loads file content from the WebDAV server. The file becomes marked with a green check-mark on a white background icon<img id="__mcenew" alt="Local File" src="https://www.userfilesystem.com/media/1986/localfile.png" rel="116799" data-allowlink="false">, which means the file content is present on the local disk:</p>
3031
<p><img id="__mcenew" alt="Local Cloud File. Green check-mark on a white background icon means the file content is present on the local disk." src="https://www.userfilesystem.com/media/1983/localcloudfile.png" rel="116801"></p>
31-
<p>The Windows File Manager provides the "Always keep on this device" and "Free up space" context menus, which are standard menus provided by Windows OS. If you select the&nbsp;"Always keep on this device" the file or entire folder structure will be recursively loaded to the local disk, all file content will be loaded to the local disk and will become available offline. All files and folders are marked with a pinned file icon<img id="__mcenew" alt="Pinned File" src="https://www.userfilesystem.com/media/1989/pinnedfile.png" data-allowlink="false" rel="116800">. Pinned files will not be deleted from the drive even if it runs low on space.</p>
32+
<p>The Windows File Manager provides the "Always keep on this device" and "Free up space" context menus, which are standard menus provided by Windows OS. If you select the&nbsp;"Always keep on this device" the file or entire folder structure will be recursively loaded to the local disk, all file content will be loaded to the local disk and will become available offline. All files and folders are marked with a pinned file icon<img id="__mcenew" alt="Pinned File" src="https://www.userfilesystem.com/media/1989/pinnedfile.png" rel="116800" data-allowlink="false">. Pinned files will not be deleted from the drive even if it runs low on space.</p>
3233
<p><img id="__mcenew" alt="Always keep on this device menu will load all files to a loacal disk and will keep them from purging on low disk space." src="https://www.userfilesystem.com/media/1982/alwayskeeponthisdevice.png" rel="116802"></p>
33-
<p>To remove content from the local disk select the "Free up space" menu. It will restore the cloud icon<img id="__mcenew" alt="Offline File" src="https://www.userfilesystem.com/media/1988/offilefile.png" data-allowlink="false" rel="116798">.</p>
34+
<p>To remove content from the local disk select the "Free up space" menu. It will restore the cloud icon<img id="__mcenew" alt="Offline File" src="https://www.userfilesystem.com/media/1988/offilefile.png" rel="116798" data-allowlink="false">.</p>
3435
<p>When a large file is being downloaded from the WebDAV server, this sample submits progress reports to the operation system, to show a standard Windows "Downloading" dialog. At the same time, the Windows File Manager also shows progress in the files list view:</p>
3536
<p><img id="__mcenew" alt="Large file download from the remote storage show progress reports in Windows File Manager and Files View" src="https://www.userfilesystem.com/media/1984/cloudfiledownloadprogress.png" rel="116804"></p>
3637
<h2>Microsoft Office Documents Editing</h2>
3738
<p>When a Microsoft Office document is being opened, the WebDAV Drive sample automatically locks the document on a WebDAV server:</p>
38-
<p><img id="__mcenew" alt="Microsoft Office documents are automatically locked when opened for editing from the WebDAV Drive" src="https://www.userfilesystem.com/media/2101/msofficelockedsmall.png" rel="121877"></p>
39-
<p>The information about the lock (lock-token, etc.) is being saved on the client machine. When a document is modified on the client,&nbsp;all changes to the document are being saved on the local drive, without being sent to the WebDAV server untill the file is unlocked.&nbsp;When the document is closed, the file content is being automatically sent to the server and than unlocked.</p>
40-
<p>Any temporary Microsoft Office documents are stored in local file system only and are NOT synchronized to the server. Typically temporary Microsoft Office documents are being automatically deleted by Microsoft office when the document editing is completed.</p>
39+
<p><img id="__mcenew" alt="WebDAV Drive automatically locks Microsoft office document when it is being opened for editing and unlocks when closed." src="https://www.userfilesystem.com/media/2105/mapdrivesamplemsofficenarrowsmall.png" rel="121897"></p>
40+
<p>The information about the lock (lock-token, etc.) is being saved on the client machine. When a document is modified on the client,&nbsp;all changes to the document are being saved on the local drive, without being sent to the WebDAV server until the file is unlocked. When the document is closed, the file content is being automatically sent to the server and than unlocked.</p>
41+
<p>Any temporary Microsoft Office documents (~$docfile.docx, G57BURP.tmp, etc) are stored in the local file system only and are NOT synchronized to the server. Typically temporary Microsoft Office documents are being automatically deleted by Microsoft office when the document editing is completed.</p>
4142
<p>Locks and Etags are being stored in the application data folder, under the path that corresponds with the mounted drive. For example:&nbsp;<span class="code">C:\Users\&lt;user&gt;\AppData\Local\WebDAV Drive\C\Users\&lt;user&gt;\DAV\ServerData\</span></p>
4243
<h2>File ETags</h2>
4344
<p>When listing folder content the client reads file ETags and saves them in local file system. When sending modified content to the server, the client attaches the saved etag to the request. The server compares etags to ensure the file was not modified on the server since the file was read by the client. In the case of Microsoft Office documents, etags provide one more level of protection against overwriting server changes in addition to locks.</p>

WebDAVDrive/WebDAVDrive.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>Exe</OutputType>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
5+
<CsWinRTWindowsMetadata>10.0.19041.0</CsWinRTWindowsMetadata>
56
<Authors>IT Hit LTD.</Authors>
67
<Company>IT Hit LTD.</Company>
78
<Product>WebDAV Drive</Product>
@@ -25,15 +26,14 @@
2526
<Compile Remove="SyncService.cs" />
2627
</ItemGroup>
2728
<ItemGroup>
29+
<PackageReference Include="ITHitWebDAVClient" Version="4.0.1398-Beta" />
2830
<PackageReference Include="log4net" Version="2.0.8" />
2931
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="3.1.7" />
3032
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
31-
<PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />
3233
<PackageReference Include="System.Security.Principal.Windows" Version="4.7.0" />
3334
</ItemGroup>
3435
<ItemGroup>
35-
<PackageReference Include="ITHitWebDAVClient" Version="4.0.1393-Beta" />
36-
<PackageReference Include="ITHit.FileSystem.Windows" Version="1.3.4102.0" />
36+
<PackageReference Include="ITHit.FileSystem.Windows" Version="1.3.4108.0" />
3737
<ProjectReference Include="..\WebDAVDrive.Login\WebDAVDrive.Login.csproj" />
3838
</ItemGroup>
3939
<ItemGroup>

0 commit comments

Comments
 (0)