2

私は quintagroup.transmogrifier を使用しており、'import.cfg' パイプラインで提供したいと考えています。通常、overrides.zcml には次のようなものを入れます。

<include package="collective.transmogrifier" file="meta.zcml" />
<transmogrifier:registerConfig
    name="import"
    title="Import pipeline configuration"
    description="My custom import pipeline."
    configuration="import.cfg"
    />

overrides.zcml の使用は推奨されないという指摘が何人かありました。さらに、テストで overrides.zcml をロードする際に大きな問題が発生しています。構成エラーが重複するなどのエラーが発生します。私の質問は、overrides.zcml を使用せずに (自分のパイプラインを提供するという) 自分のタスクをどのように達成するかということです。

4

1 に答える 1

2

非推奨の理由は、overrides.zcmlそれらをロードするためにいくつかの黒魔術が行われるという事実に起因すると思います(p.a.testingセットアップで複製する必要があります)。これはおそらく、スタートアップルーチンでzopeサーバーによって行われます。

残念ながら、私はconfiguration_registry(にありcollective.transmogrifier.transmogrifier、グローバルです)に直接アクセスするよりも良いことは何も知りません。直接呼び出すregisterConfigと、それをオーバーライドできるはずですが、を使用するよりも汚いですoverrides.zcml

別の方法としてzope.configuration、コードを介してオーバーライドを実行できるかどうかを調べている可能性があります...

于 2013-03-12T13:04:13.090 に答える