にあるデフォルト設定を見るとportal.properties
、そこには次のように書かれています
#
# Application startup event that runs once for every web site instance of
# the portal that initializes.
#
application.startup.events=com.liferay.portal.events.AddDefaultDataAction,\
com.liferay.portal.events.AppStartupAction,\
com.liferay.portal.events.ChannelHubAppStartupAction
com.liferay.portal.events.AddDefaultDataAction
したがって、次のように他のものを指定するだけで、このリストからデフォルトを削除できますportal-ext.properties
。
application.startup.events=com.liferay.portal.events.AppStartupAction,\
com.liferay.portal.events.ChannelHubAppStartupAction
すべての新規インストールでこれを行う場合は、インスタンスを最初に起動する前にこの変更を追加する必要があります。または、これをすぐに実行できる ext プラグインを作成する必要があります。なぜextが必要なのですか?フックは別の StartupAction を追加することしかできず、既存のものを変更することはできません。extは、既存の起動アクションを変更または削除したり、それらのコードをオーバーライドしたりできます。
ext プラグインでは、実装することもできます
application.startup.events=com.mariaioannidou.MyCustomAddDefaultDataAction,\
com.liferay.portal.events.AppStartupAction,\
com.liferay.portal.events.ChannelHubAppStartupAction
デフォルトのアクションと同じように実装MyCustomAddDefaultDataAction
し、ドキュメント タイプを作成しません。
一方、フックは、不要な標準ドキュメント タイプをすべて見つけて、それらが実際に使用されていないことを確認してから削除することができます。ご覧のとおりAddDefaultDataAction
、ドキュメント タイプを追加するだけでなく、アクション内の残りのコードを実行する必要がある場合もあります。
別の代替手段は、実際に の実装を変更する ext プラグインを作成するcom.liferay.portal.events.AddDefaultDataAction
ことですが、ここでも ext を使用します。最初の起動前にすべてのインストールでこれをデプロイしないと、とにかくデフォルトのコンテンツになってしまいます。自動的に削除するコードが必要になる場合があります。
私の個人的な推奨事項は、フックを使用して、不要なドキュメント タイプを削除することです (使用されていない場合)。理由は次のとおりです。
- 展開の容易さ (ホット展開が可能)、
- 最初の実行の前にプラグインをデプロイしないと、とにかく不要なドキュメント タイプを削除する必要があります。
- 保守性: ext プラグインよりもフックを保守する方が簡単です。