Alfresco的独特物业

时间:2015-05-06 12:27:13

标签: java alfresco alfresco-share

我正在使用alfresco 4.2e,我想在露天的整个存储库中为特定类型的文件添加唯一属性,即type1。

文档具有名为

的属性

  • 名称
  • UIV(唯一识别值)==>我希望这个属性在整个存储库中是唯一的
  • 所有者

    新添加的属性不应该在整个存储库中重复它的值。我知道我可以使用记录管理添加它,在共享中实现验证处理程序或实现NodePolicy.But以上两种实现都不会在我的情况下由于某些其他配置而起作用。还有其他方法可以达到这个目的吗?

  • 2 个答案:

    答案 0 :(得分:2)

    在行为内部,您可以像这样搜索

    String query = "SELECT SCORE() FROM cmis:document WHERE someprefix:UIV = " + value;
    
    ResultSet rs = searchService.query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_CMIS_ALFRESCO, query);
    
    if (rs.getNumberFound() > 0)
    {
     // duplicates
    }
    

    答案 1 :(得分:0)

    Alfresco不支持开箱即用的唯一属性值(仅限子关联)。看看https://wiki.alfresco.com/wiki/Data_Dictionary_Guide。确保我能想到的唯一属性值的唯一合理方法是(如您所述)基于NodeServicePolicies和行为。