代码之家  ›  专栏  ›  技术社区  ›  Tanmay

与Drupal的Web应用程序集成

  •  5
  • Tanmay  · 技术社区  · 16 年前

    我们想建立一个web应用程序,这是特定于我们的领域,但也包括论坛,博客等在此应用程序。还需要一些Twitter和Facebook的集成点。

    问题是,我们可以扩展Drupal来承载常规模块和web应用程序吗?(将有业务实体及其属性以及从桌面应用程序上载的每日数据) 或者Drupal可以与外部应用程序集成吗?例如,用户和角色需要在两者之间保持一致。我们可能还希望web应用程序中的数据可以在Drupal中搜索。

    我知道这有点模糊,但我不能透露更多。我对内容管理非常陌生,我只是想知道是否有人构建了这种应用程序。

    4 回复  |  直到 16 年前
        1
  •  17
  •   Tim Cooper    13 年前

    我试着改写你写的内容,只是为了让你检查一下我是否答对了你的问题。您基本上需要创建一个web应用程序:

    1. 实现Drupal的一些标准功能
    2. 能够从桌面应用程序上载/下载内容(或数据)。

    如果我没弄错的话,简单的回答是: 是的,你可以用Drupal来做

    现在我们来看一个广泛的例子: -Drupal实际上有数千个模块,因此我希望您只需安装现成模块的正确组合,就可以获得所需的大部分功能。 -与桌面应用程序的交互通常通过 而不是直接查询数据库。Drupal自带一个xmlrpc服务器和客户端,但如果您愿意,可以通过几个contrib模块扩展到SOAP。

    还有一些想法:

    • 如果您选择使用Drupal,并且从头开始,那么您必须意识到您和您的团队将需要花费一些时间和精力来理解Drupal是如何工作的。尽管与帕兰提尔不同,我坚持使用Drupal,但我同意她/他的观点,即 Drupal得到 复杂的 一下子 . 这是你必须付出的代价,以获得一个令人放心的平台 (否则它就不会被用于重新设计 the whitehouse ,我想Drupal也不会连续第二年获得“最佳PHP CMS”奖)。
    • 至少在我看来,Drupal的一个非常好的方面是,您可能需要对现有功能进行的大多数调整也可以通过从自定义模块连接到原始代码来实现。这个IMO是Drupal最大的优势:您永远不必接触其他开发人员的代码来实现您的目标,这意味着-例如-您将能够保持您的核心和contrib模块最新,而不会破坏您可能已经完成的任何定制。
    • Drupal很重。与其他CMS相比,它从您的服务器上消耗了大量的处理能力和RAM,并且-除非您打算拥有一个非常小的站点-我建议将其与nginx而不是Apache一起部署。
    • Drupal站点上开箱即用的用户体验非常差。目前在这方面正在做大量的工作( here 和 here (video) ),但在D7发布之前(很快,但您将不得不等待模块被移植),改进将不可用,因此,如果您网站的管理员不是技术类型的,建议分配一些时间创建管理主题。

    如果您的站点将变得庞大/复杂/具有复杂的业务逻辑和大量功能,那么Drupal可能是一个不错的选择 . 相反,如果你的站点是一个小规模的站点,具有标准功能和一些自定义位,那么Wordpress/Joomla可能会更好地满足你的需求[不是因为它们“功能不太强大”,而是因为在这种情况下Drupal的优势不会被利用,而Wordpress/Joomla更简单的体系结构可能会在这种情况下代表一种优势]

    其他的选择当然是像CakePHP或Django这样的框架,但我想说,IMO是一种完全不同的方法。

        2
  •  7
  •   Community Mohan Dere    9 年前

    简短答复:


    与帕兰提斯相比,我的观点/经历完全相反。现在,我几乎完全与Drupal合作了一年,在两个相当复杂的/企业性的项目中(在对较小的东西进行了几年的“边上”使用之后)。虽然我同意它强加了一些严格的规则(但不是限制!),我认为这是一个优势,因为这些规则给出了明确的指导,并提供了如何做事情的行之有效的方法。帕兰提尔提到的三个部分就是很好的例子:

    • 菜单系统-提供了一个结构良好、有效的调度机制,可以轻松地使用您自己的东西进行扩展,同时提供了极大的灵活性来调整/操作现有/默认路径。(请注意,Drupal中的“菜单系统”表示管理URL空间的整个主题,而不仅仅是通常与该术语相关联的“可见”菜单的子集)
    • 翻译系统-这是相当复杂的,因为国际化很难做到。但它是内置的,再次为如何以通用方式工作提供了明确的指导(尽管相当多的贡献模块存在问题,它们没有以应有的方式使用/支持它)。

    所以总结一下积极的部分 如果我在哪里给出了你发布的粗略的规格,我会说“没问题”,然后去Drupal,相信它将是定制部分的坚实基础,同时提供所有的“标准”,如论坛、博客、推特/脸谱网集成,以及许多其他已经存在的解决方案的形式。(即使这些可能需要一些调整)。


    缺点: 与往常一样,存在缺陷,其中一些缺陷是实质性的,具体取决于要求/情况。

    • 学习曲线——Drupal相当复杂,要“摸索”它的概念需要时间。”正如帕兰蒂尔所建议的那样,玩一周肯定会给你一种普遍的感觉/广泛的印象,但这还不足以让你认真判断它的利弊,因为只有在为它编写代码时,它们才会浮出水面。因此,如果您已经非常熟悉已建立的web开发框架,那么这可能是一个问题。如果你必须学习一种方法,这应该是一个小问题。
    • 数据库限制-从Drupal6开始,数据库支持仅限于MySQL或PostgreSQL,使用Drupal特定的“抽象层”(显然不是一层;)
      Drupal7将转移到PDO,这将(最终)结束这个可疑的状态。
    • this question & answers )

    这些是我的主要建议,但你可能会发现更多:)

        3
  •  3
  •   Palantir    16 年前

    我广泛使用drupal工作了一年多,但最终放弃了它。Drupal和其他CMS系统都有非常严格的限制和规则。我会将Drupal用于需求简单、业务规则很少或没有业务规则的项目。当你想做复杂的事情时,Drupal几乎立刻变得复杂起来(如果你需要多语言,尤其要注意菜单系统、表单和翻译系统)。

    如果您的系统真的很大,包含您提到的所有内容,那么我宁愿使用PHP框架来实现您的业务逻辑,并根据需要集成外部产品(论坛、博客、twitter客户端等)。

    但建议是:不要相信任何人:)下载它,玩一周。你将能够下定决心,对自己的选择更加自信!

        4
  •  0
  •   Andrew Grothe    16 年前

    由于Drupal是开源的,所以您可以根据自己的意愿使用它。不过有两点:

    Drupal几乎拥有数百个插件,因此Drupal毫无疑问可以运行整个“web”方面的内容,包括访问者统计等。同样,您只需要将桌面应用程序连接到正确的MySQL表,并根据需要显示数据。

    www.opensourcecms.com 允许您轻松测试CMS,我在过去广泛使用过它。

    推荐文章