ホームページ
2026年1月16日

(第1回)Auto Dictionaries:Umbraco 13 から 17 への冒険

Umbraco
パッケージ

今、Umbraco 13はセキュリティアップデートだけを受けられるから、アップデートする時間だ!

次の「LTS」のバージョンはUmbraco 17。僕は「LTS」のバージョンだけをアップデートしたいから、Umbraco 17にアップデートする。

でも、Umbraco 14では「AngularJS」を使わないと、「TypeScript」を使うことになる。だから、たくさんコードを変えないと。

ただ、僕はあまり「TypeScript」を使わないから、これは楽しい挑戦になる!

そのために、僕の冒険を記録している!


予定

今、僕の予定は

  1. 「Visual Studio 2026」へのアップデートする
  2. Webのプロジェクトは Umbraco 17にアップデートする
  3. プロジェクトの構造を変える
  4. フロントエンドのコードは「AngularJS」から「TypeScript」に変える
  5. バックエンドのコードを直す
  6. ユニットテストのコードを直す

これは僕の最近の予定。ただ、働き始める時、予定はたぶん変わる。

このけいかくは長い時間がかかるから、もっとブログを書く。


1.「Visual Studio 2026」へのアップデートをする

Auto dictionariesは「Umbraco 17」にアップデートをしたいので、.NET10をインストールしないと。

どうやら、.NET10と「Visual Studio 2022」を使えない。

そのために、「Visual Studio 2026」にもアップデートをしないと。

(新しい「Visual Studio 2026」のイコンはとても嫌いだと思う。古いイコンがほしい)

「Visual Studio 2026」と.NET10のインストールはとても簡単。

.slnのファイルはちょっと違う。

今、ここで見られる

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32922.545
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoDictionaries", "AutoDictionaries\AutoDictionaries.csproj", "{2E06AE4F-3F35-4E7D-9160-0AA2CF37870F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoDictionaries.Web", "AutoDictionaries.Web\AutoDictionaries.Web.csproj", "{F5F204A9-DCD0-4AC7-AE03-689D51058CA0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoDictionaries.Tests", "AutoDictionaries.Tests\AutoDictionaries.Tests.csproj", "{BF8F50C0-1AA4-432F-BA66-DF07BBDFBC34}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{2E06AE4F-3F35-4E7D-9160-0AA2CF37870F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{2E06AE4F-3F35-4E7D-9160-0AA2CF37870F}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{2E06AE4F-3F35-4E7D-9160-0AA2CF37870F}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{2E06AE4F-3F35-4E7D-9160-0AA2CF37870F}.Release|Any CPU.Build.0 = Release|Any CPU
		{F5F204A9-DCD0-4AC7-AE03-689D51058CA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{F5F204A9-DCD0-4AC7-AE03-689D51058CA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{F5F204A9-DCD0-4AC7-AE03-689D51058CA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{F5F204A9-DCD0-4AC7-AE03-689D51058CA0}.Release|Any CPU.Build.0 = Release|Any CPU
		{BF8F50C0-1AA4-432F-BA66-DF07BBDFBC34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{BF8F50C0-1AA4-432F-BA66-DF07BBDFBC34}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{BF8F50C0-1AA4-432F-BA66-DF07BBDFBC34}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{BF8F50C0-1AA4-432F-BA66-DF07BBDFBC34}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(ExtensibilityGlobals) = postSolution
		SolutionGuid = {E4132F56-6A7C-4B12-AEFE-1CFEFABC8E75}
	EndGlobalSection
EndGlobal

でも今、そのファイルの拡張子は.slnx

だからそのファイルの名前とファイルのコンテンツを変える。

今、これで見られる

<Solution>
  <Project Path="AutoDictionaries.Tests\AutoDictionaries.Tests.csproj" />
	<Project Path="AutoDictionaries.Web\AutoDictionaries.Web.csproj" />
	<Project Path="AutoDictionaries\AutoDictionaries.csproj" />
</Solution>

そのファイルはとても少なくなった!すごいと思う!

1ステップは終わった!


2. Webのプロジェクトは Umbraco 17にアップデートをする

Auto dictionariesは静的コンテンツをディクショナリのアイテムに作る。この機能のテストをするために、テンプレートと部分ビューの例をしないと。

今、UmbracoHQのStarterkitを使った。ただ、そのStarterkitはアップデートをあまり受けないから、ほかのStarterkitを探していったほうがいい。

そのために、Webのプロジェクトはアップデートしないで、新しいWebのプロジェクトを作ると、新しいStarterkitをインストールする。

ポール・シールケレンのStarterkitを作った!そのStarterkitはとてもモダン。だから、そのStarterkitを使おうと思う。

ちなみに、パール・セルはめちゃ上手!ために、たくさんUmbracoを学んだ!

以前、リポジトリには、「SQLite」のデータベースがあったちゃ。Starterkitだけを使うから、それはとても悪いと思う。リポジトリは大きくなったり、マージの問題になったりした。それに、僕のログイン情報を覚えられないと。

だから、appsettings.jsonでは「umbracoDbDSN」を空にする。

  "ConnectionStrings": {
    "umbracoDbDSN": "",
    "umbracoDbDSN_ProviderName": "Microsoft.Data.Sqlite"
  }

appsettings.Development.jsonを作ると、「umbracoDbDSN」を足した。

{
  "$schema": "./appsettings-schema.json",
  "ConnectionStrings": {
    "umbracoDbDSN": "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Pooling=True"
  }
}

毎回新しいプロジェクトをGITでクローンしたら、Umbracoのインストールする。

これはとてもよくて、便利。みなさんも自分のログイン情報を作れる!

2ステップは終わった!


思ったこと

2ステップは終わった!このステップは優しいけど、もっと難しくなると思う。

この新しいWebのプロジェクトのデータベースの実装はとても整っている!

次, プロジェクトのこうぞうを変えると、 フロントエンドのコードは「AngularJS」から「TypeScript」への変える。

そのために「TypeScript」を練習する!それはとてもいいと思う!


パーツたち

  1. (第1回)Auto Dictionaries:Umbraco 13 から 17 への冒険
  2. (第2回)もうすぐ。。。
  3. (第3回)もうすぐ。。。
ヨハネス・ランツ

ヨハネス・ランツ

ウェブ開発者・経験8年

採用可能

お問い合わせ