前書き

Plone と関連する技術は長い年月をかけて構築されてきました。 コードベースでは6000以上のモジュールで構成されています。 最初に作成した人でさえ、なにかをしようとする時に全てを把握できていません。 長年にわたり同じ機能を実現するのために技術の世代が行ったり来たりして、コードに印を残しました。 HTTP が主流となったときに構築された技術があります。 Python プログラミング言語がまだ若かったとき、その頃は標準ライブラリの機能では足りないために作成された技術もあります。 そして、そのままでは限界に行き当たる可能性があるため、古い手法を置き換える新しい傾向があます。

コードの発展に数百人年の力をかけて開発された総合的な機能のセットは非常に価値のあるものです。 Plone があまり重要ではない問題に対応してしまう傾向があるため、 この包括性は単純なことするために必要以上に難しくしてしまう複雑性を持ってしまいました。

Plone は最も複雑な Python プロジェクトの一つであり、完全にマスターすることができる人はいません。 特に同じこと実現する複数の方法があるとき、全てがどのような相互作用が発生するかを把握することは必ずしも簡単ではありません。 良い文書があるかも知れないし、ないかも知れません。しかし、途方も無い数の要求があるため、たいていは文書を発見することができます。 文書そのものは異なった年代に知識の異なったドメインで提供されています。

なにか問題に遭遇したときには、以下の2種類の方法に頼ることによって直接的な例を発見することができるかもしれません。

  • 助言を求めてください。freenode の #plone IRC チャンネルと product-developers メーリングリストを試してみてください。 回答はすぐに返ってこないかもしれません。 あなたが直面している問題について非常に詳細な情報を提供することができれば、助言がもらえる可能性を高めることができます。 人々があなたに助言を与えることを強要することはできません。なぜなら、彼らはあなたを自発的に助けているからです。
  • コードベースを隅々まで検索してください。 コードベースにある全ての Python, ZCML, XML, Javascript とページテンプレートファイルをキーワードで検索して、参考資料と手がかりを見つけてください。 該当する箇所を見つけたあとは、全ての異なるサブシステムがどんなインターフェースを使用しているか理解できるまでコード全体を読んでください。

根気よく続けてください。 複雑なシステムに対処する、そして技術を管理して危険を最小限にするための時間を確保する必要があることに注意してくだしあ。 最悪なことは、あなたが理解出来ていないうことを自分自身で認識していないということです。 しかし忘れないでください、あなたが実行できないものや知ることができないものは絶対にありません。 ブラックボックスではなく、コードベースは全てオープンにされています。 十分な忍耐強さを持って勉強すれば、全ての問題に対しての解決策を見つけることができます。 既存のコードが役に立たない場合は、既存のモジュールを変更するために簡単なモンキーパッチをあてることができますし、最も極端な状況では全プロジェクトをフォークすることも可能です。

前のトピックへ

序文

次のトピックへ

この文書を書いて更新するには

このページ