2012-03-31 7 views
0

私はsitecoreで満たす必要のある独自の要件があり、実現可能かどうかは疑問でした。クライアントには、既存の.netソリューションがあります。これは、Springフレームワークおよびコマースサーバー上に構築されたWebプロジェクト(WebアプリケーションではなくWebアプリケーション)です。彼らは今、自分のページの「一部」のコンテンツ編集を可能にするためにsitecoreを使いたいと思っています。必要条件は、マスターページと一般的なアイテムをsitecoreで維持したくないということですが、sitecoreがマスターページとカスタムソリューションで持っているすべてのコントロールを使用できるようにする必要があります。私は彼らのプロジェクトをチェックしましたが、多くの他の参考文献やプロジェクトには多くの依存関係があり、とても単純なアプリケーションではありません。彼らはマスターページを特にサイト内に置くことを望んでおらず、主なコンテンツ編集のためのサイトコアしか必要としません。基本的には、sitecoreのすべてのレイアウトでマスターページを使用する必要があります。私は、仮想ディレクトリを使用してみて、その後、sitecoreでマスターページを使用しようとしましたが、プロジェクトにあまりにも多くの依存関係があります。私は自分のディレクトリ内でアプリケーションをsitecoreにしようとしましたが、うまく動作しないようです。私は可能な限りweb.configsをマージすることができますが、それはアップグレードの時間が来たときに頭痛の原因になるでしょう...私のより高いレベルの質問は、このdoableであり、方法があれば私はこの要件を満たすことができます。sitecoreプロジェクトと別の.netプロジェクトをマージする

答えて

1

最初の考えでは、Sitecore内のマスターページを使用することは、非スターターのビットであるということです。このような要件があり、Sitecoreに既に規定されていることは奇妙に思えます。

3つのアイデアが思い浮かぶ。

1)ソリューションを別々にして、特定のSitecoreページをクリーンで標準的なSitecoreソリューションでホストすることを検討してください。ロードバランサを使用して、どのURLがどこを指しているかを指示します。

2)既存のソリューションをSitecoreに移行し、マスターページをSitecoreのレイアウトとサブレイアウトに置き換えます。同時に、Webアプリケーションプロジェクトに移行します。これは、長期的には最良のアプローチです。主な課題は、既存のコンテンツをSitecoreの一連のテンプレートにマッピングすることと、さまざまなリファクタリングのビットです。

3)Sitecoreをコンテンツリポジトリとして使用しますが、既存のWebサイトソリューションのコンテンツを提供します。これには、典型的なSitecore項目がないために複雑な要因が数多くあります。サイトコード&は、カスタムコードですべて処理する必要があります。このソリューションは完全に別々のものでも、Webサービスを使って既存のソリューションが提供するコンテンツをSitecoreから取得することさえできます。それは完全な分離を提供しますが、Sitecoreの機能の大部分が失われ、高価なリッチテキストエディタ+データベースになります。

可能な場合は#2を選択します。

1

私はこれを行う方法についていくつかのオプションを見ることができると思います。私は現在、サイトの大部分を実行している既存のASP.NET MVCアプリケーションがある大規模なエンタープライズプロジェクトで、今のところ同様のことをやっています。ここで私は考えることができるいくつかのオプションがあります

  1. サイトコアコンテンツでサイトコア専用のものとためのサブドメインを使用するか、サイトコアのページへのHTTPのGETして、既存のアプリにコンテンツを引っ張るん。例えば。 sc.mysite.comはSitecoreアプリです。私は現在MVCでこれをやっています。コンテンツ管理POVから、編集者はSitecoreページ上でスタンドアロン状態のページ編集モードを使用することができますが、コンテンツはメインMVCサイトのフィードイン状態でプロダクションにあります。

  2. Sitecoreは、MasterPagesを使用することができ、Sitecoreのプレゼンテーションレイヤーの目的を破るだけです。基本的には、SitecoreレイアウトをMasterPageから継承させることができます。これは継承を伴う通常のアプリケーションと同様に動作します。私はキャッシングの意味が分からない。アプリケーションがSitecoreアセンブリを参照する限り、Sitecoreコンテキストの一部としてAPIを使用できます。 <sc:placeholder key="webedit" runat="server" />

:あなたはサイトコアとMasterPagesを使用しない場合、あなたはページエディタが動作できるようにするために、キー ウェブ編集でプレースホルダを追加してください
関連する問題