私が最近取り組んでいる最古の趣味の1つであるphpBBアセンブリデザイナーを紹介します。 プロジェクトの本質は簡単です。必要な機能を備えたphpBBアセンブリを、できるだけ短い時間で誰でも入手できるようにすることです。
手紙はやや多いことがわかったので、せっかちな人のために、明確な良心をもってスキップできるように、パーツの簡単な説明をします。
- 歴史的背景-phpBB Constructorの由来とその由来。
- あなたはより良くすることができます-彼の外観で何が変わったか。
- phpBB Constructor vs AutoMod and Hands-重要なユーザー向け。
- 裏には、スクリプトの腸からのいくつかの親密な詳細があります。
- フィードバック-違いを生む4つの方法。
- 最後に-せっかちな人のためのスクリーンキャスト。
歴史的背景
昔々、phpBB2が人気のピークに達したとき、ワゴンやあらゆる種類のMODのトロリーなど、職人のphpBBに基づいたビルドはかなり人気がありました。 鮮やかな例はphpBB Plusプロジェクトです。これには、誤解がない限り、さまざまな複雑さの約50のMODが含まれています。 多くの人にとって、これは便利でした。なぜなら、さまざまな必要度のMODを大量に個別にインストールする時間を費やす必要がなかったからです。 さらに、このプロセスは退屈で面倒でした。
しかし、アセンブリは万能薬ではありませんでした。誰もがさまざまなニーズを持っていて、それでも何かが欠けていましたが、何かが余計でした。 このようなモンスターからのサーバーへの負荷は言うまでもありません。 そのため、時間の経過とともに、アセンブリユーザーは十分な経験を蓄積
phpBB3の出現により、開発チームはエンドユーザー向けにmodのインストールを簡素化する素晴らしい仕事をし、多くの点でより高度なMODX標準が登場し、MODXをサポートする新しいAutoModが登場しました。 また、エンジンのコアは、以前は巨大なMODを使用して解決されていた重要な機能のほとんどを取得しました(不気味なAttachment Modを思い出してください)。 これにより、今日までビルドを開発および保守しているいくつかのチームを知っていますが、phpBB3に基づくビルドはあまり人気がありませんでした。
しかし、あなたはもっとうまくやることができます!
この考えは私を長い間残しておらず、1年半前にゆっくりとコードに変換され始めました。 phpBB Mod Teamのメンバーの努力のおかげで、ほとんどのmodは自動モードでは悪くありません。 したがって、アセンブリの作成プロセスを自動化し、アセンブリを最新の状態に維持するために必要な時間を短縮できます。 しかし、これを自動化できる場合、ユーザーがアセンブリで見たいものとそうでないものをユーザーに選択させないのはなぜですか?
これがphpBB Constructorの目的です。 必要な関数とローカリゼーションを自由に選択できます。その結果、必要なmodを含むアセンブリを取得できます。modが選択した言語のローカリゼーションを提供する場合、設定されます。そうでない場合、言語変数は英語から継承されます。 次に、コンストラクターに含まれるすべてのmodが正常に機能し、インストール中に競合しないように制御します。
phpBBコンストラクターvs. Automod
AutoModはMod Teamの優れたツールであり、自動モードで多くのmodに対処できますが、それでも次のことが可能です。
- デザイナーにあるすべてのものは、互換性と通常の動作についてテストされており、その場合はいつでもサポートできます。
- アセンブリを一度作成すると、何度でもインストールできます。
- 必要なMODと最新バージョンを検索する必要はありません。
しかし、公平を期すために、MODの選択の自由を制限することにより、これに対価を支払う必要があると言わなければなりません。
phpBBコンストラクターvs. 手
- まず第一に、一方は他方を妨害しません:-)デザイナーによって作成されたアセンブリは、自己修正の良い出発点です。
- ずっと長い手。
- 繰り返しになりますが、必要なMODを探すために自分でインターネットを検索する必要はありません。
一方、パラノイアは、アセンブリに余分なものが何もないことを確認する唯一の方法が手であることを示唆しています;-)
ボンネットの下
Habrオーディエンスの技術的な傾向を考えると、問題の技術的な側面に急いで進みます。
phpBB Constructorの心臓部はMODX Libraryです 。これは、BSDライセンスで公開するために必要だと思いました。 MODの通常のインストールの80%を占めます。インストール手順の解析、ファイルの編集、MODに付属するインストールスクリプトの登録などです。デザイナーの作業が始まったのは彼女でした。
もう1つの重要な要素は、小さなInherited Translation modです。これは、mod自体に目的の言語のローカリゼーションがない場合に、上記のmodの言語変数の英語からの継承を提供します。
3番目のコンポーネントは、phpBBインストーラー用のそれほど大きなパッチではありません。これは、MODのインストールスクリプトとそれらに添付されたSQLクエリの実行を担当します。 これまでのところ、私の手はその出版のポイントに達していないが、これは時間の問題であるが、それほど大きくはない。
藤堂
これはおそらく最も興味をそそる部分です(特に私にとっては:-)。もっと多くのことをする必要があるからです:
- ユーザーが自分のアセンブリのプロファイルを保存し、それらの自動更新パッケージを収集する機能を提供します。
- 何かを見落とした場合に備えて、新しいMODとリリースされたアップデートに関するメッセージを提供するフォーム。
- MODの分類。 その数が増えると、それは単に必要になります。
- カスタムスタイルの指示の生成とそれらをインストールするための自動スクリプト。
- 必要な選択を簡素化するための主要な改造。
フィードバック
この段階では、バグの報告だけでなく、改善の提案と機能のリクエストに関するフィードバックも非常に重要です。 これらの目的で、誰かがこの方法をもっと気に入ったら、サポートフォーラムに直接、 バグトラッカーに書くことができます。 さらに、既存のMODをローカライズし、新しいMODを提供することも役立ちます。
そして最後に
コンストラクターの使用に関する小さなスクリーンキャストを記録しました。
UPD。 いくつかの考えの後、「サービス」に移しました。
UPD2。 労働者の要請で、彼はウクライナ語のローカライズを追加しました。