チケットコンポーネント-ユーザーページとコメント

長い間、私はHabréに何も書きませんでした-彼は真っ逆さまで忙しかったです。 この間、多くのことが行われましたが、計画ではさらに多くのことが行われました。 しかし、昨日、 チケットの新しいコンポーネントをリリースして、テクニカルサポートシステムを作成しました。 明らかに、MODX Revolutionのみです。



原則は正常です-ユーザーは質問をし、コメントで回答を受け取ります。



その過程で、システムは一般に、単純なLiveStreet( 投稿の最後で作業を実演するビデオ )などのユーザー生成コンテンツを含むサイトに使用できることが判明しました



では、現時点での選択肢は何ですか?



独自の種類のリソース。



すべてのチケットはリソースに保存されますが、 modResourceを継承する独自のクラスがあります。 これにより、それらを作成/変更/表示するための個別のルールや、マネージャー内の独自のページを整理することができます。



たとえば、チケットはリソースツリーに表示されず(また、その量で遅くなることもありません)、チケットセクションの特別なページからすべて管理されます。 管理のためにコメントも表示されます。



MODXの作者によるブログの拡張機能であるArticlesをご覧になった場合、ここでもほとんど同じことが行われます。



フロントエンドからのページの作成と編集



主な機能は明らかです。 素晴らしいMarkItUpエディターが使用されます。 ボタンのセットとその操作は、システム設定で設定できます。



管理パネルで制御できる、高速のajaxコメントを所有します。



この問題に関するコメントは作業の半分です。 MODX Revolutionにはコメントシステムが1つだけあります。それはひどく抑制的なQuipで 、最初に友達になりたいと思っていました。 彼はQuipを拡張したクラスを作成し、Ajaxで作業できるようにしました。

私が自分のサイトに掲載するまではすべてうまくいきましたが、それがひどく遅いことを理解していませんでした。 コメントなしのトピックが10〜12秒間開かれ、キャッシュはありません。



したがって、Quipに依存せずに、独立した状態にコメントを追加する必要がありました。

これが、MODX Revolutionの2番目のコメントシステムが生まれた方法です。 HabrとLiiveStreetのコメントはサンプルとして使用されました。



コメントなしのページがキャッシュなしで0.6秒で開くようになりました。 まだねじ込みさえしていません。



セキュリティポリシーのサポート



ここで特別なことは何もありません。革命の権利システムが使用されています。 インストールパッケージは、アクセス許可とポリシーを追加し、それらを使用できます。



「一般に」チケットを操作する権利は個別に与えられ、特定のセクションで作成する権利があります。 コメントを作成する権限もあります。



個別のキャッシュエンジン



MODXの主な不満は、マネージャー内のあらゆる束のキャッシュを常にクリアすることです。 Revolutionのキャッシュは非常にクールであり、更新されたリソースのすべての可能な接続をクリアすることは不可能であることは明らかです。 しかし、数千のリソースがあるサイトでは、これは本当に頭痛の種になります。 ユーザーが自分のチケットを編集できることを考えると、サイトは単に真剣な数字で株式を取得します。



したがって、管理パネルまたはフロントエンドでチケットを更新すると、この特定のチケットとその親のページ(チケットセクション)のキャッシュのみがクリアされます。 必要に応じて、 OnDocFormSaveイベントのプラグインによって他のすべてをクリーニングできます。



ディスプレイでフィルタリングするJevix



この拡張機能は、主にユーザー生成コンテンツを対象としています。 そして、彼らは私たちにあらゆる種類のXSSや他の汚いトリックを詰め込むことができます。



ルールが個別のパラメーターセットによって構成されている優れたJevixは、この質問を思慮深く理解しています。 また、チケットとコメントについては別途。



フィルタリングとタイポグラフィ用のこの拡張機能がない場合、チケットは自動的にダウンロードしてインストールします。 まだJevixなしでは働けません。



さて、そしてささいなこと:





合計で、この作業には約40日かかりました。 約140時間の正味時間。

クリーンサイトでのビデオのインストールおよび構成チケット。







これは最初のパブリックベータであり、バージョンは非常に早いですが、非常に安定しています。



私はこの拡張機能を注文し、支払いを済ませ、 リポジトリに無料で置いた優れたスタジオSimple Dreamについて言及せざるを得ません。



ソースコードはGithubで入手できます

私のウェブサイトで実際の仕事でそれを見ることができます。



All Articles