1

我们有一个客户目前正在使用 Lotus Notes/Domino 作为他们的内容管理系统和 Web 服务器。出于多种原因,我们建议他们停止使用 Notes/Domino 实现并过渡到更现代的平台——例如 Drupal。

客户端有几个非常适合 Drupal 的 Web 应用程序。但是,我不确定在 Drupal 中实现其中一个 Web 应用程序的最佳方式。我遇到了知识障碍,想知道你们中的任何人是否可以填补空白。

情况

客户端有一个 Lotus Domino 应用程序,它用作查询大型 DB2 数据存储并通过 Web 将结果集(通常以表格形式)返回给用户的前端。该 Web 应用程序提供对大约 100 个预定义查询的访问——其中 50 个是公开的,其中 50 个是安全的。大多数查询接受一组用户选择的参数作为输入。查询的输出通常以列表(表格)格式返回给用户。有限数量的结果集允许通过 HTML 表向下钻取到详细记录。

查询参数通常涉及数据库查询本身。例如,单个查询可能会将公司部门列表拉到下拉列表中。一旦选择了一个部门,就会填充该部门的部门的第二个下拉列表 - 但可能只有满足某些特殊标准的部门 - 例如那些在特定时间范围内亏损的部门。大多数查询有 2-4 个参数,平均可能是 3 个。

该应用程序不涉及数据输入。Web 应用程序从未修改过任何后端数据。所有访问都完全基于查询数据和查看结果。

查询的变化相对较少,当前系统已经使用了大约 10 年。给定年份可能有 10-20 个查询添加、修改或其他更改。客户只是希望更改演示平台,但绝对不想重新执行 100 次数据库查询。

一旦项目实施,客户希望他们的员工接管并管理未来的变化。客户的员工没有 Drupal 或 PHP 的背景,但在必要时愿意学习。

您将如何将其转换为 Drupal?我的主要知识空白与我们如何管理查询参数和访问查询本身有关。以下是一些具体问题,但请随时就与此实现相关的任何问题提出意见。

  1. 我们是否必须手动构建 100 个表单——每个表单都包含给定查询的参数?如果是这样,我们将如何做到这一点?
  2. 构建/配置每个表单大约需要多长时间?
  3. 有没有比手动构建 100 个表单更好的方法?(我了解使用 CCK 将数据输入到自定义内容类型中,但由于我们没有添加任何节点,所以我对这可能如何工作感到有些困惑。)
  4. 内部员工是否有可能学会创建这些查询参数表单——即使他们今天不熟悉 Drupal?他们是否需要进行任何 PHP 编程?
  5. 我们如何从表单中获取查询参数并针对 DB2 执行查询?这需要自定义模块吗?如果是这样,是否需要一个模块总数或每个查询一个模块?(注意:显然有一个可用于 Drupal 的 DB2 驱动程序。请参阅http://groups.drupal.org/node/5511。)

注意:我不是在寻找 Drupal 以外的 CMS 建议,因为 Drupal 非常适合客户的所有其他要求,我希望帮助他们在单一平台上实现标准化。

您可以提供的任何帮助都会有所帮助。预先感谢您的帮助!

4

3 回答 3

1

看看数据模块——它可能会让你在解决问题的道路上走得更远。

您可能遇到的最大问题是通过 Drupal 连接到 DB2 服务器,因为它的 DBA 层在没有补丁的情况下不支持它(正如您所发现的那样)。

于 2010-11-02T16:57:18.033 回答
0

我想到了几件事。您可以使用表向导将任何自定义表公开给视图。Views 基本上为您提供了一个用于编写自定义 sql 查询的 UI。一旦您的表暴露给视图,您就可以使用过滤器来“参数化”查询。此外,视图支持许多显示选项,包括表格和寻呼机。

如果您确实需要为高级查询编写自己的表单,请查看Drupal Form API,它使创建自定义 php 表单变得轻而易举。

Views 相当容易学习,根据我的经验,大多数客户很快就学会了。这实际上取决于查询的复杂性。

表单 API 对于开发人员来说应该很容易上手,但确实需要基本的 php 知识和编写 Drupal 代码。

于 2010-06-05T15:19:27.157 回答
0

Lotus 是否提供 Web 服务来查询它?如果是这样,您可以使用自定义表单(在您自己的模块中)轻松完成此操作,并使用服务模块来查询数据。

于 2010-06-05T17:13:43.930 回答