Hello friends,
This post is for those users who want to make minor changes in new Alfresco header but are non-developers/ admins, who don't know how to create AMPs, how to install them etc.
Here are steps you can follow.
Note :- If the war files are exploded again, then these changes might get lost. So either you should keep backup OR you can use tomcat\shared\classes\alfresco\web-extension path instead of
tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension.
1) Create a xml file with name my-extension.xml at path tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-data\extensions folder under your Alfresco.
2) Below is content for my-extension.xml
<extension>
<modules>
<module>
<id>Share header customizations</id>
<auto-deploy>true</auto-deploy>
<version>1.0</version>
<customizations>
<customization>
<targetPackageRoot>org.alfresco.share.header</targetPackageRoot>
<sourcePackageRoot>custom.header</sourcePackageRoot>
</customization>
<customization>
<targetPackageRoot>org.alfresco.share.pages</targetPackageRoot>
<sourcePackageRoot>custom.header</sourcePackageRoot>
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
3) Create a js file share-header.get.js at tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\custom\header folder under your Alfresco.
4) Write below code in share-header.get.js file as per your need.
a) To hide create site menu for non-admin user
var sitesMenu = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SITES_MENU");
if (sitesMenu != null)
{
if (!user.isAdmin)
{
sitesMenu.config.showCreateSite = false;
}
}
b) To hide help option under user-items
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_USER_MENU_HELP");
c) To hide People menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_PEOPLE");
d) To hide My Files menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
e) To hide Shared files menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SHARED_FILES");
5) If you want to hide only for non-admin users, write that line in below if condition.
if (!user.isAdmin)
{
//write your line here
}
6) Restart Alfresco server.
Hope this post helps someone.
This post is for those users who want to make minor changes in new Alfresco header but are non-developers/ admins, who don't know how to create AMPs, how to install them etc.
Here are steps you can follow.
Note :- If the war files are exploded again, then these changes might get lost. So either you should keep backup OR you can use tomcat\shared\classes\alfresco\web-extension path instead of
tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension.
1) Create a xml file with name my-extension.xml at path tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-data\extensions folder under your Alfresco.
2) Below is content for my-extension.xml
<extension>
<modules>
<module>
<id>Share header customizations</id>
<auto-deploy>true</auto-deploy>
<version>1.0</version>
<customizations>
<customization>
<targetPackageRoot>org.alfresco.share.header</targetPackageRoot>
<sourcePackageRoot>custom.header</sourcePackageRoot>
</customization>
<customization>
<targetPackageRoot>org.alfresco.share.pages</targetPackageRoot>
<sourcePackageRoot>custom.header</sourcePackageRoot>
<alwaysApply>
<webscript>share-header</webscript>
</alwaysApply>
</customization>
</customizations>
</module>
</modules>
</extension>
3) Create a js file share-header.get.js at tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts\custom\header folder under your Alfresco.
4) Write below code in share-header.get.js file as per your need.
a) To hide create site menu for non-admin user
var sitesMenu = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SITES_MENU");
if (sitesMenu != null)
{
if (!user.isAdmin)
{
sitesMenu.config.showCreateSite = false;
}
}
b) To hide help option under user-items
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_USER_MENU_HELP");
c) To hide People menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_PEOPLE");
d) To hide My Files menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
e) To hide Shared files menu
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SHARED_FILES");
5) If you want to hide only for non-admin users, write that line in below if condition.
if (!user.isAdmin)
{
//write your line here
}
6) Restart Alfresco server.
Hope this post helps someone.
3 comments:
Hello!
In version 'alfresco-community-installer-201605-win-x64' folder 'CUSTOM' in E:\alfresco-community\tomcat\webapps\share\WEB-INF\classes\alfresco\web-extension\site-webscripts absent.
How to be?
Hi Pavel,here custom is not a default folder. This folder is created here for custom use only.
you can use any folder name but make sure to change the path here
folderName.header
change sourcePackageRoot in custom-widget.xml file
Post a Comment