我正在构建一个非常简单的网络托管服务,它将迎合 ma 和 pa 类型的小型企业。
现在我的困境是我应该从头开始构建它还是使用现有的 CMS。CMS 需要可定制,因为我希望构建自己的客户端。我只希望用户必须输入标题和内容。其他所有内容都将对最终用户隐藏。
稍后我希望能够将我自己定制的 Web 应用程序与给定的页面相关联,因此 CMS 需要能够满足这一点。
另一个要求是它需要基于 Java(Groovy 可接受)。
有任何想法吗?
我正在构建一个非常简单的网络托管服务,它将迎合 ma 和 pa 类型的小型企业。
现在我的困境是我应该从头开始构建它还是使用现有的 CMS。CMS 需要可定制,因为我希望构建自己的客户端。我只希望用户必须输入标题和内容。其他所有内容都将对最终用户隐藏。
稍后我希望能够将我自己定制的 Web 应用程序与给定的页面相关联,因此 CMS 需要能够满足这一点。
另一个要求是它需要基于 Java(Groovy 可接受)。
有任何想法吗?
一旦您开始执行用户身份验证、安全性、可扩展性等操作,即使是“简单”的 CMS 也是一个相当复杂的应用程序。您可能会犯很多错误。那里的主要 CMS 存在许多维护问题和安全漏洞,并且有相当多的人才在从事这些工作。如果您认为您的 CMS 会有所不同,我建议不会。您将需要不断更新和维护它。如果您使用现成的解决方案,您应该能够从其他开发人员所做的工作中受益。如果您想编写自己的代码,请考虑定制现成的 CMS 或贡献新功能或错误修复。
自己的内容管理系统:
现成的 CMS:
考虑每个网站面临的典型安全问题:XSS、CSRF、SQL 注入、配置错误、松散的安全性、会话劫持、参数验证错误、竞争条件等。您需要处理所有这些情况,但 CMS 供应商已经为你做那件事。
至于您的 Java 要求,Resin Web 服务器附带一个 PHP 解释器,如果您选择 PHP CMS,它可能允许您在 Java 中部署 PHP 应用程序。也应该可以在几个小时内将 PHP 引擎移植到另一个 servlet 容器(我认为它是 GPL)。
您绝对应该学习现有的 CMS。从头开始创建一个将满足您的需求。基于他人积累的经验,具有实时社区(例如 drupal 或 django)的现有 CMS 将出售基金会。
这样做将有助于跳过创建 CMS 的常见错误,并让您专注于功能和制作产品,而不是构建框架。
查看 Alfresco 社区版,它是基于 Java 的,它是第一个与 CMIS 1.0 兼容的版本。您可以在其上构建 Web 客户端/应用程序。它有ftp、webdav、cifs、http接口。
我无法想象没有适合这些要求的现有 CMS。虽然不会为你做研究;-)
如果您想弄清楚一些 Java EE 技术方面或优点/缺点,最好编写自己的 CMS 来练习。
但在您这样做之前,请通过一些现有的 CMS 来创建优缺点列表。
所有现有的 CMS/框架/任何东西都不能很好地解决您自己的问题,但它们通常太大而无法涵盖尽可能多的情况。
还有一件事要考虑。您希望您的 CMS 在 Google App Engine 上运行良好吗?