露天数据库

时间:2010-07-06 10:27:57

标签: alfresco

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

alfresco是否支持这个?

提前谢谢, SRI ..

6 个答案:

答案 0 :(得分:20)

我认为改变露天数据库模型绝不是一个好的解决方案。使用Schema Upgrade Scripts进行一些露天升级,这可能会变得混乱。

您是否尝试过扩展露天内容模型? Alfresco支持一些数据类型,允许您保留数据。 Web Script框架允许您操作内容模型中的所有数据。

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

答案 1 :(得分:4)

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

你可以使用spring with hibernate进行数据库连接。连接数据库所需的属性都在 alfresco-global.properties 里面准备好了,它位于“ tomcat / shared / classes里面/ ”。

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

我仍然建议开发人员使用内容模型。

答案 4 :(得分:1)

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

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

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

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

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

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

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

答案 5 :(得分:1)

Alfresco和Activiti带有一个数据库。直接访问数据库并不好。这样做可能会导致数据库意外锁定或排出连接池。这可能会导致性能问题,也可能出现其他类型的问题。如果您想要更新Alfresco或Activiti,您可以通过API来完成。易于扩展,易于定制和无障碍的集成功能是http://loganwinson.doodlekit.com/blog/entry/4249216/top-things-to-know-about-alfresco-development>的一些原因。 Alfresco网站开发受到企业的欢迎。