首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过扩展cmis来创建新类型:在alfresco中创建文件夹类型

如何通过扩展cmis来创建新类型:在alfresco中创建文件夹类型
EN

Stack Overflow用户
提问于 2015-12-22 14:45:07
回答 2查看 648关注 0票数 1

提前感谢您的帮助:)

我是户外新手,不知道怎么做。

现在我的问题是我想要扩展cmis:foder并创建我自己的文件夹

到目前为止,我所做的就是

fdModel.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<model name="fd:contentmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
   <description>My Content Model</description>
   <author>Vishnu</author>
   <version>1.0</version>

   <imports>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
      <import uri="http://www.alfresco.org/model/cmis/1.0/cs01" prefix="cmis"/>
   </imports>

   <namespaces>
      <namespace uri="testing.model" prefix="fd"/>
   </namespaces>

   <types>
      <type name="fd:folder">
         <title>My Folder</title>
         <parent>cmis:folder</parent>
         <properties>
            <property name="fd:tablename">
               <title>Table Name</title>
               <type>d:text</type>
               <default></default>
            </property>
            <property name="fd:recordid">
               <title>Record ID</title>
               <type>d:text</type>
               <default></default>
            </property>
            <property name="fd:value">
               <title>Value</title>
               <type>d:text</type>
               <default></default>
            </property>
         </properties>
      </type>
   </types>
</model> 

web-client-config-adempiere-custom.xml

代码语言:javascript
复制
<alfresco-config>
    <config evaluator="node-type" condition="fd:folder">
        <property-sheet>
            <separator name="sep" display-label="Properties" component-generator="HeaderSeparatorGenerator"  show-in-edit-mode="false"/>
            <show-property name="fd:tablename"/>
            <show-property name="fd:recordid"/>
            <show-property name="fd:value"/>
        </property-sheet>
    </config>

    <config evaluator="string-compare" condition="Content Wizards">
        <content-types>
            <type name="fd:folder"/>
        </content-types>
    </config>

    <config evaluator="string-compare" condition="Action Wizards">
        <subtypes>
            <type name="fd:folder"/>
        </subtypes>
    </config>

</alfresco-config>

并将上述两个文件放在路径\tomcat\shared\classes\alfresco\extension

并在类型中添加条目,以使新类型在文件中的户外可用

代码语言:javascript
复制
share-config-custom
<types>
     <type name="trx:transferTarget">
        <subtype name="trx:fileTransferTarget" />
     </type>
     <type name="cmis:folder">
         <subtype name="fd:folder" />
     </type>
     <type name="fd:folder">
     </type>
</types>

并将上述两个文件放在路径\tomcat\shared\classes\alfresco\web-extension上,但不幸的是,无法看到我的新类型fd:folder in type list in alfresco

请注意,如果我使用cmis:folder的cm:folder insted,它的工作方式就像一个咒语

EN

回答 2

Stack Overflow用户

发布于 2015-12-23 20:19:33

我猜您并不是真的想要扩展cmis:folder,而是cm:folder

默认文件夹类型为cm:folder。

您需要像这样扩展它:

代码语言:javascript
复制
  <type name="fd:folder">
     <title>My Folder</title>
     <parent>cm:folder</parent>
     <properties>
        <property name="fd:tablename">
           <title>Table Name</title>
           <type>d:text</type>

        </property>
        <property name="fd:recordid">
           <title>Record ID</title>
           <type>d:text</type>

        </property>
        <property name="fd:value">
           <title>Value</title>
           <type>d:text</type>

        </property>
     </properties>
  </type>

和共享中的类型:

代码语言:javascript
复制
<types>
     <type name="trx:transferTarget">
        <subtype name="trx:fileTransferTarget" />
     </type>
     <type name="cm:folder">
         <subtype name="fd:folder" />
     </type>
</types>

只有在使用旧的资源管理器界面时,才需要web-client-config-adempiere-custom.xml。由于您是新用户,因此情况可能并非如此。

票数 1
EN

Stack Overflow用户

发布于 2016-02-11 22:23:18

CMIS只是公开Alfresco数据的一种方式,那么为什么内容模型的扩展应该特定于CMIS呢?

事实上,在使用CMIS时,当在定义中使用cmis:folder时,您将自动获得对cm:folder的引用。就像在调用时:

代码语言:javascript
复制
<getTypeDefinition xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
    <repositoryId>...</repositoryId>
    <!-- Need F: for folder, D: for document -->
    <typeId>F:fd:folder</typeId>
</getTypeDefinition>

...will仍然很好地为您提供了以下内容:

代码语言:javascript
复制
<getTypeDefinitionResponse xmlns="http://docs.oasis-open.org/ns/cmis/messaging/200908/">
    <type ...>
        <id>F:fd:folder</id>
        ...
        <baseId>cmis:folder</baseId>
        <parentId>cmis:folder</parentId>
    </type>
</getTypeDefinitionResponse>

还有,露天explains

CMIS将其开箱即用的类型cm:foldercm:content (在Alfresco ECM域模型中定义)分别映射到CMIS和CMIS。文件夹可以包含文档和文件夹的混合,从而允许构建文档的层次结构。通过这一点,CMIS支持一个隐含的概念,即父到子,Alfresco将其子关联映射到这个概念。cm:foldercm:content的子类型分别公开为CMIS文件夹和文档的子类型。

因此,对我来说,使用cm:folder似乎是正确的做法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34409942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档