Orchard CMSでの管理:コマンドラインユーティリティ

これは、Orchard CMSコンテンツ管理システムに基づく独自のサイトの開発に関する一連の記事の続きです。 このシリーズの最初の記事は、次のリンクにあります。

シリーズの以前の記事では、ウィジェット、モジュール、パッケージ、およびテーマの作成を通じて、Orchard CMS拡張機能について説明しました。 次のいくつかの記事では、Orchard CMSに基づくシステム管理について検討します。 この記事では、サイト管理者および開発者向けの多数のタスクを自動化できるコマンドラインツールに焦点を当てます。



コマンドラインユーティリティを使用する



コンテンツ管理システムは、管理パネルの機能とパネルを介して利用できない機能の両方を自動化するためのコマンドラインユーティリティを提供します。



コマンドラインユーティリティはorchard.exeと呼ばれ、サイトプロジェクトのbinフォルダーにあります。 ユーティリティを開始する前に、最初にサイトのルートでWindowsコマンドプロンプトを開きます(システムソースコードを使用する場合は、Orchard.Webプロジェクト)。 これは、Shiftキーを押しながらサイトフォルダーを右クリックすることで簡単に実行できます。 コンテキストメニューから[コマンドウィンドウを開く]コマンドを選択します。 次に、ウィンドウにコマンド「bin \ orchard.exe」を入力します。 再度注意してください。このユーティリティは、サイトのルートから実行する必要があります。



image



コマンドを使用する



Orchardコマンドラインユーティリティで使用可能なコマンドを表示するには、「help commands」コマンドを入力します。



image



サイトをインストールする前にこのコマンドを実行する場合、使用できるコマンドは「setup」コマンドのみです。 このコマンドを使用すると、サイト名、管理者名とパスワード、データベースパラメータの指定など、初期サイトパラメータを設定するすべての手順を実行できます。 さらに、セットアップコマンドには、サイトのインストール中に含めることができる機能のリストをリストするオプションのパラメーターがあります。



image



サイトをインストールした後、「ヘルプコマンド」コマンドを実行して、他の多くのコマンドが使用可能であることを確認できます。 利用可能なコマンドのリストは、Orchard CMSシステムに含まれる機能とモジュールに直接依存します。 有効または無効にできるすべての機能のリストを取得するには、コマンド「feature list」または「feature list / Summary:true」を入力します。 「feature enable <function-name>」コマンドを使用して、使用可能な機能を有効にできます。



 オーチャード>機能リスト/要約:true
共通、有効
コンテナ、有効
コンテンツ、有効
ダッシュボード有効
 DatabaseUpdate、無効
有効なフィード
ギャラリー、有効
ホームページ、有効
 Lucene、無効
ナビゲーション、有効
 Orchard.ArchiveLater、無効
 Orchard.Blogs、有効
 Orchard.Blogs.RemotePublishing、無効
 Orchard.CodeGeneration、有効
 Orchard.Comments、有効
 Orchard.ContentTypes、有効
 Orchard.Email、無効
果樹園、実験的、無効
 Orchard.Experimental.TestingLists、無効
 Orchard.Experimental.WebCommandLine、無効
 Orchard.Indexing、無効
 Orchard.jQuery、有効
 Orchard.Lists、有効
 Orchard.Localization、無効
 Orchard.Media、有効
 Orchard.Messaging、無効
 Orchard.Migrations、無効
 Orchard.Modules、有効
 Orchard.MultiTenancy、無効
 Orchard.Packaging、有効
 Orchard.Pages、有効
 Orchard.PublishLater、有効
 Orchard.Roles、有効
 Orchard.Scripting、有効
 Orchard.Scripting.Dlr、無効
 Orchard.Scripting.Lightweight、有効
 Orchard.Search、無効
 Orchard.Setup、無効
 Orchard.Tags、有効
 Orchard.Themes、有効
 Orchard.Users、有効
 Orchard.Widgets、有効
 PackagingServices、有効
