Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
dad7512
reboot in .NET only Core and FunctionLight for now
fboucher Jan 21, 2025
26910df
Add .NET Aspire and use Environment Variable instead of ShortenerSett…
fboucher Jan 21, 2025
5587b67
adding vanilla api
fboucher Jan 21, 2025
a63ad6b
UrlCreate migrated
fboucher Jan 24, 2025
9e12b5b
UrlList migrated
fboucher Jan 27, 2025
a19ee56
TinyBlazor Admin website added
fboucher Jan 27, 2025
015ea92
work in progress
fboucher Jan 27, 2025
a24247c
List URl completed
fboucher Jan 28, 2025
4929f22
Create new url works
fboucher Feb 4, 2025
dfd54bc
new sdk mvp works.
fboucher Feb 10, 2025
a7399a2
converting all storageHelper to AzStorageServices
fboucher Feb 11, 2025
9559684
API all done
fboucher Feb 12, 2025
4d9c76c
UPdate and Archive implemented
fboucher Feb 13, 2025
f29cae4
schedule done
fboucher Feb 13, 2025
034fe0d
Adding stats
fboucher Feb 13, 2025
fab03b0
First draft completed
fboucher Feb 14, 2025
71a01ed
some clean up
fboucher Feb 14, 2025
9a3d869
Merge branch 'vnext' into 539-upgrade-and-redesigning
fboucher Feb 14, 2025
7bcf791
Merge pull request #541 from fboucheros/539-upgrade-and-redesigning
fboucher Feb 19, 2025
0acc622
No more Swa so this is not required anymore
fboucher Feb 20, 2025
ea18370
adding new GH to build validation
fboucher Feb 20, 2025
dceaa51
simple cleanup and typo
fboucher Feb 20, 2025
3b3f46e
update time - dotnet-outdated
fboucher Feb 20, 2025
607cf6d
Merge pull request #542 from microsoft/539-upgrade-and-redesigning
fboucher Mar 17, 2025
78b382c
Refactor deployment parameters and update redirect URL handling
fboucher Mar 17, 2025
90c211b
Merge pull request #544 from fboucheros/v-next
fboucher Mar 17, 2025
c9d0e30
Replace Syncfusion components with Blazor Bootstrap and update chart …
fboucher Mar 18, 2025
f87fdc8
Update App.razor to streamline Bootstrap and Chart.js integration
fboucher Mar 18, 2025
8e7416a
Update Statistics.razor to modify chart background color and clean up…
fboucher Mar 18, 2025
3bcb63e
Merge pull request #545 from fboucheros/new-charts
fboucher Mar 18, 2025
caf1219
Update GitHub Actions workflow to include 'v-next' branch and clean u…
fboucher Mar 18, 2025
b94a43c
Update GitHub Actions workflow to specify solution file for restore a…
fboucher Mar 18, 2025
c7ddda9
Merge pull request #546 from fboucheros/quickfix-action
fboucher Mar 18, 2025
65ea826
Update GitHub Actions workflow and enhance documentation with deploym…
fboucher Mar 19, 2025
48ce7dc
Add local simulator script, Postman environment, and FAQ documentation
fboucher Mar 19, 2025
363befd
Merge pull request #547 from fboucheros/v-next-doc
fboucher Mar 19, 2025
dbfdff6
Remove outdated TinyBlazorAdmin GIF and update README with new FAQ li…
fboucher Mar 19, 2025
d881070
Add security considerations and how-it-works documentation; update FAQ
fboucher Mar 19, 2025
6ada80e
Merge pull request #548 from fboucheros/v-next-more-doc
fboucher Mar 19, 2025
fe906b8
Update v-next with latest since v4 (#552)
fboucher Mar 24, 2025
7fc2950
Import data From UI (#554)
fboucher Mar 26, 2025
6b857ef
Merging back Main into v-next (#560)
fboucher Mar 28, 2025
1851504
Checks if URL is archived before redirecting. (#561)
fboucheros Apr 8, 2025
fe82a8b
Feature/562 url filter (#565)
fboucher Apr 11, 2025
c218ef8
Adds CreatedDate to ShortUrlEntity (#567)
fboucher Apr 25, 2025
3ff0fcd
Add date filters on Statistic page (#568)
fboucheros Apr 26, 2025
50e0d5f
Merge branch 'main' into v-next
fboucher Apr 26, 2025
407ef8f
Fix SLN file removing extra line. Update build workflow and improve H…
fboucher Apr 27, 2025
c18d169
up-merging Main into v-next (#570)
fboucher May 16, 2025
a336d07
Enhances data migration documentation and updates dependencies (#572)
fboucher May 26, 2025
cdd2c73
Merge branch 'main' into v-next
fboucher May 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Azure Url Shortener (AzUrlShortener)

![GitHub Release](https://img.shields.io/github/v/release/microsoft/AzUrlShortener) ![.NET](https://img.shields.io/badge/9.0-512BD4?logo=dotnet&logoColor=fff) [![Build](https://github.com/microsoft/AzUrlShortener/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/microsoft/AzUrlShortener/actions/workflows/build.yml) ![GitHub License](https://img.shields.io/github/license/microsoft/AzUrlShortener)
![GitHub Release](https://img.shields.io/github/v/release/microsoft/AzUrlShortener) ![.NET](https://img.shields.io/badge/9.0-512BD4?logo=dotnet&logoColor=fff) [![Build](https://github.com/microsoft/AzUrlShortener/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/microsoft/AzUrlShortener/actions/workflows/build.yml) ![GitHub License](https://img.shields.io/github/license/microsoft/AzUrlShortener) [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?&logo=discord&logoColor=white)](https://discord.gg/6zA3jKw)

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-23-orange.svg?style=flat-square)](#contributors-)
Expand Down
22 changes: 17 additions & 5 deletions doc/how-to-migrate-data.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
# How to migrate your data
# HowAzure Storage Explorer is a free tool to manage your Azure cloud storage resources (aka your short URLs) from your desktop. It's cross-platform and can be downloaded [here](https://azure.microsoft.com/en-us/products/storage/storage-explorer/).

In the resources deployed to Azure, there will be 2 storage accounts. One for the redirect service (azfunc-light) and one acting as the data store. That last one is the one you want to use for the data migration. The name of that storage account should start with `urldata`. migrate your data

The easiest way to migrate your data between account or from an ealier version of AzUrlShortener is to use the **Azure Storage Explorer** to export the data as a CSV files and use the TinyBlazorAdmin to import the files .

The easiest way to migrate your data between accounts or from an earlier version of AzUrlShortener is to use the **Azure Storage Explorer** to export the data as CSV files and use the TinyBlazorAdmin to import the files.

Azure Storage Explorer is a free tool to manage your Azure cloud storage resources (aka your short URLs) from your desktop. It’s a cross-platform and can be downloaded [here](https://azure.microsoft.com/en-us/products/storage/storage-explorer/).

In the resources deployed to Azure there will be 2 storage accounts. One for the redirect service (azfunc-light) and one acting as the data store. That last one is the one you want to use for the data migration. The name of that storage account should start wirh `urldata`.

You need to expot to CSV the following tables:
You need to export to CSV the following tables:
- UrlsDetails: This table contains the details of the short URLs, including the original URL, the short URL, schedules, etc.
- ClickStats: This table contains the clicks informations.
- ClickStats: This table contains the click information.

The best settings to export when planning to import using the TinyBlazorAdmin are:

![export_settings](../images/export_settings.png)

To import the data use the Import button in the Settings page.

If you have customized the structure of the tables by adding custom columns, you will need to import the data using Azure Storage Explorer instead to keep those columns.

Here are the settings to use when importing using Azure Storage Explorer:
- Make sure you use the same column delimiters as used in the export.
- You need to select the data type for each column.
- Uncheck the checkbox *Ignore empty string values*.

![Import settings when using Azure Storage Explorer](../images/import_using_azStorage-explorer.png)
Binary file added images/export_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/import_using_azStorage-explorer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/Api/Cloud5mins.ShortenerTools.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.1.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.3" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.3.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.5" />
</ItemGroup>

<ItemGroup>
Expand Down
8 changes: 4 additions & 4 deletions src/AppHost/Cloud5mins.ShortenerTools.AppHost.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">

<Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
<Sdk Name="Aspire.AppHost.Sdk" Version="9.3.0" />

<PropertyGroup>
<OutputType>Exe</OutputType>
Expand All @@ -11,9 +11,9 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
<PackageReference Include="Aspire.Hosting.Azure.Functions" Version="9.1.0-preview.1.25121.10" />
<PackageReference Include="Aspire.Hosting.Azure.Storage" Version="9.1.0" />
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.3.0" />
<PackageReference Include="Aspire.Hosting.Azure.Functions" Version="9.3.0-preview.1.25265.20" />
<PackageReference Include="Aspire.Hosting.Azure.Storage" Version="9.3.0" />
</ItemGroup>

<ItemGroup>
Expand Down
7 changes: 3 additions & 4 deletions src/Core/Cloud5mins.ShortenerTools.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.1.0" />
<PackageReference Include="cronos" Version="0.9.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.3" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.3.0" />
<PackageReference Include="cronos" Version="0.11.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.5" />

<PackageReference Include="CsvHelper" Version="33.0.1" />

</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
<!-- <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" /> -->
<!-- <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="2.0.0" /> -->
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.0.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.4" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.3.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.0.1" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ServiceDefaults\Cloud5mins.ShortenerTools.ServiceDefaults.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />

<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.3.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.1.0" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.11.2" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.11.2" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.11.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.11.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.11.1" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.5.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="9.3.0" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.12.0" />
</ItemGroup>

</Project>
4 changes: 2 additions & 2 deletions src/TinyBlazorAdmin/Components/Pages/Help.razor
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<FluentCard Width="50%" Height="50%">
<ul>
<li>This is an admin tool, it can create, modify and delete any URL in your data store. Make sure you secure it properly.</li>
<li>Refer to the <a href="https://github.com/microsoft/AzUrlShortener/blob/main/doc/faq.md">documentation on GitHub</a> for more details.</li>
<li>Having an issue or an idea for a new feature? Please check the GitHub [issues](https://github.com/microsoft/AzUrlShortener/issues) or [discussions](https://github.com/microsoft/AzUrlShortener/discussions).</li>
<li>Refer to the <a href="https://github.com/microsoft/AzUrlShortener/blob/main/doc/faq.md" target="_blank">documentation on GitHub</a> for more details.</li>
<li>Having an issue or an idea for a new feature? Please check the GitHub <a href="https://github.com/microsoft/AzUrlShortener/issues" target="_blank">issues</a> or <a href="https://github.com/microsoft/AzUrlShortener/discussions" target="_blank">discussions</a>.</li>
</ul>
</FluentCard>
Loading