2012-03-31 84 views
0

我有一個獨特的需求,我需要與sitecore見面,我想知道它是否可行。客戶端有一個現有的.net解決方案,它是構建在Spring框架和商業服務器上的一個Web項目(網站,而不是Web應用程序)。他們現在希望使用sitecore在其「某些」頁面上啓用內容編輯。他們的要求是他們不想維護sitecore中的主頁和任何常見項目,但他們希望sitecore能夠使用主頁和他們在自定義解決方案中的所有控件。我已經檢查了他們的項目,並且他們對許多其他引用和項目都有依賴關係,所以它不是一個相當簡單的應用程序。他們不希望在sitecore中專門擁有主頁面,他們只希望爲主要內容編輯提供sitecore。他們基本上希望sitecore中的所有佈局使用他們的母版頁。我嘗試過使用虛擬目錄,然後在sitecore中使用母版頁,但他們的項目中存在太多依賴項。我試圖在自己的目錄中使sitecore成爲一個應用程序,但它似乎不能很好地工作。我可以儘可能多地合併web.configs,但是當它升級的時候會導致頭痛的問題...我的更高層次的問題是,這是否可行,以及是否有辦法我可以滿足這個要求。合併sitecore項目與另一個.net項目

回答

1

最初的想法是,在Sitecore中使用母版頁是一個非啓動器的位。有這樣的要求似乎很奇怪,並且已經規定了Sitecore。

想到三個想法。

1)考慮保持解決方案的獨立性,並將某些Sitecore頁面託管在乾淨,標準的Sitecore解決方案中。使用負載平衡器來指示哪個url指向哪裏。這種方法可能會對會話等產生很多副作用。

2)將現有解決方案遷移到Sitecore,使用Sitecore佈局和子佈局替換母版頁。同時,遷移到Web應用程序項目。這很可能是最好的長期方法。主要的挑戰是將現有內容映射到Sitecore中的一組模板以及各種重構。

3)使用Sitecore作爲內容存儲庫,但提供來自您現有網站解決方案的內容。由於缺少一個典型的Sitecore項目,網站&域上下文將全部需要由自定義代碼處理,這將會產生許多複雜因素。解決方案可以完全分開,甚至可以使用Web服務從現有解決方案提供的Sitecore中檢索內容。它可以完全分離,但是你會丟失大量的Sitecore功能,並最終產生昂貴的富文本編輯器+數據庫。

我會盡可能選擇#2。

1

我想我可以看到如何做到這一點的幾個選項。目前我正在做一個類似的大型企業項目,其中有一個現有的ASP.NET MVC應用程序運行大部分站點。下面是我能想到的一些選項:

  1. 使用子域名在Sitecore的內容Sitecore的專用材料和或做一個HTTP GET到Sitecore的頁面和內容拉入現有的應用程序。例如。 sc.mysite.com是Sitecore應用程序。我目前正在使用MVC來做這件事,那很好。從內容管理POV,編輯者仍然可以在獨立狀態的Sitecore頁面上使用「頁面編輯」模式,但內容在主MVC站點上處於饋送狀態。

  2. Sitecore可以使用MasterPages,它只是擊敗了Sitecore表示層的目的。從本質上講,你可以讓你的Sitecore佈局繼承自MasterPage,它的工作原理與任何普通的應用程序都可以繼承一樣。雖然我不確定緩存的含義。只要您的應用程序引用Sitecore程序集,就可以使用API​​,只要它是Sitecore上下文的一部分即可。如果你使用MasterPages與Sitecore的,一定要添加一個佔位符的關鍵webedit允許網頁編輯工作:<sc:placeholder key="webedit" runat="server" />