Plone と関連する技術は長い年月をかけて構築されてきました。 コードベースでは6000以上のモジュールで構成されています。 最初に作成した人でさえ、なにかをしようとする時に全てを把握できていません。 長年にわたり同じ機能を実現するのために技術の世代が行ったり来たりして、コードに印を残しました。 HTTP が主流となったときに構築された技術があります。 Python プログラミング言語がまだ若かったとき、その頃は標準ライブラリの機能では足りないために作成された技術もあります。 そして、そのままでは限界に行き当たる可能性があるため、古い手法を置き換える新しい傾向があます。
コードの発展に数百人年の力をかけて開発された総合的な機能のセットは非常に価値のあるものです。 Plone があまり重要ではない問題に対応してしまう傾向があるため、 この包括性は単純なことするために必要以上に難しくしてしまう複雑性を持ってしまいました。
Plone は最も複雑な Python プロジェクトの一つであり、完全にマスターすることができる人はいません。 特に同じこと実現する複数の方法があるとき、全てがどのような相互作用が発生するかを把握することは必ずしも簡単ではありません。 良い文書があるかも知れないし、ないかも知れません。しかし、途方も無い数の要求があるため、たいていは文書を発見することができます。 文書そのものは異なった年代に知識の異なったドメインで提供されています。
なにか問題に遭遇したときには、以下の2種類の方法に頼ることによって直接的な例を発見することができるかもしれません。
根気よく続けてください。 複雑なシステムに対処する、そして技術を管理して危険を最小限にするための時間を確保する必要があることに注意してくだしあ。 最悪なことは、あなたが理解出来ていないうことを自分自身で認識していないということです。 しかし忘れないでください、あなたが実行できないものや知ることができないものは絶対にありません。 ブラックボックスではなく、コードベースは全てオープンにされています。 十分な忍耐強さを持って勉強すれば、全ての問題に対しての解決策を見つけることができます。 既存のコードが役に立たない場合は、既存のモジュールを変更するために簡単なモンキーパッチをあてることができますし、最も極端な状況では全プロジェクトをフォークすることも可能です。