この記事ではLPS-71067に記載されている、Alloy Editorで確認できる既知の制限事項について説明します。
エディタのソースモードを使用して<form>タグを入力した場合、Alloy EditorのWYSIWYGに戻るか、コンテンツを公開すると、エディタはそのタグを削除します。
根本原因
この問題の根本的な原因は、 https://www.w3.org/TR/html4/interact/forms.html#h-17.3のHTML仕様で示されているように、 <form> タグを別のタグの中に入れ子にすることができないことです。 Liferay DXPはこれを行おうとしているため、ブラウザ自体がタグをフィルタリングしてしまいます。
Alloy Editorは "inline "モードで動作し、それ自体はページ内の <form> タグの中に包まれています。 これにより、ブラウザはHTMLを「修正」し、「余分な」 <form> タグを削除します。
解決
ステータス:利用可能な回避策
この制限を回避するには、対象となるLiferayインスタンスのportal-ext.propertiesファイルに以下を設定することで、Alloy EditorからCKEditorに切り替えることができます。
editor.wysiwyg.portal-impl.portlet.ddm.text_html.ftl=ckeditor
この問題はブラウザレベルに起因するものですが、DXPのCKEditorは"iframe"モードで動作するため、この問題は発生しません。
追加情報
CKEditorとAlloy EditorはWYSIWYGコンテンツエディタとして提供されており、HTMLエディタを目的としたものではありません。これらのエディタのソースモードは、利便性のために提供されており、マークアップの微調整のみを目的としています。ソースモードに入力されたマークアップは、修正されずにそのまま残ることは保証されません。
Alloy Editorのこの既知の問題を根本的に解決するには、DXPにおけるAlloy Editorの組み込みアーキテクチャを変更する必要があります。APIを壊すような変更のため、Liferay General Availabilityリリースの安定性を保つために、新しい潜在的な解決策は将来のLiferayバージョンでのみ行われる可能性があります。
Liferayフロントエンドエンジニアリングはこの問題を認識しており、今後のLiferayの実装に取り組む際に考慮する予定です。詳細は、新機能の導入 の記事をご覧ください。