背景:私は、Slingで実行されているWebサイトの検索エンジンサイトマップを実装する任務を負っています。このサイトには複数の国固有のサイトがあり、すべての国固有のサイトは複数のローカリゼーションを持つことができます。たとえば、http://ca.example.com/frは、カナダのサイトのフランス語にローカライズされたバージョンであり、次のようにマップされます。 / content / ca/fr。このコンテンツ構造を変更することはできません。残念ながら、国とローカリゼーションノードの両方が同じsling:resourceType
です。また、管理タイプでは、国のサイトごとに1つではなく、国とローカリゼーションのペアごとにsitemap.xmlが必要です。
サイトマップの生成は簡単な作業です。私の問題は、国とローカリゼーションのペアごとに「サイトマップ」ノードが必要なことです。国とローカリゼーションノードが追加された(そしてそれらが同じリソースタイプを持っている)ため、現在は考えられません。サイトマップノードを追加するための優れた自動化された方法。
/{country}/{localization}/sitemap.xmlのリクエストを処理スクリプトにマップする「仮想リソース」をなんとかして定義できればいいのですが。私はブラウジングしていて、にぶつかりましResourceProvider
たOptingServlet
が、絶対パスにかなり焦点を当てているようです-または既存のリソースにセレクターを追加することは、私にはオプションのようには思えません。
これを処理するための多かれ少なかれクリーンな方法がある場合、何かアイデアはありますか?新しい国/ローカリゼーションの追加は毎日行われるわけではありませんが、「サイトマップ」ノードを手動で追加する必要があることは、依然として最適なソリューションではありません。
Slingリゾルバーを使用する代わりに、サイトマップを1日にX回更新し、sitemap.xmlノードをJCRの単純なファイルリソースとして生成するサービスを実行する方がよいかどうかを検討してきました...しかしそのルートに行く前に、フィードバックをお願いします:)
編集:
要件が変更されたことが判明し、ローカリゼーションごとにサイトマップを構成できるようになりました。これにより、作業が簡単になり、Slingに対抗する必要がなくなります:)