【问题标题】:alfresco database露天数据库
【发布时间】:2010-07-06 10:27:57
【问题描述】:

我们如何扩展 Alfresco 数据库?我需要在现有的数据库结构中添加新表。

alfresco 支持这个吗?

提前致谢, 斯里..

【问题讨论】:

    标签: alfresco


    【解决方案1】:

    我认为更改 alfresco db 模型从来都不是一个好的解决方案。一些露天升级是使用架构升级脚本进行的,这可能会变得混乱。

    您是否尝试过扩展露天内容模型? Alfresco 支持一些数据类型,允许你持久化数据。 Web 脚本框架允许您在内容模型中操作所有数据。

    如果您的数据不适合“内容模型”,我认为您应该创建一个新数据库来保存您的数据。

    【讨论】:

    • 我也觉得这个是对的,可以扩展alfresco模型。如果您确实需要保留其他数据,请将其保存在 alfresco 的数据库之外。
    • 我认为使用内容模型和 webscript 定制 alfresco 是最好的解决方案
    • 越来越少 2 年前,我在 Alfresco 4 上安装了 Sinecarta ..... 2 个月后我将其删除,这只是一场噩梦,因为 Sinecarta 更新了数据库,并且在蒸馏过程中桌子还剩听到。
    【解决方案2】:

    嗯,它只是一个数据库。因此,您可以像在任何其他数据库中一样创建任意数量的新表。 显然 Alfresco 不会使用它们,因为它不知道它们,但是您可以随意查询表。

    【讨论】:

    • 作为一个好习惯,我们不应该在 Alfresco 数据库中创建表。相反,您可以创建一个单独的数据库。由于您要根据需要查询它,因此哪个数据库拥有您的表并不重要。
    【解决方案3】:

    来自 alfresco 工程师的建议是不要接触 alfresco 数据库。请看一下这个页面。 http://forums.alfresco.com/forum/general/non-technical-alfresco-discussion/where-alfreso-user-details-are-stored-i-alfresco

    【讨论】:

      【解决方案4】:

      不建议更改露天数据库。内容模型将是好方法。如果这样的要求是强制性的,

      您可以使用 spring 和 hibernate 进行数据库连接。连接数据库所需的属性都已在 alfresco-global.properties 中声明,该属性位于“tomcat/shared/classes”中/”。

      对于 Spring bean 注入,您可以在任何以“-context”结尾的文件中声明 bean,该文件位于“tomcat/shared/classes/alfresco/extension”文件夹中。

      我仍然会推荐开发者使用内容模型。

      【讨论】:

        【解决方案5】:

        根据您的用例,您可能需要也可能不需要直接使用[/a] 数据库。我认为您的用例应属于以下情况之一:

        用例 1: 您需要在文件夹和/或文档上设置一些元数据。您可能必须嵌套多个级别的节点,每个级别上具有不同的自定义元数据集。

        • 您可能需要扩展露天模型以定义最适合您的业务需求的自定义文档/文件夹模型。请查看jpotts' tutorial 了解如何操作。

        用例 2: 您需要定义具有不同属性集的多个列表,这些列表可能会或可能不会链接到您的 alfresco repo 中的某些内容。

        • 您可能需要了解更多关于alfresco sites' datalists 的信息,一旦您这样做了,您可能有兴趣了解如何扩展OOTB 露天内容模型,jpotts' tutorial 将是一个很好的起点,然后您应该检查@987654324 @ 以了解如何在独立的 aikau 应用程序/共享页面中管理数据列表。

        用例 3: 您需要利用关系数据库来定义和利用不属于上述任何用例的复杂业务逻辑。

        • 您确定不想利用您熟悉的技术编写一个全新的应用程序并让它使用 RESTfull api/cmis/...与 alfresco 进行通信吗?
        • 你确定露天是要走的路吗?如果是这样,并且您仍然希望在裸露的关系数据库中拥有您的自定义复杂业务模型:
          • 请考虑为您的自定义扩展使用单独的数据库实例/数据库,这样您就可以确保任何可能更改数据库结构的新补丁/升级到 alfresco 都不会影响您的扩展(或者至少不会给您带来困难升级它)
          • 如果您真的只绑定到 1 个数据库实例/1 个数据库架构,您可能希望在表名前加上一些前缀,并希望未来的 alfresco 升级不会有具有相同前缀的新表。您可能还需要确保明智地管理您的数据库配置(连接池 ..),因此您的 alfresco 实例和自定义扩展都不必挨饿。 (确保关闭正在打开的连接)

        【讨论】:

          【解决方案6】:

          Alfresco 和 Activiti 带有一个数据库。直接访问数据库不好。这样做可能会导致意外的锁定行为或耗尽数据库上的连接池。这变成了性能问题,其他类型的问题也是可能的。如果你想更新 Alfresco 或 Activiti,你可以通过 API 来完成。易于扩展、易于定制和轻松的集成能力是使 http://loganwinson.doodlekit.com/blog/entry/4249216/top-things-to-know-about-alfresco-development> Alfresco Web 开发在企业中很受欢迎。

          【讨论】:

          • 一直访问 Alfresco 数据库绝不是一个好主意,除非您可能正在执行一次性查询以获取一些快速信息。问题是,当您向某人展示如何获取某些东西时,很多时候他们最终将其添加到脚本中,这是一个坏主意。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-04-22
          • 1970-01-01
          • 1970-01-01
          • 2010-12-15
          • 1970-01-01
          • 2023-03-28
          • 2018-09-27
          相关资源
          最近更新 更多