在Alfresco Commmunity 5.0.d中修改实时搜索

时间:2017-01-16 11:31:28

标签: alfresco alfresco-share alfresco-webscripts

我正在使用Alfresco Community 5.0.d并尝试查找与实时搜索相关的文件。

我想在实时搜索中删除或修改人员搜索器。请让我知道文件或方法来实现它。

enter image description here

Share-header.get.js信息如下:

if (!user.isAdmin)
{
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SHARED_FILES");

  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SITES_MENU");
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_PEOPLE");

  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_REPOSITORY");
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_BECPG");
}

//Disable people search 
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{ 
  headerSearch.config.showPeopleResults = false;       
  headerSearch.config.placeholder="Search files, sites";      
}

下面是extensions.xml

<extension>
    <modules>
        <module>
            <id>Update Site Header</id>
            <version>1.0</version>

真                                                                         org.alfresco.share.header                         com.site头                                                      份额头                                                                                          

正如我在下面的行中添加的那样,现在我可以看到我的文件,共享文件和其他菜单项被删除了用户(非管理员)但搜索框中没有更改。

信用:Muralidharan

<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>

搜索框的html结构截图。 screenshot of html structure

以下是modules / deploy的截图:

modules/deploy

调试模式的屏幕截图:

enter image description here

提前致谢

3 个答案:

答案 0 :(得分:1)

我们使用以下脚本排除了人们搜索。

if/else if/else

我们将此文件放在以下路径中。 C:\ Alfresco5 \ Tomcat的\ web应用\共享\ WEB-INF \类\露天\ web的扩展\站点webscripts \ COM \ quanticate \头\共享-header.get.js

使用模块扩展在Share中应用自定义并将此文件存储到alfresco \ web-extension \ site-data \ extensions \ extensions.xml

//Disable people search 
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{ 
  headerSearch.config.showPeopleResults = false;       
  headerSearch.config.placeholder="Search files, sites";      
}

答案 1 :(得分:1)

我按照下面的链接,它就像一个魅力。

https://community.alfresco.com/message/806438-re-not-able-to-disable-suggestion-in-alfresco?commentID=806438&et=watches.email.thread#comment-806438

要点: 覆盖live-search-people.get.json.ftl文件,不会产生实时搜索结果。

步骤:

  1. 提取alfresco-remote-api-5.0.d(/Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib)
  2. 转到/Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.d/alfresco/templates/webscripts/org/alfresco/slingshot/search and copy住-搜索people.get.json.ftl
  3. 然后转到Applications / alfresco-5.0.d / tomcat / shared / classes / alfresco / extension / templates / webscripts / org / alfresco / slingshot / search(如果不存在则创建新目录)并粘贴先前复制的文件
  4. 在编辑器中打开该文件,如sublime文本,并替换为以下代码。

    &lt; #import&#34; ../../ repository / person / person.lib.ftl&#34; as personLib /&gt;

    &lt; #escape x as jsonUtils.encodeJSONString(x)&gt; {    &#34; totalRecords&#34;:0,    &#34; startIndex&#34;:0,    &#34;项目&#34 ;:    [    ] }

  5. 重新启动tomcat并测试实时搜索。

  6. 感谢Angel和Alex的回答,然后澄清。

    有趣的发现我正在使用Aikau 1.0.8因为Muralidharan推荐的更改无法正常工作(旧版本)所以现在我转移到更新版本的Aikau(1.0.101)然后这些更改很好

    谢谢Muralidharan!

    / **** ****注/

    如果您使用旧版本的Aikau(如1.0.8),则必须覆盖扩展名 要么 如果您使用较新版本的Aikau(如1.0.101),则可以直接进行更改。

答案 2 :(得分:0)

您必须覆盖包含webscript响应的文件。搜索具有渲染输出并覆盖它的Freemarker模板文件。