![画像](https://habrastorage.org/storage2/44f/caa/460/44fcaa460d4eb5b6383ce0647d396d0f.jpg)
モジュールの開発の開始からほぼ2週間後、私は次の結論に達しました:すべてが複雑すぎます。 アイデア自体は単純です。優れた機能を備えた一種のソーシャルアカウントを取得するために、LivestreetCMSをMODX Revolution(これまでブログを作成するためのモジュールがなかった)に固定します。
最初のパッケージをすぐに投げたところ、Livestreetに転送要求が完全に提供され、MODXにコンテンツが出力されました。 しかし、その後、MODX-およびLS-のユーザーとの同期作業を実装したかったのです。その後、他の何かが...一般に、機能もコードも成長しました。 問題は、この組合を設立することの困難さに現れました。 MODXで深刻な問題がまったくなかったと言うことができる場合(いずれにしても、エンジンコードのバイトに触れる必要はありませんでした)、Livestreetではすべてがより複雑であることが判明しました...いずれにせよ、私はコードに入る必要がありました。 もちろん、プラグインのクラスをオーバーロードすることでいくつかのことができることを理解していますが、これは問題に対するプライベートなソリューションにすぎません。 はい。たとえば、Jevixクラスの場合のように、いくつかのポイントはオーバーロードできません。 しかし、これらは重要な詳細ではありません。 主なもの-この全体を設定するには、多くの手作業が必要です。 このすべてをインストールして構成するためのマニュアルを書いたとき、私は完全に困惑しました...それはそれほど多くはないようですが、それでも何もありません。
一般的に、何らかの方法で、昨日、ポリシーを変更することにしました。 MODX用のこのようなパッケージを作成することにしました。これには、完全に構成されたLivestreetが既に含まれており、インストールすることで、ソーシャルネットワーク用の既製の拡張機能が既にあります。
それでも、モジュール自体は独立して使用できます(たとえば、異なるコンテキストのシステム設定でLivestreet設定を変更することにより、複数のLivestreetサイトで一度に作業を行うことができます)。 一般に、このモジュールは既存のLivestreetサイトとのリンクに非常に適しています(この場合、権利は手動による手動チューニングに頼る必要があります)。
では、インストールはどのように行われますか?
1. MODX Revolution のパッケージをダウンロードします(ユーザーとの同期作業には、2.2.0以上のバージョンが必要です。コンテンツのみを提供する場合は、以前のバージョンを使用できます)。
2.それを/ core / packages /に注ぎ、ローカルにインストールします(申し訳ありませんが、MODXリポジトリに起動されるまで)。
インストールプロセスの写真に興味がある人は、彼らがここにいます
![](https://habrastorage.org/storage2/498/d3a/3c2/498d3a3c2b34a775c11c54214fe7d692.jpg)
![](https://habrastorage.org/storage2/7ab/dce/90d/7abdce90d79f7f4dff2de06d252137fc.jpg)
![](https://habrastorage.org/storage2/67b/d30/c0e/67bd30c0ee9459c97000d76d79521559.jpg)
![](https://habrastorage.org/storage2/7fc/0ed/f2b/7fc0edf2bd684effa2e37db538066138.jpg)
![](https://habrastorage.org/storage2/bc4/8db/128/bc48db1283a4a4413f103e5be63fc7b7.jpg)
3.パッケージがインストールされたら、[[!ModLivestreet.run]]スニペットを必要な開始ドキュメントに挿入するだけです(空のテンプレート。またはこのスニペットでテンプレートを作成します)。
これをやったことがない人のために
![](https://habrastorage.org/storage2/be5/eb0/369/be5eb0369848ab64d4c0d68e5631da27.jpg)
![](https://habrastorage.org/storage2/3da/d96/0d3/3dad960d35c94628d8f89628f1f0c58b.jpg)
それだけです:-)
ページに移動して、Livestreetを確認します:-)
![](https://habrastorage.org/storage2/461/e27/bc7/461e27bc7e4600e8f6b34f1f44d528e3.jpg)
将来、このプロジェクトはこの方向で発展します(完成したLivestreetを含むパッケージ)。 これは正しいと思います。 それを必要としている人は、すぐにそしてすでにそれをすでに持っています。 チューニングが必要ですか? モジュール自体は完全に独立しており、問題なくLivestreetに追加されます。 便利な情報はオフサイトにあります。
そして最後に、小さなFAQ。
そして、Livestreetがメインに出ないようにしたくないのですか? /フォーラム/セクションのどこかに彼が欲しいなら?
MODXシステム設定(以降、modLivestreet名前空間)に移動し、modLivestreet.url_prefix /を/ forum / (または必要なもの)に変更します。
すべて、このセクションはLivestreetの基本です。 このセクションのmodLivestreet.runスニペットでメインページを作成することを忘れないでください。
そして、forum.moysite.comなどの別のドメインにしたい場合
MODXで新しいコンテキストを作成します。その中にmodLivestreet.runスニペットを含むメインページを作成し、MODX URLをこのコンテキストにバインドします。 Livestreetのフォーラムへのリンク、およびWayfinderなどが必要な場合 メインサイトへのリンクを形成してから、コンテキストのsite_url-メインドメインを設定し、modLivestreet.site_url設定をフォーラムドメインに設定します。 確かに、完全なURLを形成するようにWayfinder設定を変更する必要がありますが、これらは些細なことであり、モジュールに直接適用されません。
Livestreetテンプレートに挿入した場合、MODXタグは機能しますか?
はい、そうです。 すべてのLivestreetコンテンツは、MODXパーサーによって出力される前に処理されます。
しかし、セキュリティはどうですか? 誰かがMODXタグをトピックに書き込んだ場合(スニペット、システム設定など)?
恐れるな。 すべての安全対策が講じられています。 サーバーへのすべてのリクエストは消去され、MODXタグの角かっこはコードに置き換えられます。そのため、誰かが何かを書くと、彼らは書いたものを正確に見ることができます。
ただし、大きな1つの点があります。LivestreetをMODXにリンクした場合、MODXにリンクせずに純粋な形式で表示しないでください。タグはMODXによって消去され、LSでタグを書き込むと、MODXで処理されます。
クリーナーは、Livestreet側で後で書かれます。
最適化のヒントを教えてください。
最も重要なヒントは、サーバーで書き換えルールを構成することです。 基本構成では、MODXはすべてのLivestreet静的データを完全に駆動します。
私はnginxを持っています、ルールはこのように書かれています
つまり、物理的にLivestreetはDOCUMENT_ROOTの外に完全にある可能性があります。
location /templates/{ root /www/site.ru/public_html; access_log off; expires 30d; } location /uploads/{ root /www/site.ru/public_html; access_log off; expires 30d; } location ~/engine/.*\.js{ root /www/site.ru/public_html; access_log off; expires 30d; }
一般に、おそらくそれを理解するでしょう。
「ユーザーとの同期作業」とは何ですか?
MODXでは、ユーザーは、Livestreetでは-自分のユーザーです。 通常モードでは、Livestreetは独立して動作しています(ユーザーは登録済みです-ユーザーはLivestreetにのみ存在し、許可されています-自分で所有しています)。
同期モードでは、すべてが同期して動作します:登録済み-Livestreetにもあり、MODXにあり(MODX管理パネルでユーザーを作成した場合でも)、ログイン済み-LivestreetユーザーとMODXの両方にログインして、どこかでエラーが発生しましたか? -あちこちでプロセスの完了(つまり、少なくとも1人のユーザーのパスワードが間違っている場合、誰も入力できません)。
デフォルトでは、同期モードはオフになっています。 modLivestreet.sync_usersの設定を変更することで有効にできます
ところで、インストール可能なLivestreet管理者の場合:
ログイン:admin
パス:管理者
しかし....?
コメントのその他すべての質問。