用于高级搜索的 Alfresco 共享自定义

Posted

技术标签:

【中文标题】用于高级搜索的 Alfresco 共享自定义【英文标题】:Alfresco Share Customization for Advanced Search 【发布时间】:2015-08-22 22:26:29 【问题描述】:

我正在尝试修改 share-config-custom.xml,以便我可以通过以下属性搜索电子邮件:

           <!-- cm:emailed aspect -->
           <show id="cm:originator" />
           <show id="cm:addressee" />
           <show id="cm:addressees" />
           <show id="cm:sentdate" />
           <show id="cm:subjectline" />

这是我的 share-config-custom.xml:

    <config evaluator="model-type" condition="cm:content">
    <forms> 
        <form label="Mails">
            <field-visibility>
               <show id="cm:originator" />
               <show id="cm:addressee" />
               <show id="cm:addressees" />
               <show id="cm:sentdate" />
               <show id="cm:subjectline" />
            </field-visibility>
        </form>
    </forms>
   </config>

  <config evaluator="string-compare" condition="AdvancedSearch">
  <advanced-search>
     <!-- Forms for the advanced search type list -->
     <forms>
        <!--
           The 'form' config element contains the name of the model type
           of the form to display.

           The element supports the following optional attributes:
              id = form id, the id of "search" will be assumed if not set
              label = label text to display - defaults to model type if not set
              labelId = I18N message id of label text to display
              description = description text to display
              descriptionId = I18N message id of description text to display
        -->
    <form labelId="Mails" descriptionId="Search for Mails">cm:content</form>
     </forms>
  </advanced-search>

而且它不起作用。我试过aspectnode-type 而不是model-type。我使用了force="true"for-mode="view" 的许多组合......仍然无法正常工作。在搜索表单中,我看不到与属性相关的任何内容。这只是一个默认的搜索表单。任何帮助将不胜感激。

up:需要明确的是,问题是我有一些带有 cm:emailed 方面的文档。我想创建一个仅用于搜索此类文档的表单。然而,当我说“&lt;form labelId="Mails" descriptionId="Search for Mails"&gt;cm:content&lt;/form&gt;”时,默认的内容搜索表单也被修改了。我相信一定有一些简单的方法。我不想在我的自定义模型中定义新类型,我将这个解决方案留到最后。

【问题讨论】:

【参考方案1】:

共享配置不正确。看看https://wiki.alfresco.com/wiki/Share_Advanced_Search#Search_Forms

您需要使用 aspect 字段更改 cm:content form id="search" 的模型类型。

我正在打电话,所以答案可能很短。

--更新-- 您不能在高级搜索的下拉列表中选择一个方面,Alfresco 的当前实现不允许这样做。

你我在大多数情况下所做的,我只是将方面字段添加到默认的 cm:content 类型。

或者当我对应用方面有更多控制权时,我只需创建一个新类型 custom:mailed 并将父级 cm:content 作为强制方面厘米:通过电子邮件发送。然后,您可以创建一个将类型专门化为 custom:mailed 的行为,或者在 Alfresco 中创建一个在 hasAspect cm:emailed 上触发的入站规则。

我希望这能清楚一点。

【讨论】:

您不能在搜索配置中选择方面,所以是的,查看方面的唯一方法是将它们添加到默认 cm:content 就像我说的,并且会再次这样做:不,不可能选择一个方面。所以不,没有简单的方法。最简单的方法是像我建议的那样创建一个类型。困难的方法是定义您自己的自定义高级搜索配置并覆盖默认值并随心所欲地使用它。

以上是关于用于高级搜索的 Alfresco 共享自定义的主要内容,如果未能解决你的问题,请参考以下文章

Alfresco 分享 UI 标头自定义

创建仅显示 Alfresco Share 文件夹结构的自定义页面

ElasticPress - 搜索元和高级自定义字段不起作用

php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式

php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式

php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式