修改 Alfresco Community 5 中的实时搜索。0.d
Modify live search in Alfresco Commmunity 5.0.d
我正在使用 Alfresco Community 5。0.d 并尝试查找与实时搜索相关的文件。
我想删除或修改实时搜索中的人员查找器。请让我知道文件或实现方式。
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-header
share-header
正如我在下面添加的那样,现在我可以看到我的文件、共享文件和其他菜单项正在为用户(非管理员)删除,但搜索框中没有变化。
图片来源:Muralidharan
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
html 搜索框结构的屏幕截图。
下面是modules/deploy的截图:
调试模式截图:
提前致谢
我们排除了使用以下脚本的人员搜索。
//Disable people search
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{
headerSearch.config.showPeopleResults = false;
headerSearch.config.placeholder="Search files, sites";
}
我们将这个文件放在以下路径中。
C:\Alfresco5\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\com\quanticate\header\share-header.get.js
使用模块扩展在 Share 中应用您的自定义并将此文件存储到 alfresco\web-extension\site-data\extensions\extensions。xml
<extension>
<modules>
<module>
<id>Menu customisation</id>
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
<!-- default.extensibility.evaluator is applied to determine if the module should be executed -->
<customizations>
<customization>
<targetPackageRoot>org.alfresco</targetPackageRoot>
<sourcePackageRoot>com.quanticate.header</sourcePackageRoot> <!-- Your package path should go here -->
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
您必须覆盖包含网络脚本响应的文件。搜索具有渲染输出和 over-ride 的 Freemarker 模板文件。
我在下方关注 link,效果非常好。
总结:
覆盖 live-search-people.get.json.ftl 文件以不产生任何实时搜索结果。
步骤:
- 提取alfresco-remote-api-5.0.d (/Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib)
- 转到 /Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.d/alfresco/templates/webscripts/org/alfresco/slingshot/search 并复制 live-search-people.get.json.ftl
- 然后转到Applications/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/templates/webscripts/org/alfresco/slingshot/search(如果不存在则创建新目录)并粘贴之前复制的文件
在像 sublime text 一样的编辑器中打开该文件并替换为以下代码。
<#import "../../repository/person/person.lib.ftl" as personLib/>
<#escape x as jsonUtils.encodeJSONString(x)>
{
"totalRecords": 0,
"startIndex": 0,
"items":
[
]
}
重新启动 tomcat 并测试实时搜索。
感谢 Angel 和 Alex 的回答和澄清。
有趣的发现我正在使用 Aikau 1.0.8 因为 Muralidharan 推荐的更改不起作用(旧版本)所以现在当我移动到 Aikau 的新版本 (1.0.101) 时这些更改是好的去。
谢谢 Muralidharan!
/****注意****/
如果您使用的是旧版本的 Aikau(如 1.0.8),则必须重写扩展名
要么
如果您使用较新版本的 Aikau(如 1.0.101),您可以直接进行更改。
我正在使用 Alfresco Community 5。0.d 并尝试查找与实时搜索相关的文件。
我想删除或修改实时搜索中的人员查找器。请让我知道文件或实现方式。
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-header share-header
正如我在下面添加的那样,现在我可以看到我的文件、共享文件和其他菜单项正在为用户(非管理员)删除,但搜索框中没有变化。
图片来源:Muralidharan
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
html 搜索框结构的屏幕截图。
下面是modules/deploy的截图:
调试模式截图:
提前致谢
我们排除了使用以下脚本的人员搜索。
//Disable people search
var headerSearch = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SEARCH");
if (headerSearch)
{
headerSearch.config.showPeopleResults = false;
headerSearch.config.placeholder="Search files, sites";
}
我们将这个文件放在以下路径中。 C:\Alfresco5\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\com\quanticate\header\share-header.get.js
使用模块扩展在 Share 中应用您的自定义并将此文件存储到 alfresco\web-extension\site-data\extensions\extensions。xml
<extension>
<modules>
<module>
<id>Menu customisation</id>
<auto-deploy>true</auto-deploy>
<evaluator type="default.extensibility.evaluator"/>
<!-- default.extensibility.evaluator is applied to determine if the module should be executed -->
<customizations>
<customization>
<targetPackageRoot>org.alfresco</targetPackageRoot>
<sourcePackageRoot>com.quanticate.header</sourcePackageRoot> <!-- Your package path should go here -->
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
您必须覆盖包含网络脚本响应的文件。搜索具有渲染输出和 over-ride 的 Freemarker 模板文件。
我在下方关注 link,效果非常好。
总结: 覆盖 live-search-people.get.json.ftl 文件以不产生任何实时搜索结果。
步骤:
- 提取alfresco-remote-api-5.0.d (/Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib)
- 转到 /Applications/alfresco-5.0.d/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.d/alfresco/templates/webscripts/org/alfresco/slingshot/search 并复制 live-search-people.get.json.ftl
- 然后转到Applications/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/templates/webscripts/org/alfresco/slingshot/search(如果不存在则创建新目录)并粘贴之前复制的文件
在像 sublime text 一样的编辑器中打开该文件并替换为以下代码。
<#import "../../repository/person/person.lib.ftl" as personLib/>
<#escape x as jsonUtils.encodeJSONString(x)> { "totalRecords": 0, "startIndex": 0, "items": [ ] }
重新启动 tomcat 并测试实时搜索。
感谢 Angel 和 Alex 的回答和澄清。
有趣的发现我正在使用 Aikau 1.0.8 因为 Muralidharan 推荐的更改不起作用(旧版本)所以现在当我移动到 Aikau 的新版本 (1.0.101) 时这些更改是好的去。
谢谢 Muralidharan!
/****注意****/
如果您使用的是旧版本的 Aikau(如 1.0.8),则必须重写扩展名 要么 如果您使用较新版本的 Aikau(如 1.0.101),您可以直接进行更改。