diff --git a/docs/content/_index.md b/docs/content/_index.md index f8473419..e99b8a5c 100644 --- a/docs/content/_index.md +++ b/docs/content/_index.md @@ -8,7 +8,7 @@ description = "A set of .NET libraries for synchronizing data between cloud and The Datasync Community Toolkit is a free [dotnet Foundation] [Community Toolkit] set of libraries that assists in providing offline data to your desktop and mobile applications. The data is stored in the cloud and synchronized to a local Sqlite database. -{{% badge style="primary" title="Version" %}}8.0.3{{% /badge %}} +{{% badge style="primary" title="Version" %}}8.0.4{{% /badge %}} ## Get started diff --git a/docs/content/samples/_index.md b/docs/content/samples/_index.md index bfbf50b5..d113832e 100644 --- a/docs/content/samples/_index.md +++ b/docs/content/samples/_index.md @@ -19,6 +19,5 @@ There are a variety of samples in the [samples folder](https://github.com/Commun * [AvaloniaUI](./todoapp/avalonia.md) * [MAUI](./todoapp/maui.md) - * [Uno Platform](./todoapp/uno.md) * [WinUI3](./todoapp/winui3.md) * [WPF](./todoapp/wpf.md) diff --git a/docs/content/samples/todoapp/_index.md b/docs/content/samples/todoapp/_index.md index 50a67295..08dd11dd 100644 --- a/docs/content/samples/todoapp/_index.md +++ b/docs/content/samples/todoapp/_index.md @@ -6,7 +6,6 @@ title = "Todo App" * [AvaloniaUI](./avalonia.md) * [MAUI](./maui.md) - * [Uno Platform](./uno.md) * [WinUI3](./winui3.md) * [WPF](./wpf.md) diff --git a/docs/content/samples/todoapp/avalonia.md b/docs/content/samples/todoapp/avalonia.md index a8c1e812..f7849b9a 100644 --- a/docs/content/samples/todoapp/avalonia.md +++ b/docs/content/samples/todoapp/avalonia.md @@ -2,32 +2,33 @@ title = "Avalonia" +++ +> [!INFO] +> The Avalonia sample has been kindly contributed to the community by @timunie. + ## Run the application first -The Avalonia sample uses an in-memory Sqlite store for storing its data. The sample can run on Desktop, Mobile and Browser. To run the application locally: +The Avalonia sample uses an in-memory Sqlite store for storing its data. To run the application locally: -* [Configure Visual Studio for Avalonia development](https://docs.avaloniaui.net/docs/welcome). +* [Configure Visual Studio for Avalonia development](https://docs.avaloniaui.net/docs/get-started). * Open `samples/todoapp/Samples.TodoApp.sln` in Visual Studio. -* In the Solution Explorer, expand the folder `TodoApp.Avalonia` and right-click the `TodoApp.Avalonia.Desktop` project, then select **Set as Startup Project**. +* In the Solution Explorer, expand the `TodoApp.Avalonia` folder, then right-click the `TodoApp.Avalonia.Desktop` project, then select **Set as Startup Project**. * Select a target (in the top bar), then press F5 to run the application. -> [!TIP] -> We suggest to start testing and debugging using the Desktop App first. Once you feel confident, you can also try out Mobile or Browser version. +If you bump into issues at this point, ensure you can properly develop and run Avalonia applications for the desktop outside of the datasync service. -> [!NOTE] -> If you bump into issues at this point, please visit [Avalonia.Docs](https://docs.avaloniaui.net) and [Avalonia.Samples](https://github.com/AvaloniaUI/Avalonia.Samples) for some basic getting-started tutorials. +> [!TIP] +> The TodoApp.Avalonia sample is known to work on Android and Desktop. We have not tested on other platforms. This is how the sample will look like: ![Avalonia sample on Desktop](assets/TodoApp.Avalonia.Desktop.png) - ## Deploy a datasync server to Azure Before you begin adjusting the application for offline usage, you must [deploy a datasync service](../server.md). Make a note of the URI of the service before continuing. ## Update the application for datasync operations -All the changes are isolated to the `Database/AppDbContext.cs` file. +All the changes are isolated to the `Database/AppDbContext.cs` file in the `TodoApp.Avalonia` shared project. 1. Change the definition of the class so that it inherits from `OfflineDbContext`: @@ -77,4 +78,7 @@ All the changes are isolated to the `Database/AppDbContext.cs` file. You can now re-run your application. Watch the console logs to show the interactions with the datasync service. Press the refresh button to synchronize data with the cloud. When you restart the application, your changes will automatically populate the database again. +> [!TIP] +> The first synchronization can take a while because of the cold-start of the service. Watch the debug output to see the synchronization happening. + Obviously, you will want to do much more in a "real world" application, including proper error handling, authentication, and using a Sqlite file instead of an in-memory database. This example shows off the minimum required to add datasync services to an application. diff --git a/docs/content/samples/todoapp/maui.md b/docs/content/samples/todoapp/maui.md index daa045cc..c21bfcf5 100644 --- a/docs/content/samples/todoapp/maui.md +++ b/docs/content/samples/todoapp/maui.md @@ -11,7 +11,10 @@ The MAUI sample uses an in-memory Sqlite store for storing its data. To run the * In the Solution Explorer, right-click the `TodoApp.MAUI` project, then select **Set as Startup Project**. * Select a target (in the top bar), then press F5 to run the application. -The application runs on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information. +The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information. + +> [!TIP] +> The TodoApp.MAUI sample is known to work on Android and Desktop. We have not tested on other platforms. ## Deploy a datasync server to Azure @@ -69,4 +72,7 @@ All the changes are isolated to the `Database/AppDbContext.cs` file. You can now re-run your application. Watch the console logs to show the interactions with the datasync service. Press the refresh button to synchronize data with the cloud. When you restart the application, your changes will automatically populate the database again. +> [!TIP] +> The first synchronization can take a while because of the cold-start of the service. Watch the debug output to see the synchronization happening. + Obviously, you will want to do much more in a "real world" application, including proper error handling, authentication, and using a Sqlite file instead of an in-memory database. This example shows off the minimum required to add datasync services to an application. diff --git a/docs/content/samples/todoapp/winui3.md b/docs/content/samples/todoapp/winui3.md index a5933e8e..35350c59 100644 --- a/docs/content/samples/todoapp/winui3.md +++ b/docs/content/samples/todoapp/winui3.md @@ -69,4 +69,7 @@ All the changes are isolated to the `Database/AppDbContext.cs` file. You can now re-run your application. Watch the console logs to show the interactions with the datasync service. Press the refresh button to synchronize data with the cloud. When you restart the application, your changes will automatically populate the database again. +> [!TIP] +> The first synchronization can take a while because of the cold-start of the service. Watch the debug output to see the synchronization happening. + Obviously, you will want to do much more in a "real world" application, including proper error handling, authentication, and using a Sqlite file instead of an in-memory database. This example shows off the minimum required to add datasync services to an application. diff --git a/docs/content/samples/todoapp/wpf.md b/docs/content/samples/todoapp/wpf.md index bd911fac..cc9428b3 100644 --- a/docs/content/samples/todoapp/wpf.md +++ b/docs/content/samples/todoapp/wpf.md @@ -69,4 +69,7 @@ All the changes are isolated to the `Database/AppDbContext.cs` file. You can now re-run your application. Watch the console logs to show the interactions with the datasync service. Press the refresh button to synchronize data with the cloud. When you restart the application, your changes will automatically populate the database again. +> [!TIP] +> The first synchronization can take a while because of the cold-start of the service. Watch the debug output to see the synchronization happening. + Obviously, you will want to do much more in a "real world" application, including proper error handling, authentication, and using a Sqlite file instead of an in-memory database. This example shows off the minimum required to add datasync services to an application. diff --git a/docs/public/404.html b/docs/public/404.html index 15ceb58c..538db34a 100644 --- a/docs/public/404.html +++ b/docs/public/404.html @@ -3,7 +3,7 @@ - + @@ -20,17 +20,17 @@ - - - - - - - - - - - + + + + + + + + + + + - + @@ -20,17 +20,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/css/chroma-auto.css b/docs/public/css/chroma-auto.css index 0628dc93..9b77f505 100644 --- a/docs/public/css/chroma-auto.css +++ b/docs/public/css/chroma-auto.css @@ -1,2 +1,2 @@ -@import "chroma-relearn-light.css?1731686403" screen and (prefers-color-scheme: light); -@import "chroma-relearn-dark.css?1731686403" screen and (prefers-color-scheme: dark); +@import "chroma-relearn-light.css?1734123542" screen and (prefers-color-scheme: light); +@import "chroma-relearn-dark.css?1734123542" screen and (prefers-color-scheme: dark); diff --git a/docs/public/css/format-print.css b/docs/public/css/format-print.css index 01d89964..f7b93d8a 100644 --- a/docs/public/css/format-print.css +++ b/docs/public/css/format-print.css @@ -1,5 +1,5 @@ -@import "theme-relearn-light.css?1731686403"; -@import "chroma-relearn-light.css?1731686403"; +@import "theme-relearn-light.css?1734123542"; +@import "chroma-relearn-light.css?1734123542"; #R-sidebar { display: none; diff --git a/docs/public/css/print.css b/docs/public/css/print.css index 7b6ec245..2fcf1078 100644 --- a/docs/public/css/print.css +++ b/docs/public/css/print.css @@ -1 +1 @@ -@import "format-print.css?1731686403"; +@import "format-print.css?1734123542"; diff --git a/docs/public/css/swagger.css b/docs/public/css/swagger.css index 1a6b06ad..d6f45d48 100644 --- a/docs/public/css/swagger.css +++ b/docs/public/css/swagger.css @@ -1,7 +1,7 @@ /* Styles to make Swagger-UI fit into our theme */ -@import "fonts.css?1731686403"; -@import "variables.css?1731686403"; +@import "fonts.css?1734123542"; +@import "variables.css?1734123542"; body{ line-height: 1.574; diff --git a/docs/public/css/theme-auto.css b/docs/public/css/theme-auto.css index e39df1ee..9df24c23 100644 --- a/docs/public/css/theme-auto.css +++ b/docs/public/css/theme-auto.css @@ -1,2 +1,2 @@ -@import "theme-relearn-light.css?1731686403" screen and (prefers-color-scheme: light); -@import "theme-relearn-dark.css?1731686403" screen and (prefers-color-scheme: dark); +@import "theme-relearn-light.css?1734123542" screen and (prefers-color-scheme: light); +@import "theme-relearn-dark.css?1734123542" screen and (prefers-color-scheme: dark); diff --git a/docs/public/css/variant.css b/docs/public/css/variant.css index 132a7737..38f04baf 100644 --- a/docs/public/css/variant.css +++ b/docs/public/css/variant.css @@ -1,4 +1,4 @@ -@import "variables.css?1731686403"; +@import "variables.css?1734123542"; html { color-scheme: only var(--INTERNAL-BROWSER-theme); diff --git a/docs/public/in-depth/client/auth/index.html b/docs/public/in-depth/client/auth/index.html index fa8e4c0b..17eefa92 100644 --- a/docs/public/in-depth/client/auth/index.html +++ b/docs/public/in-depth/client/auth/index.html @@ -3,7 +3,7 @@ - + @@ -28,17 +28,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/client/index.html b/docs/public/in-depth/client/index.html index 9accde10..2badd2a8 100644 --- a/docs/public/in-depth/client/index.html +++ b/docs/public/in-depth/client/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/client/online-operations/index.html b/docs/public/in-depth/client/online-operations/index.html index 414b28b3..aab18075 100644 --- a/docs/public/in-depth/client/online-operations/index.html +++ b/docs/public/in-depth/client/online-operations/index.html @@ -3,7 +3,7 @@ - + @@ -28,17 +28,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/index.html b/docs/public/in-depth/index.html index 3c663239..f40ca5a4 100644 --- a/docs/public/in-depth/index.html +++ b/docs/public/in-depth/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/azuresql/index.html b/docs/public/in-depth/server/databases/azuresql/index.html index b41b39ff..76ad2b72 100644 --- a/docs/public/in-depth/server/databases/azuresql/index.html +++ b/docs/public/in-depth/server/databases/azuresql/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/cosmos/index.html b/docs/public/in-depth/server/databases/cosmos/index.html index 55076861..fa468ecb 100644 --- a/docs/public/in-depth/server/databases/cosmos/index.html +++ b/docs/public/in-depth/server/databases/cosmos/index.html @@ -3,7 +3,7 @@ - + @@ -28,17 +28,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/in-memory/index.html b/docs/public/in-depth/server/databases/in-memory/index.html index dcc7b649..20920728 100644 --- a/docs/public/in-depth/server/databases/in-memory/index.html +++ b/docs/public/in-depth/server/databases/in-memory/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/index.html b/docs/public/in-depth/server/databases/index.html index 08f6dbf0..7b5e6a97 100644 --- a/docs/public/in-depth/server/databases/index.html +++ b/docs/public/in-depth/server/databases/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/litedb/index.html b/docs/public/in-depth/server/databases/litedb/index.html index 1c9f4b55..7c300965 100644 --- a/docs/public/in-depth/server/databases/litedb/index.html +++ b/docs/public/in-depth/server/databases/litedb/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/postgresql/index.html b/docs/public/in-depth/server/databases/postgresql/index.html index 52579f03..1fc8f0e4 100644 --- a/docs/public/in-depth/server/databases/postgresql/index.html +++ b/docs/public/in-depth/server/databases/postgresql/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/databases/sqlite/index.html b/docs/public/in-depth/server/databases/sqlite/index.html index 9c4dc657..85675f41 100644 --- a/docs/public/in-depth/server/databases/sqlite/index.html +++ b/docs/public/in-depth/server/databases/sqlite/index.html @@ -3,7 +3,7 @@ - + @@ -28,17 +28,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/in-depth/server/index.html b/docs/public/in-depth/server/index.html index dc0b432f..767f8721 100644 --- a/docs/public/in-depth/server/index.html +++ b/docs/public/in-depth/server/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/index.html b/docs/public/index.html index 45357e8b..bb5d0c83 100644 --- a/docs/public/index.html +++ b/docs/public/index.html @@ -3,7 +3,7 @@ - + @@ -24,17 +24,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/index.xml b/docs/public/index.xml index 9a189688..8d184040 100644 --- a/docs/public/index.xml +++ b/docs/public/index.xml @@ -19,7 +19,7 @@ http://localhost:1313/Datasync/samples/index.html Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/Datasync/samples/index.html - Samples There are a variety of samples in the samples folder of our repository. You can find a walk-through of the code below. Servers A typical server Clients The TodoApp The Todo App is a typical data-driven application. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI Uno Platform WinUI3 WPF + Samples There are a variety of samples in the samples folder of our repository. You can find a walk-through of the code below. Servers A typical server Clients The TodoApp The Todo App is a typical data-driven application. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI WinUI3 WPF In-depth diff --git a/docs/public/samples/index.html b/docs/public/samples/index.html index 2faa42c2..decb0c03 100644 --- a/docs/public/samples/index.html +++ b/docs/public/samples/index.html @@ -3,50 +3,50 @@ - + +AvaloniaUI MAUI WinUI3 WPF"> +AvaloniaUI MAUI WinUI3 WPF"> +AvaloniaUI MAUI WinUI3 WPF"> - +AvaloniaUI MAUI WinUI3 WPF"> + Samples :: Datasync Community Toolkit - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/samples/index.xml b/docs/public/samples/index.xml index a5c44a13..a39e4afa 100644 --- a/docs/public/samples/index.xml +++ b/docs/public/samples/index.xml @@ -3,7 +3,7 @@ Samples :: Datasync Community Toolkit http://localhost:1313/Datasync/samples/index.html - Samples There are a variety of samples in the samples folder of our repository. You can find a walk-through of the code below. Servers A typical server Clients The TodoApp The Todo App is a typical data-driven application. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI Uno Platform WinUI3 WPF + Samples There are a variety of samples in the samples folder of our repository. You can find a walk-through of the code below. Servers A typical server Clients The TodoApp The Todo App is a typical data-driven application. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI WinUI3 WPF Hugo en-us @@ -19,7 +19,7 @@ http://localhost:1313/Datasync/samples/todoapp/index.html Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/Datasync/samples/todoapp/index.html - The Todo App is a typical data-driven application that uses the sample server for cloud-based data storage. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI Uno Platform WinUI3 WPF + The Todo App is a typical data-driven application that uses the sample server for cloud-based data storage. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI WinUI3 WPF \ No newline at end of file diff --git a/docs/public/samples/server/index.html b/docs/public/samples/server/index.html index 079438c3..a9effc7d 100644 --- a/docs/public/samples/server/index.html +++ b/docs/public/samples/server/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/samples/todoapp/avalonia/index.html b/docs/public/samples/todoapp/avalonia/index.html new file mode 100644 index 00000000..030b0b7a --- /dev/null +++ b/docs/public/samples/todoapp/avalonia/index.html @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + Avalonia :: Datasync Community Toolkit + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ +

