12

在我们正在开发的许多项目中,我们需要在站点的后端拥有CMS功能。另一方面,我们不希望或不能提交完整的前端解决方案。 为了解释这更好:没有前端的CMS?

  • CMSes像JoomlaDotNetNuke完成网站的解决方案,他们让你存储和发布数据。如果您只需要存储数据并以自定义的方式检索数据,则它们根本不友好。他们不是我们正在寻找的 - 我认为他们不应该被称为CMS,因为他们更多!

  • CMSes像Umbraco看起来不错,但同样,如果你想在一个自定义的方式来使用这些数据,他们不是非常灵活的。 Umbraco为您提供了在运行时访问数据的API,而我也对使用静态发布功能感兴趣的可伸缩性感兴趣。

为了让一对夫妇更适应症:

  • 如果它有一个插件系统,它可能不是我所期待的...
  • 如果它不能静态和动态发布(认为​​XML文件或HTML文件和API),它可能不是我所期待的...
  • 跨数据库将是巨大的,但它不是绝对必要

CMS不需要免费,但我们必须能够拥有完整的源代码。至于平台,我们需要主要针对.NET和LAMP的解决方案。

我已经知道CMS Matrix这个网站,但是它的CMS定义包含了太多的网站解决方案,所以我没有足够的信噪比来找到我需要的东西。

编辑:要清楚:我不想写一个CMS使用某种框架。我想要一个可以存储具有典型CMS功能(wysiwyg编辑器,版本控制,工作流等)的异构数据的解决方案,并提供发布此数据的功能。

+0

RedDot是什么使它成为最佳答案?我必须选择一个后端CMS,我想听听你的项目是如何进行的。 – Task 2010-11-26 14:50:55

回答

5

对于Java解决方案,Apache Jackrabbit可能对您有用。来自链接:

Apache Jackrabbit是完全符合Content Repository for Java Technology API(JCR)的实现。内容存储库是一个分层内容存储,支持结构化和非结构化内容,全文搜索,版本控制,事务处理,观察等。使用内容存储库的典型应用包括内容管理,文档管理,记录管理系统

它一直在我看来,作为建筑后端到CMS类系统的一个组件库。

+2

要使用JCR构建Web应用程序(如CMS)(例如,Jackrabbit),您应该看看Apache Sling(http://incubator.apache.org/sling/),它非常酷,除了写入Java并基于OSGI,它允许您使用任何脚本语言。 – 2008-10-26 18:41:20

0

所以基本上你不会对CMS商店前面的东西感兴趣,可以这么说。好吧,一步进里屋...我转体这个活动墙......,我会告诉你不同的东西:

​​

在所有的严重性,我修修补补这个框架2年或3年前。我无法担保,因为我从未在任何项目中使用过它,但它很有趣。

PS - 这是该位的radicore网站,在我的大脑连接,也许它的这种事情至少检查出:“View组件是通过预建的收集管理可生成所有HTML输出的可重复使用的XSL样式表。

+0

它似乎根本没有后台办公室? – Sklivvz 2008-09-20 09:29:44

4

我已经在几个站点上使用了N2。它是完全开源的,我认为它可能适合您的数据需求。您基本上创建了模型化数据的C#类,然后构建自己的前端模板以在网站中显示数据。

在后端,您创建的数据类型可以通过所见即所得的管理区完全编辑。

不知道它是否会满足您的发布要求,它是基于数据库的,我不需要尝试通过管理界面以外的任何其他方式进行更新。

1

你看过Alfresco?它主要面向企业市场(它是用Java编写的),但它在内容部署方面似乎提供了一些灵活性。来自网站上的营销副本:

网站发布支持 多层部署体系结构。 内容可以事务性地部署到静态内容服务器 或 Alfresco运行时存储库 为您的Web场提供灵活的完整架构 。

另外的内容被存储在像通过上文jamesh提到的一个JSR-170兼容存储库。这将允许您以编程方式访问存储库中的内容。

1

您可以使用Microsoft Office SharePoint Server 2007(MOSS)。您可以优化SharePoint系统以创建内容,然后使用对象模型或Web服务来提取内容并在任何平台上以任何语言编写您的网站。 SharePoint具有丰富的内容编辑,列表,工作流程等。

1

Tridion非常适合您的描述,除非您不会获得它们的源代码。如果这对您而言是一种破坏行为,请随时忽略此答案。 (OTOH - 这会引发一个问题:“为什么这是一个破坏交易的行为?”可能你不希望信息来源用你的墙来装饰你的墙,你会用它来做什么?)

Tridion的内容管理子系统在Windows Server上运行。内容交付子系统运行在Java和.NET上(加上普通的旧ASP,如果这有所影响的话)。

所有你期望一个CMS有东西在那里外的开箱,(所见即所得的编辑器,版本控制,工作流程等.. +出版)

1

来不及回答? :-)

为了跟进Dominic的回答(声明:我的公司使用Tridion),Tridion将内容作为XML存储在其数据库中,并可以以各种格式发布,包括XML,HTML,其他基于文本的文件,通过API访问前端的“代理”数据库。 .NET代码可以实例化代理对象,并根据与其关联的元数据查询内容。最新版本(2009年和2011年)更好地访问元数据和类别(又名“分类法”)。

将内容与模板分开,这意味着您可以在不同网站上将相同内容呈现为静态页面,RSS源或通过API提供,甚至可以本地化为一种语言(我的团队没有尽可能多地使用该特征)。

封闭源代码,但我们可以访问文档,有一个活跃的论坛,任何人都可以向代码库贡献“扩展名”以添加生成的PDF,链接到Google地图等功能。我们选择了它出于同样的原因 - 很多CMS都有“盒内网站”。我们只是希望开发者能够从中取得某些东西,或者替换一些HTML页面或XML,而不是接管我们的网站。