問題タブ [transmogrifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plone - Ploneなしのtransmogrifier
ploneの外でc.transmogrifierを使用したいのですが。Ploneに依存しないことからどれくらい離れていますか?
実際、トランク内にplone関連のインポートとploneのみに固有のコードはほとんど見られないため、実行可能と思われます。
これを取得するためのロードマップまたはToDo/アドバイスリストはありますか?
plone - quintagroup.transmogrifierの汎用セットアップインポートを使用してデフォルトページを設定すると、器用さで機能しません
quintagroup.transmogrifierコンテンツインポートプロファイルを使用して、自動テスト用のコンテンツをロードしています(非常に便利です)。デフォルトページの設定は機能していないようです。
ドキュメントは、quintagroup.transmogrifierがデフォルトページの設定をサポートしていることを示唆していますが、一般的なセットアップのインポート手順をサポートしているかどうかはサポートしていません。最終的に、次のように、properties.xmlファイルをfolderishアイテムのフォルダーに追加する必要があることがわかりました。
ここで、インデックスはデフォルトページのIDに置き換えられ、import.cfgでも必要です。
ただし、これは機能しません。Plone 4.1rc3 + Dexterity 1.0を実行していますが、おそらくDexterityと互換性がありません。quintagroup.transmogrifier.propertymanager.PropertiesImporterSectionのコードの一部を追跡しました。
ここで、pathはUnicode文字列であり、unrestrictedTraverseはNoneを返します。バイト文字列を使用すると、正しいオブジェクトが返されます。これは敏捷性との非互換性ですか、それとも私は何か間違ったことをしていますか?
plone - 代替トランスモグリファイア _path を指定する最も簡単な方法は?
私は Collective.transmogrifier でコンテンツの移行を行っており、transmogrify.filesystem でファイル システムからファイルを読み取っています。ファイルを「そのまま」インポートする代わりに、Plone のサブディレクトリにインポートしたいと思います。_path を変更する最も簡単な方法は何ですか?
たとえば、以下が存在する場合:
- /var/www/html/bar/index.html
次の場所にインポートしたい:
- /Plone/foo/bar/index.html
つまり、「baz」の内容をサブディレクトリ「foo」にインポートします。2 つのオプションが表示されます。
- _path をマングルするために、collective.transmogrifier でいくつかの設計図を使用します。
- 設計図を mangle _path に書きます。
私は何か簡単に見逃していますか?
plone - Transmogrifier で大量のコンテンツをインポートするときにトレースバックを処理する方法は?
大量のコンテンツをインポートする場合、特定のコンテンツで発生する可能性のあるトレースバックやその他の障害を無視して、「続行」すると便利な場合があります。
これを簡単にするための Transmogrifier の一般的なメカニズムはありますか? 私が見ることができる唯一のアプローチは次のとおりです。
- 必要に応じて試行/除外するカスタム ブループリントのみを使用してください。
- ラッパーを使用してパイプラインを実行し、ソース ブループリントの入力を毎回 1-after-the-failure に変更します。
これらはどちらも特に便利でも望ましいものでもないので、私の質問です。
plone - transmogrifier を使用して AT フィールドにデータを追加する
次のようなデータの CSV ファイルがあります。
そして、次のように更新する必要があるいくつかの Plone オブジェクト:
したがって、明確にするために、ID を持つオブジェクトa
は CSV の 1、2、3 行目に名前が付けられているため、LinesField
オブジェクトのプロパティにa
はこれらの行 ID (行の最初の番号) がリストされている必要があります。
理想的には、Transmogrifier を使用してこの情報をインポートしたいと思います (事前に Excel で操作を行うことは避けます)。理論的には 2 つの方法がありますが、実際にこれを行う方法はわかりません。例へのいくつかのポインタに感謝します。アイテムが Plone オブジェクトの構造を反映するようにパイプライン全体を変換してから、ATSchemaUpdater ブループリントを使用する必要があると思いますが、パイプラインにアイテムを追加する方法の例が見当たりません (必要ですか?独自の設計図を作成しますか?) または、代わりに、アイテムが存在するときにループして、左側の列の値を右側のリストのアイテムに追加することもできます。そのためには、値を上書きするのではなく、ATSchemaUpdater で値を追加する方法が必要です。繰り返しますが、そのための青写真はどこにありますか?
サンプルの csv 行を次に示します。
Plone オブジェクトはテーマになり、行フィールドは名前のリストになります:
import - transmorgrifierを使用してコンテンツをインポートした後の本文テキストの生のHTML
私はtransmorgrifierレシピを使用して、drupalからPlone4.1ベースのビルドアウトにいくつかのデータをインポートしています。ビルドアウトはhttps://github.com/claytron/drupal-plone-transmogrifierに基づいています(ほとんどの場合、4.0ではなくplone 4.1を使用するように更新しました)。インポートは機能し、drupalサイトからploneサイトにデータを正常にインポートしました。唯一の問題は、インポートされたhtmlからのhtmlタグがリテラルタグとして表示されることです。
インポートが成功した後、手動で各アイテムに移動して[編集]を選択し、[保存]をクリックすると、htmlが正しく解釈されますが、問題を解決するために多くの編集と保存が必要になります。
htmlタグが表示された新しくインポートされたコンテンツのスクリーンショットを参照してください。
フィールドの実際のインポートを行う青写真は(私は信じています)以下に示すものです:
ブループリントでtext/htmlの代わりにtext/structureを使用して実験しましたが、同じ結果が得られました。
必要なのは、htmlを解釈するための追加の青写真か、インポート時にhtmlが確実に解釈されるようにするためのヒントです。
私のパイプラインで使用されているブループリントの完全なリストをここに示します: https ://github.com/claytron/drupal-plone-transmogrifier/blob/master/src/my.migration/my/migration/config/base.cfg
plone - Zope2 XML-RPCとATイメージミューテーター間の相互作用が悪いですか?
私はmr.migratorのデモを作成していて、ここで紹介されている厄介な問題に遭遇しました:
このコードは、画像フィールドに画像からのデータを入力する必要がありますが、代わりに次の場合に一貫して失敗します。
さらに悪いことに、これはZope2が言うすべてです。フォアグラウンドでPloneを実行しているときに問題を示すトレースバックやその他のものは見当たりません。
私の次のステップは何ですか?ここでこれをチェックアウトして再現できます:
私はこれを「通常の」方法で行い、キーワード引数をinvokeFactoryに渡しますが、XML-RPCはそれらをサポートしていません。
plone - trasmogrifierステップで文字列をDateTimeに変換する方法は?
変換中に文字列を DateTime に変換する必要があります。このようなもの:
どうすればこれを達成できますか?
plone - quintagroup.transmogrifierを使用してPloneFormGenフォームを含むフォルダーをインポートする
多くのPloneFormGenフォルダーを含む1つのフォルダーを1つのploneインスタンスから別のインスタンスに移行しようとしています。tarボールとログファイルから確認できる内容に基づいて、エクスポートは正しく行われているように見えますが、portal_setupの新しいインスタンスに上記のtarボールをインポートしようとすると、何も作成されず、これが唯一の出力になります。
同じマシン(CentOS 5.5 / Python 2.6.6)でフォルダーをPlone4.0.2インスタンスからPlone4.1.3インスタンスに移行しています。私が使用したプロセスについては、このブログ記事で詳しく説明しています。
任意の提案をいただければ幸いです。
python - Transmogrifierを使用してPloneにコンテンツをアップロードする際の不正な例外
トランスモグリファイアパイプラインを実行し、新しいオブジェクトを作成すると、特定のコンテンツタイプ(「ドキュメント」など)の作成時に不正な例外が発生しplone.app.transmogrifier.atschemaupdater.py
ます。この呼び出しで発生します。event.notify(ObjectInitializedEvent(obj))
コンソールにスタックトレースがないため、非常に煩わしいです。「イベントをサブスクライブする」動的関数を実行する内部のPloneおよびZope呼び出しが多数あるため、デバッグも困難です。これまでのところ、PDBでこのスタックトレースを取得しました。
これまでの私の回避策は、パイプラインを実行する前にzope.event.notifyをno-opにモンキーパッチすることでしたが、それは明らかにそれを行う方法ではありません。
注意:ビューのコード内の関数を使用してトランスモグリファイアパイプラインをトリガーします-(もちろん、ビューをサイト管理者としてロードします)。