Avalonia

+ + +
+
Info
+
+ +

The Avalonia sample has been kindly contributed to the community by @timunie.

+
+

Run the application first

+

The Avalonia sample uses an in-memory Sqlite store for storing its data. To run the application locally:

+
    +
  • Configure Visual Studio for Avalonia development.
  • +
  • Open samples/todoapp/Samples.TodoApp.sln in Visual Studio.
  • +
  • In the Solution Explorer, expand the TodoApp.Avalonia folder, then right-click the TodoApp.Avalonia.Desktop project, then select Set as Startup Project.
  • +
  • Select a target (in the top bar), then press F5 to run the application.
  • +
+

If you bump into issues at this point, ensure you can properly develop and run Avalonia applications for the desktop outside of the datasync service.

+ +
+
Tip
+
+ +

The TodoApp.Avalonia sample is known to work on Android and Desktop. We have not tested on other platforms.

+
+

Deploy a datasync server to Azure

+

Before you begin adjusting the application for offline usage, you must deploy a datasync service. Make a note of the URI of the service before continuing.

+

Update the application for datasync operations

+

All the changes are isolated to the Database/AppDbContext.cs file in the TodoApp.Avalonia shared project.

+
    +
  1. +

    Change the definition of the class so that it inherits from OfflineDbContext:

    +
    public class AppDbContext(DbContextOptions<AppDbContext> options) : OfflineDbContext(options)
    +{
    +  // Rest of the class
    +}
  2. +
  3. +

    Add the OnDatasyncInitialization() method:

    +
    protected override void OnDatasyncInitialization(DatasyncOfflineOptionsBuilder optionsBuilder)
    +{
    +    HttpClientOptions clientOptions = new()
    +    {
    +        Endpoint = new Uri("https://YOURSITEHERE.azurewebsites.net/"),
    +        HttpPipeline = [new LoggingHandler()]
    +    };
    +    _ = optionsBuilder.UseHttpClientOptions(clientOptions);
    +}

    Replace the Endpoint with the URI of your datasync service.

    +
  4. +
  5. +

    Update the SynchronizeAsync() method.

    +

    The SynchronizeAsync() method is used by the application to synchronize data to and from the datasync service. It is called primarily from the MainViewModel which drives the UI interactions for the main list.

    +
    public async Task SynchronizeAsync(CancellationToken cancellationToken = default)
    +{
    +   PushResult pushResult = await this.PushAsync(cancellationToken);
    +   if (!pushResult.IsSuccessful)
    +   {
    +     throw new ApplicationException($"Push failed: {pushResult.FailedRequests.FirstOrDefault().Value.ReasonPhrase}");
    +   }
    +
    +   PullResult pullResult = await this.PullAsync(cancellationToken);
    +   if (!pullResult.IsSuccessful)
    +   {
    +     throw new ApplicationException($"Pull failed: {pullResult.FailedRequests.FirstOrDefault().Value.ReasonPhrase}");
    +   }
    + }
  6. +
