我们目前正在评估Sitecore 6的项目开发。客户已经购买了它,因此使用其他CMS不是一种选择。建议的设置将Sitecore作为我们网站的内容数据提供商;这将由ASP.Net MVC 3中构建的站点使用。我们使用Sitecore的库从服务器端的Sitecore数据库中检索数据。
在某些情况下,我们也可能希望通过客户端AJAX调用来使用内容数据。我一直在研究原型,看看我可以从自定义代理服务中获取哪些数据。此服务调用项目上的GetOuterXml,将Xml转换为JSON,并将JSON发送回调用脚本。到目前为止,我发现使用这种方法限制;因为看起来GetOuterXml只返回在特定项目上设置的字段的字段和值,例如忽略模板的标准值字段及其默认值。我试过Item.Fields.ReadAll(),仍然不会返回标准值。另外,Item图中有循环引用(item.Fields [0] .Item.Fields [0] ...);这使得序列化非常困难,而不必写完全自定义的东西。
毋庸置疑,我在这条特殊的道路上遇到了许多路障,我绝对倾向于以Sitecore的方式做事。但是,我的团队真的想在这个项目中使用MVC;所以在我推迟这个之前,我觉得我有责任做一些尽职调查并联系社区,看看是否有其他人尝试过这个。
所以我的问题是,作为Sitecore开发人员,您是否曾在客户端和/或服务器端使用Sitecore作为纯粹的内容数据提供商?如果有,您是否遇到类似问题并且能够解决它们?我知道以这种方式使用Sitecore;你失去了许多功能,如内容路由/别名,OMS,渲染和布局引擎;等功能。我并不是说我们肯定会走这条道路,我们只是处于使用Sitecore的R& D阶段,并确定我们的团队和我们的开发实践将如何最好地利用它。非常感谢任何建设性的意见。
干杯, 弗兰克
答案 0 :(得分:5)
我没有尝试仅将Sitecore作为数据提供者使用的经验,但我对你所建议的内容的第一反应是不要!
Sitecore提供极其丰富的功能,可直接集成到ASP.Net中,并在Sitecore UI中进行配置。剥离它并在MVC中重建它并没有像重新发明汽车那样重新发明轮子。
我认为在6.4中你可以将一些MVC与Sitecore一起使用,这样你就可以为你的同事提供一个解决方案。