我们正在做一个应用程序,它将该Feed中的Feed和项目提供给我们自己网站上的实体。这应该是一个任何人都可以注册的开放网站。所有这些都是通过MVC + knockoutjs完成的。我们正在考虑使用Sharepoint 2013从该站点管理实体,实质上替换这些实体的SQL表,并将它们放入Sharepoint实例中的列表中。我们也在考虑为用户和密码等做同样的事情。然后我们可能会为我公司制作的任何其他网站设置单点登录。目前我们正在使用NHibernate和SQL服务器。
我们是否天真地认为Sharepoint可以处理流量,外部用户使用我们的网站以及客户。我听说它是doable,我只是想知道这是否是一件聪明的事情,如果有恐慌,那么你们中的任何一个人都会试图这样做。
答案 0 :(得分:1)
我们在Sharepoint-as-a-development-platform路径上走得很远,最终最终废弃了我们所做的并用其他技术重写它。这并不一定意味着它不适合您的情况,但有一些事情需要考虑:
最终,我们失败的原因是我们在“轻松”开发的承诺之后沿着这条路走下去,而没有真正致力于产品。当我们开始遇到问题时,我们一直在努力解决诸如故障排除之类的基础问题,因为我们失去了几个关键人物,我们的常规开发人员和管理员都在努力弄清楚发生了什么。如果我们有合适的人选,我们的经验可能会有所不同。但是,我们没有选择退出Sharepoint并在我们的标准MVC / SQL平台上重建。
答案 1 :(得分:0)
SharePoint在很短的时间内已经走过了漫长的道路,允许外部应用程序以您描述的方式与其进行交互。除了SharePoint 2013之外,我不会尝试使用其他任何东西,主要是因为许可允许这样做而不需要每个用户额外的成本,部分原因是我接下来提到的内容在2010年或更早版本中不可用。
您可以使用MVC / knockout前端但是,除非您将每个用户都配置为SharePoint用户帐户,否则SharePoint模板的MVC应用程序并不完全符合您的要求。该模板仍然是一个SP应用程序,这意味着它由SP用户运行。我将SharePoint视为您的应用写回的OData服务。您可以使用客户端对象模型(SCOM)并直接回写(每个用户都作为SharePoint用户存在),或者您可以代理来自MVC控制器的数据访问,并使用“服务”SP用户使用SCOM连接到SharePoint 。 SCOM只是REST和OData,因此您可以使用您选择的任何支持Web的语言。我知道有C#和JavaScript(node.js)的例子。可能还有其他人。
如果您预计会有大量的内容,我建议您尽可能在SharePoint Online(Office 365)上托管此应用程序,并将其配置为与您的其他环境联合。这样,您只需在数据增长时添加更多空间(而不是随着负载增长而增加越来越多的服务器)。
以下是您可以使用的API的概述: http://msdn.microsoft.com/en-us/library/office/jj164060.aspx
SharePoint 2013开发人员中心: http://msdn.microsoft.com/en-us/library/office/jj162979.aspx
关于SharePoint 2013 SCOM的5分钟视频: http://www.microsoft.com/office/preview?videoid=1e859ac8-58ca-46d0-a8e0-00f4189761a8&from=sharepermalink-link
答案 2 :(得分:0)
没有必要重新设计您的应用程序,仅用于使用sharepoint列表替换数据库表。表现是一个问题。 Sharepoint列表限制是另一个问题,您将失去关系数据库设计的灵活性,并将您的生活赋予称为sharepoint list的黑盒设计。