在Alfresco中为上传的内容添加属性

时间:2012-04-17 14:09:14

标签: metadata alfresco

我正在使用Alfresco Web快速入门创建基本的CMS网站。我想知道是否有人可以解释如何向我上传的内容添加属性/元数据。例如,如果我有一个图像库(使用默认元数据作者,已发布,大小和Mime类型)并希望获取数据属性等,我将如何实现这一点?

我做了一些研究但尚未找到具体的解决方案,对此事的任何帮助都将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:3)

Alfresco中给定节点的可用元数据由其type and aspects决定。

Alfresco已经附带了EXIF方面(外观here代表“exif:exif”)你可能想要用于你的用例,不幸的是WCM QS隐藏了。您应该创建一个share-config-custom.xml文件(示例here,官方docs),该文件应列出您要公开的exif:exif方面的所有字段。

以下内容应该有效:

<config evaluator="model-type" condition="exif:exif">
    <forms>
        <form>
            <field-visibility>
                <show id="exif:dateTimeOriginal"/>                  
            </field-visibility>             
        </form>
    </forms>
</config>

答案 1 :(得分:1)

屁股是一种皇室痛苦。

首先,您需要创建一个模型。在该模型中,您需要创建一个Aspect。所有这些都在XML文件#1中。

然后您需要一个上下文文件来注册方面。这是XML文件#2。

一个属性文件,为方面提供友好名称。

还有一个web-site-custom-config列出XML文件1中列出的所有属性。这是XML文件#3

你需要一个share-custom-config。它的格式与XML文件#3不同,但用途相同。

最后,您需要创建一个规则,自动将方面应用于文件夹中的每个项目。

参考:http://blogs.alfresco.com/wp/wabson/2010/02/25/adding-custom-aspect-support-in-alfresco-share/


份额定制-config.xml中

<alfresco-config>

    <!-- Repository Library config section -->
    <config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
        <!--
         Whether the link to the Repository Library appears in the header component or not.
        -->
        <visible>true</visible>
    </config>

    <config evaluator="string-compare" condition="DocumentLibrary">

        <!--
         Used by the "Manage Aspects" action

         For custom aspects, remember to also add the relevant i18n string(s)
            cm_myaspect=My Aspect
        -->
        <aspects>
            <!-- Aspects that a user can see -->
            <visible>
                <aspect name="my:sampleProps" />
                <aspect name="ac:androidContentProps" />
            </visible>

            <!-- Aspects that a user can add. Same as "visible" if left empty -->
            <addable>
            </addable>

            <!-- Aspects that a user can remove. Same as "visible" if left empty -->
            <removeable>
            </removeable>
        </aspects>
    </config>

    <config evaluator="node-type" condition="cm:content">
        <forms>
            <form>
                <field-visibility>
                    <!-- fields from my example aspect -->
                    <show id="my:propOne" />
                    <show id="my:propTwo" />
                    <show id="my:propInt" />
                    <show id="my:propFloat" />
                    <show id="my:propDateTime" />
                    <show id="my:propDate" />
                    <show id="my:propBoolean" />
                    <show id="my:propQName" />
                    <show id="my:propCategory" />
                    <show id="my:propNodeRef" />
                    <show id="my:propPath" />
                    <!-- fields for android content -->
                    <show id="ac:propNotify" />
                    <show id="ac:propNotificationSummary" />
                    <show id="ac:propArchiveDate" />
                    <show id="ac:propPublishDate" />
                    <show id="ac:propPriority" />
                    <show id="ac:propRegion" />
                    <show id="ac:propMarket" />
                    <show id="ac:propDistrict" />
                    <show id="ac:propStore" />
                </field-visibility>
            </form>
        </forms>
    </config>


    <config evaluator="string-compare" condition="Remote">
        <remote>
            <endpoint>
                <id>alfresco-noauth</id>
                <name>Alfresco - unauthenticated access</name>
                <description>Access to Alfresco Repository WebScripts that do not require authentication</description>
                <connector-id>alfresco</connector-id>
                <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
                <identity>none</identity>
            </endpoint>

            <endpoint>
                <id>alfresco</id>
                <name>Alfresco - user access</name>
                <description>Access to Alfresco Repository WebScripts that require user authentication</description>
                <connector-id>alfresco</connector-id>
                <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
                <identity>user</identity>
            </endpoint>

            <endpoint>
                <id>alfresco-feed</id>
                <name>Alfresco Feed</name>
                <description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
                <connector-id>http</connector-id>
                <endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
                <basic-auth>true</basic-auth>
                <identity>user</identity>
            </endpoint>

            <endpoint>
                <id>activiti-admin</id>
                <name>Activiti Admin UI - user access</name>
                <description>Access to Activiti Admin UI, that requires user authentication</description>
                <connector-id>activiti-admin-connector</connector-id>
                <endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
                <identity>user</identity>
            </endpoint>
        </remote>
    </config>

</alfresco-config>
相关问题