Adding properties to uploaded content in Alfresco
我正在使用 Alfresco Web Quick Start 创建一个基本的 CMS 网站。我想知道是否有人可以解释如何向我上传的内容添加属性/元数据。例如,如果我有一个图像库(具有作者、已发布、大小和 Mime 类型的默认元数据)并且想要获取数据属性等,我将如何实现呢?
我已经做了一些研究,但还没有找到具体的解决方案,任何关于这个问题的帮助将不胜感激!谢谢!
Alfresco 中给定节点的可用元数据由其类型和方面决定。
Alfresco 已经附带了一个 EXIF 方面(在此处查找"exif:exif"),您可能希望将其用于您的用例,不幸的是 WCM QS 隐藏了它。您应该创建一个
类似下面的东西应该可以工作:
1 2 3 4 5 6 7 8 9 | <config evaluator="model-type" condition="exif:exif"> <forms> <form> <field-visibility> <show id="exif:dateTimeOriginal"/> </field-visibility> </form> </forms> </config> |
这是一种皇家的痛苦。
首先您需要创建一个模型。在该模型中,您需要创建一个方面。所有这些都在 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/
share-custom-config.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | <!-- 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 that a user can see --> <visible> </visible> <!-- Aspects that a user can add. Same as"visible" if left empty --> </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> |