2

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

我已经做了一些研究,但还没有找到具体的解决方案,对此问题的任何帮助将不胜感激!谢谢!

4

2 回答 2

3

Alfresco 中给定节点的可用元数据由其类型和方面决定。

Alfresco 已经附带了一个 EXIF 方面(在此处查找“exif:exif”),您可能希望将其用于您的用例,不幸的是 WCM QS 隐藏了它。您应该创建一个文件(此处share-config-custom.xml为示例,官方文档),该文件应列出您要公开的方面的所有字段。exif:exif

像下面这样的东西应该可以工作:

<config evaluator="model-type" condition="exif:exif">
    <forms>
        <form>
            <field-visibility>
                <show id="exif:dateTimeOriginal"/>                  
            </field-visibility>             
        </form>
    </forms>
</config>
于 2012-04-17T17:36:07.513 回答
1

这是皇家的痛苦。

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

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

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

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

你需要一个共享自定义配置。这与 XML 文件 #3 的格式不同,但用途相同。

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

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


共享自定义配置.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>
于 2012-04-17T23:33:15.543 回答