プロファイリング、無効
レポート、有効
ルーティング可能、有効
セーフモード、無効
スケジューリング、有効
設定、有効
図形、有効
 TheAdmin、無効
 TheTheMachine、有効
 TinyMce、有効
 XmlRpc、無効 


コマンドを追加する



Orchard CMSモジュールの開発者は、Orchard.Commands.DefaultOrchardCommandHandlerを継承する新しいクラスを実装することにより、コマンドラインユーティリティに独自のコマンドを追加できます。 コマンドは、特別な属性CommandNameでマークされたこのクラスの単なるメソッドです。 以下のコードは、単純な「hello world」コマンドを作成します。このコマンドは、1つの「Name」パラメーターを受け取り、追加の「YouRock」パラメーターを含みます。



[CommandName("hello world")] [CommandHelp(@"hello world <name> [/YouRock:true|false] Says hello and whether you rock or not.")] [OrchardSwitches("YouRock")] public void HelloWorld(string name) { Context.Output.WriteLine(T("Hello {0}.", name ?? "world")); Context.Output.WriteLine(YouRock ? "You rock." : "You do not rock."); }
      
      





オプションのYouRockパラメーターは、OrchardSwitch属性を持つクラスプロパティです。



 [OrchardSwitch] public bool YouRock { get; set; }
      
      





コマンドは完全なオーチャード環境で実行され、データベースにアクセスし、依存関係を注入し、サイトコードで実行できるほぼすべての操作を実行できます。



チーム例外の呼び出し



チームの例外を呼び出すことはお勧めしません。 代わりに、可能な場合は、コマンドラインで情報を表示し、コマンドを終了します。 一般的な例外をスローする必要がある場合は、OrchardExceptionを使用します。



コマンドラインユーティリティを使用したコード生成



Orchard CMSシステムに基づく開発者は、ウィジェット、モジュール、パッケージ、およびテーマの作成を簡素化するコード生成メカニズムを使用できます。 この機能は、コントローラー、データ移行クラス、モジュール、テーマを自動的に作成したい開発者に役立ちます。 コード生成は便利な機能ですが、デフォルトではオーチャードCMSでは有効になっていません。



Orchard管理パネルを使用して、コード生成を簡単に有効にできます。 パネルを開き、「モジュール」セクションを選択し、「ギャラリー」タブに移動して、公式ギャラリーから利用可能な拡張機能のリストを取得します。 検索バーを使用して、「コード生成」モジュールを見つけ、インストールリンクからインストールします。



image



インストール後、システムはモジュールをアクティブ化するように促しますが、これに同意します。 コマンドラインユーティリティを使用して、モジュールを有効または無効にできます。 コード生成機能を有効にするには、コマンドプロンプトで次のコマンドを入力します。



  orchard>機能はOrchard.CodeGenerationを有効にします
機能の有効化Orchard.CodeGeneration
 Orchard.CodeGenerationが有効化されました 


コード生成モジュールをインストールして有効にすると、コマンドラインユーティリティは、モジュール、テーマ、データ移行クラス、コントローラーを作成する機能のための追加コマンドを受け取ります。 コード生成チームは、サイトの適切な場所に新しいファイルとフォルダーを作成します。



コード生成機能をインストールした後、コマンドラインユーティリティで使用可能なコマンドの例:



  codegenコントローラー<モジュール名> <コントローラー名>
        モジュールに新しいコントローラーを作成します

 codegen datamigration <機能名>
        新しいデータ移行クラスを作成します

 codegenモジュール<モジュール名> [/ IncludeInSolution:true | false]
        新しいOrchardモジュールを作成します

 codegenテーマ<theme-name> [/ CreateProject:true | false] [/ IncludeInSolution:true | false] [/ BasedOn:<theme-name>]
        新しいオーチャードテーマを作成します 


コード生成コマンドの使用例は、記事Orchard CMSの拡張:ウィジェットの作成にあります。



All Articles