私はAEM 5.6から6.2のアップグレードプロジェクトを進めています。 aem 5.6環境には、無効な文字が含まれているノードがいくつかあります(rte [2]のようなJCR命名規則は、命名規則に従わないノード名の1つです)が、どういうわけか5.6環境でそれらのノードを複製できます。それをaem 6.2にアップグレードした後は、JCRがより制限されているように見え、無効な文字がある場合、ノードが複製を許可しないように見えます。 エラー:com.day.cq.replication.ReplicationException:ノードインポート中のリポジトリエラー:インデックスを含む名前を使用して新しいノードを作成できません AEMを設定する方法はありますか6.2では、JCRノード名のチェックやその他の解決策を停止しますか?aem-6-2-node-containing-invalid-jcr-namesの複製の問題
答えて
有効な文字として[
を許可していないため、簡単な回避策はありません。それは同じ名前の兄弟のような限界の一つです。
6.2にアップグレード/移行する前に、これらのノードを変更することをお勧めします。これはビジネスにとって複雑でコストがかかるかもしれませんが、6.2ではそれが許されません。
背景として、同じ名前の兄弟のための文法構文のためのねじれたサポートのため、古いバージョンで許可されました。
これらはすべて、AEM 5.xですぐに使用されるものではないため、すべてのコンテンツノードであると仮定して、この命名規則に従います。
それを修正するにはいくつかの方法:
- は、すべての参照間でパスを照会し、名前を変更するカスタムサーブレットを書きます。これらの名前の変更については、コンテンツをテストする必要があります。
- ノードの名前を変更するには、Groovyコンソール(https://github.com/OlsonDigital/aem-groovy-console)を使用します。
どちらの場合でも、構造体がオークに準拠しないため、移行前にノードを変更する必要があるため、crx2oakコミットフックも使用できません。これは、インプレースアップグレードとサイドバイサイドマイグレーションの両方で実行できます。これは、マイグレーションの前に修正しなければならない同じ名前の兄弟の問題に似ています。
- 書き込みクエリは/コンテンツ/個人用サイト-、/コンテンツ/個人用サイト-Bなどしないでくださいのようなトップレベルのノード上の無効なノード名を検索する:
役立つかもしれないいくつかの効率技術
/contentにルートレベルのクエリを実行して、 のトラバーサルにダウングレードし、実行を停止します。 - すべての参照が同じコミットで更新されていることを確認してください。カスタムサーブレットを使用している場合は、すべてのノード名とそれに対応する参照を更新した後でsession.save()を呼び出します。私はコメントで言及したよう
は、このレプリケーション障害があるため
//handle index if (oakName.contains("[")) { throw new RepositoryException("Cannot create a new node using a name including an index"); }
以下のコードスニペットとしてオークワークスペースの制限の原因と私はあなたがそれを必要に応じて、この制約を免れることはできないと感じ一貫性
を維持するためのリポジトリでは、クエリ
以下による 「[」で終わるのノードを、見つけることができますSELECT [jcr:path] FROM [nt:base] WHERE ISDESCENDANTNODE('/content/path/') AND [jcr:path] like '%\['
、あなたがCURLまたはSlingPostServlet方法
いくつかの有用な記事が打撃されているを使用することができますJCR/CRXノードを変更するには。
https://github.com/paulrohrbeck/aem-links/blob/master/curl_cheatsheet.md http://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html
あなたの助けてくれてありがとう。ちょうどあなたがクエリに基づいてノードの名前を変更することができるcurlコマンドを知っているのだろうか? – Arpit
- 1. 複製問題
- 2. SQLスクリプトの問題 - 複製
- 3. 連絡先。問題の連絡、複製、
- 4. mysql DBを複製する問題
- 5. フラット製品の問題
- 6. 複製時の3Dビューポートのjqueryの問題
- 7. MySQLのビューで複製の問題を削除する
- 8. レポを複製した後の依存性の問題
- 9. ロゴを複製する際のCSSスタイリングの問題
- 10. マウスイベントでドラッグ&ドロップを複製する際の問題
- 11. Java Appのロードに関する問題 - 複製方法
- 12. Railsの問題Content_for/yield - 複製されたコンテンツ
- 13. CouchDBデータベースをIBM Cloudantに複製する際の問題
- 14. ウェブサイトの移行に関する問題 - 複製 - cloudflare - gandi
- 15. Magentoの製品ビューのjQueryの問題
- 16. 製品の結合問題の取得
- 17. 自家製のインストールの問題(homebrew.devcmdrun)
- 18. CodeJam最小スカラー製品の問題
- 19. Wooccomerce変数製品の問題
- 20. Magento輸出製品の問題
- 21. アップグレード角5 - 製品ビルドでの問題
- 22. Magento 1.7製品の再インポート問題
- 23. Mysql mysql(all)データベースを複製する - 奇妙な問題
- 24. divを複製する際に問題が発生する
- 25. 問題のユーザーを複製するアンドロイドアプリファイルのユーザーとグループを変更する
- 26. Angular2/Nativescript:NativescriptのListViewを使用してHTMLテーブルを複製する際の問題
- 27. Ember.jsのブートストラップでチェックを複製するチェックボックスで問題が発生する
- 28. 複数のヘッダーの問題
- 29. 複数のスクリーンの問題
- 30. 複数のNSManagedObjectContextの問題
あなたの代わりに、レプリケーションの同じノード・フィルタのパッケージのインストールを試してみましたしましたか? – VAr
はい私も試したことがあります...もし私たちがaem 6.2に直接コンテンツパッケージをインストールすると、無効なjcr名を持つノードをスキップします。 – Arpit
オーク・ワークスペースの制限のために** if(oakName.contains( "[")){throw new RepositoryException( "インデックスを含む名前を使用して新しいノードを作成できません"); } **と私はあなたがこの制約から逃れることができるとは思わない。 – VAr