最初の記事の発表から1ヶ月が経ちました。
11月20日、 ABCat v2.1.1aがリリースされました。これには、いくつかの変更が含まれています。
- SQLite.Net-PCLに置き換えられたSQL CE + EF 6.0.1
- アプリケーションロジックはデータストレージ機能から解放されます
- 大幅に再設計された構成システム
- オーディオブックのダウンロードプラグインの改善
- オートコレクトリスト編集プラグインの改善
- エラーロギングを追加
- アプリケーションの展開を簡素化する
- 「フードの下」での多くの変更
インストールおよび起動手順
- リリース付きアーカイブをダウンロード
- アーカイブを解凍します
- ABCat.exeを実行する
- 最初の起動時に、構成ウィンドウが表示されます-必要なものをすべて構成し、構成ウィンドウで「保存」をクリックします
- 使用する
DBとORMを変更する
バージョン2.0.1aの操作の結果によると、ユーザーにとっての問題のほとんどはSQL Compact Editionで発生することが判明しました。 DLLの移植可能なバージョンがアプリケーションのリリースに含まれていたという事実にもかかわらず、ほとんどのユーザーは依然としてシステムにSQL CEエンジンをインストールする必要がありました。 誰かがシステムからSQL CE 4.0を削除し、SQL CE 4.0をインストールしてアプリケーションを起動する必要さえありました。
一部はまったく起動に失敗し、SQL CEでの操作は何も助けませんでした。
このすべてと、SQL CE自体が実際に死んでいると見なされる可能性があるという事実を考慮すると、別の組み込みデータベースであるSQLiteに置き換えることが決定されました。 SQLiteでEntity Framework 6.0.1を入手する方法を探して、SQLite.Net-PCLプロジェクトに出会いました。 これはORMの機能において非常に原始的ですが、ABCatの機能は十分であることが判明しました。 実施されたパフォーマンステスト(数字なし-目で)は印象的でした。 データベースへのオブジェクトの追加などのプリミティブ操作でも、速度の増加が得られました。これはパーセントではなく時間で測定されました。 SQL CEをSQLiteに、EFをSQLite.Net-PCLに置き換えると、このような増加の原因は正確にはわかりません。 おそらく両方。
大きな驚きは、データベースファイルの削減でした。 キャッシュされたページファイルは、SQL CEのバージョンによると200+ MBの重さで、ほぼ60メガバイトを失いました。
SQLite.Net-PCLには、オブジェクトの変更の追跡、一括操作のサポート、オブジェクトの選択的一括削除、データベースファイルへのマルチスレッドアクセスなどがありません。これらは個別に実装する必要がありました。
移行のマイナスの結果は、ABCatの以前のリリースとのデータベース互換性の損失です。 古いオートコレクト設定をインポートするツールはありません。 誰かが最初のバージョンで多くの設定を残している場合-それを報告-変換用のユーティリティを書くことができます。 勇敢な人は、古いデータベースから新しいデータベースに手動でデータを転送しようとすることができます-ベースの論理構造は変更されていません。
DALをプラグインに移動し、メインロジックをデータストレージ機能から分離します
新しいORMに移行する過程で、アプリケーションのアーキテクチャを再考しました。 アプリケーションのメインロジックを特定のデータベースの機能に結び付けないために、DAL全体を別のプラグインに入れました。 この時点から、他のプラグインのロジックを変更せずに、他のデータベースをサポートするプラグインを追加できます。
構成
次の大きな変更は、アプリケーション構成システムです。 前バージョンのリリース前、Habrachiansは、技術的には精通していましたが、アプリケーションを構成するためにXMLファイルを選択する人は非人道的だと考えていました。 そのため、数時間を費やして、システム設定ウィンドウを隠しました。 それは誰にも理解できなかった論理(私にも理解できる)に従って動作し、知性と自由意志の初歩を持っていました。 多くの人が、このようなウィンドウはシステムの新しいユーザーに会うのに最適な方法ではないと不満を漏らしましたが、新しいバージョンでは、構成システムを完全にやり直すことにしました。
ABCatはプラグイン上に構築されているため、設定はかなり複雑です。 プラグインは消えて表示される可能性があり、それぞれにカスタマイズのための固有の設定があるため、1つの構成ファイルでは不十分です。 新しいバージョンでは、プラグインは個別の設定を受け取りました。 単一のウィンドウが引き続きアプリケーションの構成を担当しますが、現在では各プラグインごとにいくつかのセクションが含まれています。 設定の正確性をチェックするシステムも変更され、ファイルやフォルダーが存在しないなどのさまざまな状況を正しく処理するようになりました。
新しい構成ウィンドウ
オーディオブックをダウンロードする
オーディオブックをダウンロードするためのプラグインがよりスマートになりました。 以前は、ダウンロードを開始できるようにuTorrentへのパスを指定する必要がありました。
これで、設定で、ダウンロードしたトレントファイルで実行されるアクションを選択できます。
- エクスプローラーで表示するだけです。 NASトレントファイルをフィードし、PC上のクライアントを使用しないユーザー向け。
- システムアクションを実行します。 ダウンロード後、トレントファイルは単に実行のために起動され、OSはこのファイルタイプに関連付けられたアクションを自動的に実行します
- トレントクライアントでダウンロードを開始します。 これは、最初のバージョンで唯一可能なアクションでした。 トレントクライアントがコマンドラインパラメーターで起動され、ダウンロードが自動的に開始されます。 トレントクライアントへのパスを指定する必要がなくなりました。ABCatはインストールされたトレントクライアントのリストをレジストリからロードし、設定ウィンドウのコンボボックスから希望のクライアントを選択するだけです。 BitTorrentのサポートが追加されました。
rutrackerへの再認証は、保存されたCookieを使用して行われます。
その他の簡単な変更
エラーをログに記録するために、NLogがねじ込まれました。
次の変更は、MahApps.Metroの放棄です。 このライブラリは、アプリケーションの外観にスタイルを提供しました。 おそらく開発者はある時点でそれを通常の状態に仕上げますが、現時点では多くの不可解な問題に遭遇しました。ウィンドウタイトルの色を変更できないことから始まりますヒント。 概して、アプリケーションタイトル(何らかの理由でWPFの既定ではWindows 7ウィンドウとしてスタイル設定されています)のスタイル設定のみが必要であり、このタスクはサードパーティのコンポーネントを使用せずに別の方法で解決されました。
さらに、オートコレクトリストの編集コントロールが改訂されました。 ビューアーとエディターは1つのウィンドウに結合され、要素を削除するためのボタンが表示されました。
オートコレクトエディターでアイテムをすばやく削除する
オートコレクトリスト内のアイテムをすばやく削除する
行の条件付きカラーリングがエントリのリストに表示されました。 過去24時間以内にリストに追加されたエントリは緑色に、先週は黄色になります。 30日以上更新されていないエントリは赤色で表示されます。
レコードのグループ化のロジックに2つのオプションを追加しました。
ボンネットの下で多くの小さな変更が発生したため、詳細については説明しません。
アプリケーションを実行するために、追加のファイルをダウンロードする必要はなくなりました-リリースにはすでに開始データベースがあります。
参照資料
codeplexのプロジェクトページ
ここですべての問題を報告してください。
ソースコード
エラーを報告し、改善のための提案を行い、中間バージョンをテストしたすべての人に感謝します。
romantk 、 SlavasssR 、 ItGoldに感謝します。
アプリケーションは依然として金を要求せず、寄付もせず、広告も表示せず、ブラウザのパネルやシステムの「ディフェンダー」をインストールすることを提案しません。 考えられるエラーと欠点を理解してください。
本をダウンロードする前に、リリースの著者がその著作権を管理していることを確認してください。
そして、ディストリビューションを離れないでください。