+

You can now re-run your application. Watch the console logs to show the interactions with the datasync service. Press the refresh button to synchronize data with the cloud. When you restart the application, your changes will automatically populate the database again.

+ +
+
Tip
+
+ +

The first synchronization can take a while because of the cold-start of the service. Watch the debug output to see the synchronization happening.

+
+

Obviously, you will want to do much more in a “real world” application, including proper error handling, authentication, and using a Sqlite file instead of an in-memory database. This example shows off the minimum required to add datasync services to an application.

+ + +
+
+
+
+ + + + + + diff --git a/docs/public/samples/todoapp/index.html b/docs/public/samples/todoapp/index.html index 27742203..1ae208ff 100644 --- a/docs/public/samples/todoapp/index.html +++ b/docs/public/samples/todoapp/index.html @@ -3,42 +3,42 @@ - + +AvaloniaUI MAUI WinUI3 WPF"> +AvaloniaUI MAUI WinUI3 WPF"> +AvaloniaUI MAUI WinUI3 WPF"> - +AvaloniaUI MAUI WinUI3 WPF"> + Todo App :: Datasync Community Toolkit - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/samples/todoapp/index.xml b/docs/public/samples/todoapp/index.xml index 88535879..40e4cf46 100644 --- a/docs/public/samples/todoapp/index.xml +++ b/docs/public/samples/todoapp/index.xml @@ -3,16 +3,23 @@ Todo App :: Datasync Community Toolkit http://localhost:1313/Datasync/samples/todoapp/index.html - The Todo App is a typical data-driven application that uses the sample server for cloud-based data storage. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI Uno Platform WinUI3 WPF + The Todo App is a typical data-driven application that uses the sample server for cloud-based data storage. We start with data stored in a normal Entity Framework Core DbContext, then modify it to synchronize the data to the remote cloud database. AvaloniaUI MAUI WinUI3 WPF Hugo en-us + + Avalonia + http://localhost:1313/Datasync/samples/todoapp/avalonia/index.html + Mon, 01 Jan 0001 00:00:00 +0000 + http://localhost:1313/Datasync/samples/todoapp/avalonia/index.html + Info The Avalonia sample has been kindly contributed to the community by @timunie. Run the application first The Avalonia sample uses an in-memory Sqlite store for storing its data. To run the application locally: Configure Visual Studio for Avalonia development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, expand the TodoApp.Avalonia folder, then right-click the TodoApp.Avalonia.Desktop project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. If you bump into issues at this point, ensure you can properly develop and run Avalonia applications for the desktop outside of the datasync service. + MAUI http://localhost:1313/Datasync/samples/todoapp/maui/index.html Mon, 01 Jan 0001 00:00:00 +0000 http://localhost:1313/Datasync/samples/todoapp/maui/index.html - Run the application first The MAUI sample uses an in-memory Sqlite store for storing its data. To run the application locally: Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application runs on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information. + Run the application first The MAUI sample uses an in-memory Sqlite store for storing its data. To run the application locally: Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information. WinUI3 diff --git a/docs/public/samples/todoapp/maui/index.html b/docs/public/samples/todoapp/maui/index.html index 527b63c8..79d16433 100644 --- a/docs/public/samples/todoapp/maui/index.html +++ b/docs/public/samples/todoapp/maui/index.html @@ -3,42 +3,42 @@ - + +Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information."> +Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information."> +Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information."> - +Configure Visual Studio for MAUI development. Open samples/todoapp/Samples.TodoApp.sln in Visual Studio. In the Solution Explorer, right-click the TodoApp.MAUI project, then select Set as Startup Project. Select a target (in the top bar), then press F5 to run the application. The application should run on Android, iOS, and Windows. Each platform needs slightly different setup. Read the MAUI documentation for more information."> + MAUI :: Datasync Community Toolkit - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/samples/todoapp/winui3/index.html b/docs/public/samples/todoapp/winui3/index.html index be8e6c1e..9eadff0e 100644 --- a/docs/public/samples/todoapp/winui3/index.html +++ b/docs/public/samples/todoapp/winui3/index.html @@ -3,7 +3,7 @@ - + @@ -23,22 +23,22 @@ - + WinUI3 :: Datasync Community Toolkit - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/samples/todoapp/wpf/index.html b/docs/public/samples/todoapp/wpf/index.html index f93adf12..53972527 100644 --- a/docs/public/samples/todoapp/wpf/index.html +++ b/docs/public/samples/todoapp/wpf/index.html @@ -3,7 +3,7 @@ - + @@ -23,22 +23,22 @@ - + WPF :: Datasync Community Toolkit - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/setup/client/index.html b/docs/public/setup/client/index.html index 22692da9..b61afac4 100644 --- a/docs/public/setup/client/index.html +++ b/docs/public/setup/client/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/setup/index.html b/docs/public/setup/index.html index 5be32d71..4164d1d2 100644 --- a/docs/public/setup/index.html +++ b/docs/public/setup/index.html @@ -3,7 +3,7 @@ - + @@ -20,17 +20,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/setup/server/index.html b/docs/public/setup/server/index.html index 5e297562..ac001170 100644 --- a/docs/public/setup/server/index.html +++ b/docs/public/setup/server/index.html @@ -3,7 +3,7 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/docs/public/sitemap.xml b/docs/public/sitemap.xml index 599c02e1..1d57d3da 100644 --- a/docs/public/sitemap.xml +++ b/docs/public/sitemap.xml @@ -30,6 +30,9 @@ http://localhost:1313/Datasync/in-depth/index.html + + http://localhost:1313/Datasync/samples/todoapp/avalonia/index.html + http://localhost:1313/Datasync/in-depth/server/databases/cosmos/index.html diff --git a/docs/public/tags/index.html b/docs/public/tags/index.html index f40831dc..233cceb0 100644 --- a/docs/public/tags/index.html +++ b/docs/public/tags/index.html @@ -3,7 +3,7 @@ - + @@ -20,17 +20,17 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + +