4

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

露天支持吗?

提前谢谢,sri..

4

6 回答 6

21

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

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

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

于 2010-08-18T17:20:33.423 回答
4

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

于 2010-07-06T12:55:37.113 回答
2

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

您可以将spring与hibernate一起用于数据库连接。连接数据库所需的属性都已在位于“ tomcat/shared/classes/ ”内的alfresco-global.properties中声明。

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

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

于 2014-11-20T04:59:46.993 回答
2

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

于 2013-10-01T18:40:24.320 回答
1

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

于 2017-12-01T14:58:13.783 回答
1

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

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

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

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

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

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

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