【问题标题】:alfresco community 5.0.d - Import categoriesalfresco community 5.0.d - 导入类别
【发布时间】:2015-12-16 09:19:11
【问题描述】:

早上好/下午,

我目前正在测试 Alfresco Community 5.0.d 及其提供的可能性。

我想知道如何从 XML 文件(或 XML 文件?)导入类别。我更喜欢避免使用 AMP / ACP,因为它们对我来说似乎很不清楚。

我查看了官方文档:http://docs.alfresco.com/community5.0/concepts/dev-extensions-modules-bootstrapping-categories-xml.html;据我了解,我需要一个包含类别的 XML 文件,以及另一个用于“注册”第一个的 XML 文件(我不确定第二个应该包含什么)。但作为一个新手,我真的不明白该把哪个 XML 放在哪里......(或者是否有一些特定的程序要遵循)。

我已查找有关此的信息,但我发现的所有主题要么与旧版本的 Alfresco 相关(并且它们指示的路径在我的 Alfresco 文件夹中不存在),要么使用相对“高级”(至少对我而言) ) 工具和技术。

谁能解释我该怎么做?

提前致谢,这将有很大帮助!

【问题讨论】:

  • 你的意思是在引导上还是只是普通的导入?
  • 文档引导我使用引导方法,但如果有更简单的方法(“普通导入”?)那就更好了!
  • 我也添加了自定义类别 xml 文件。只要确保没有丢失的结束标签,您就可以使用它。

标签: xml alfresco


【解决方案1】:

非常感谢你的回答 mitpatoliya,我真的把事情弄清楚了。

经过几次不成功的尝试,我的 xml 语法最终似乎正确到足以让服务器重新启动。

这是我放在 C:\Alfresco\tomcat\shared\classes\alfresco\extension 中的文件:


catego.xml

<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
       xmlns:sys="http://www.alfresco.org/model/system/1.0"
       xmlns:cm="http://www.alfresco.org/model/content/1.0">

        <cm:category>
            <cm:name>Test1</cm:name>
            <cm:subcategories>
                <cm:category>
                    <cm:name>A</cm:name>
                    <cm:subcategories>
                        <cm:category>
                            <cm:name>A1</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>A2</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>A3</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>A4</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>A5</cm:name>
                        </cm:category>
                    </cm:subcategories>
                </cm:category>
                <cm:category>
                    <cm:name>B</cm:name>
                    <cm:subcategories>
                        <cm:category>
                            <cm:name>B1</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>B2</cm:name>
                        </cm:category>
                    </cm:subcategories>
                </cm:category>
                <cm:category>
                    <cm:name>C</cm:name>
                    <cm:subcategories>
                        <cm:category>
                            <cm:name>C1</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>C2</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>C3</cm:name>
                        </cm:category>
                    </cm:subcategories>
                </cm:category>
                <cm:category>
                    <cm:name>D</cm:name>
                    <cm:subcategories>
                        <cm:category>
                            <cm:name>D1</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>D2</cm:name>
                        </cm:category>
                        <cm:category>
                            <cm:name>D3</cm:name>
                        </cm:category>
                    </cm:subcategories>
                </cm:category>
            </cm:subcategories>

        </cm:category>

   </view:view>

bootstrap-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

    <!-- Bootstrap -->
    <bean id="spacesBootstrap-base" parent="spacesStoreImporter" abstract="true">
        <property name="bootstrapViews">
            <list>              
                <props>
                    <prop key="path">/</prop>
                    <prop key="location">alfresco/extension/catego.xml</prop>
                </props>
            </list>
        </property>
    </bean>

但是,在“类别管理器”(共享管理工具)中,我看不到任何引导的类别...

我猜我的一个 xml 文件出错了,但我不明白在哪里......

有什么想法吗?

再次感谢!

【讨论】:

  • Alfresco 日志中有什么东西吗?
【解决方案2】:

步骤如下

第 1 步: 根据提到的格式创建类别文件here 前任。 custom-category.xml

<view:view xmlns:view="http://www.alfresco.org/view/repository/1.0"
       xmlns:sys="http://www.alfresco.org/model/system/1.0"
       xmlns:cm="http://www.alfresco.org/model/content/1.0">

<cm:category_root view:childName="cm:categoryRoot">
    <cm:name>categories</cm:name>
    <cm:categories>
     <cm:category view:childName="cm:generalclassifiable">
            <cm:name>General</cm:name>
            <cm:subcategories>
        <cm:category>
        <cm:name>Test1</cm:name>
        <cm:subcategories>
            <cm:category>
                <cm:name>A</cm:name>
                <cm:subcategories>
                    <cm:category>
                        <cm:name>A1</cm:name>
                    </cm:category>
                    <cm:category>
                        <cm:name>A2</cm:name>
                    </cm:category>
                    <cm:category>
                        <cm:name>A3</cm:name>
                    </cm:category>
                    <cm:category>
                        <cm:name>A4</cm:name>
                    </cm:category>
                    <cm:category>
                        <cm:name>A5</cm:name>
                    </cm:category>
                </cm:subcategories>
            </cm:category>

    </cm:categories>
</cm:category_root>

第 2 步: 创建将在 alfresco 引导期间加载的上下文文件,它将加载您在第一步中创建的 xml 文件。因此,您输入的上述 xml 将如下所示。

   <!-- Bootstrap -->
<bean id="spacesBootstrap-base" parent="spacesStoreImporter" abstract="true" >
    <property name="bootstrapViews">
        <list>              
            <props>
                <prop key="path">/</prop>
                <prop key="location">alfresco/extension/custom-category.xml</prop>
            </props>
        </list>
    </property>
</bean>

第 3 步: 将两个 xml 文件放在以下位置

\tomcat\shared\classes\alfresco\extension

然后重启你的露天服务器。

注意:理想情况下,您应该创建模块并且创建这些文件应该是这些 amp 文件的一部分,但这只是一种快速方法。

【讨论】:

    【解决方案3】:

    我们目前正在开发一个使用 VDEX 作为 XML 格式来导入类别的模块。 VDEX 格式对于交换值列表非常有用,并且可以很好地映射到 Alfresco 类别。

    它通过从类别管理器内部将 url 导入到 vdex 文件来工作,因此可以在运行时导入。

    还支持导入嵌套分类

    这是一个示例文件:

    <vdex:vdex xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vdex="http://www.imsglobal.org/xsd/imsvdex_v1p0" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsvdex_v1p0 http://www.imsglobal.org/xsd/imsvdex_v1p0.xsd" orderSignificant="false" profileType="flatTokenTerms">
    <vdex:vocabName>
        <vdex:langstring language="x-none">Example categories</vdex:langstring>
        <vdex:langstring language="nl">Example categories</vdex:langstring>
        </vdex:vocabName>
        <vdex:vocabIdentifier>fase-leerproces</vdex:vocabIdentifier>
        <vdex:term orderSignificant="false" validIndex="true">
            <vdex:termIdentifier>cata</vdex:termIdentifier>
            <vdex:caption>
            <vdex:langstring language="nl">Category A</vdex:langstring>
            </vdex:caption>
        </vdex:term>
        <vdex:term orderSignificant="false" validIndex="true">
            <vdex:termIdentifier>catb</vdex:termIdentifier>
            <vdex:caption>
            <vdex:langstring language="nl">Category B</vdex:langstring>
            </vdex:caption>
        </vdex:term>
    </vdex:vdex>
    

    恐怕还没有发布细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多