This website uses cookies to ensure you get the best experience on our website.

Skip to content
LOGO
  • Company

    About IGNEK

    Learn about our story and our mission.

    Careers

    We're hiring!

    We always looking for talented peoples. Join our team!

    Blogs

    The latest industry news, updates and info.

    Case Studies

    Take a closer look at the projects we've delivered

    Webinar

    Watch our latest organized webinar

    Get in touch with our HR team

    • hr@ignek.com
    • +91 93284 95160
    • Ahmedabad, Gujarat, India – 382470
  • Services

    Enterprise Portal Development

    Custom Enterprise Portal Development for flawless Solutions

    Dedicated Development Team

    Expand Teams, Optimize Development with Our Expertise

    Back-end Development

    Empowering your digital presence with robust backend development expertise

    Front-end Development

    Crafting engaging user experiences through expert frontend development

    Digital Transformation

    Embrace digital transformation by modernizing process

    SaaS Development

    Transform your business with SaaS Innovative Solutions

    Technologies

    Liferay Services

    Development & Customization

    Theme

    Upgradation

    Migration

    Proof of Concept

    Performance Tunning

    Architecture

    Support & Maintenance

    E-commerce

    Expert Advice

    React Services

    Enterprise Development

    Custom Application

    Single Page Application

    Architecture

    API Integration

    Migration

    Consulting

    Maintenance & Support

    Spring Boot Services

    Web Service

    MVC Web Development

    API Integration

    Security

    Migration

    Microservices

    Support & Maintenance

    AEM Services

    Consulting Service

    Site Development

    Migration & Upgradation

    Integration

    Maintenance & Support

    Custom Solutions

    Content Management

    Team Augementation

  • Solution

    Ready for digital excellence

    In our rapidly evolving world, businesses are always on the lookout for fresh ways to improve their operations and connect with their audiences.

    Contact US

    Solutions

    SaaS : Software As A Service

    Transforming industries through cutting edge SaaS solutions.

    Customer Portal : Boost Business Productivity

    Streamline operations and enhance productivity with our Customer Portal solution.

    Liferay Based Intranet Portal

    Internal portal for company communication, collaboration and resources

    Integration

    Matomo Integration with Liferay

    Integrate Matomo to enable user interactions seamlessly.

    Microsoft Teams integration with Liferay

    Integrate to enable seamless collaboration, messaging within your portal.

    Jira Integration With Liferay

    Optimizes business operations by integrating with Jira.

  • Hire Us

    Liferay

    Get expert Liferay developers for seamless portal solutions.

    React JS

    Get expert ReactJS developers for dynamic web solutions.

    Web Developer

    Get custom web solutions from IGNEK's expert developers.

    Spring Boot

    Get top-notch Spring Boot developers for your project success!

    Healthcare

    Get top Healthcare Developers for cutting-edge medical software.

    MERN Stack

    Get expert MERN developers from IGNEK for custom, innovative project solutions.

    Why Hire Developers From IGNEK ?

    • Certified Developer
    • Transparent Communication
    • Flexible Hiring Modals
    • Fully Signed NDA
    • Cost Effective
    • Easy Exit Policy

    Get in touch with our Sales team

    • sales@ignek.com
    • +91 6351576580
    • info@ignek.com
    • Ahmedabad, Gujarat, India – 382470
SCHEDULE CALL
  • COMPANY
    • About
    • Case Studies
    • Blogs
    • Career
    • Webinar
  • SERVICES
    • Enterprise Portal Development
    • Dedicated Development Team
    • Back-end Development
    • Front-end Development
    • Digital Transformation
    • SaaS Development
  • SOLUTION
    • Customer Portal:  Boost Business Productivity
    • SaaS : Software as a Service
    • Liferay Based Employee Intranet Portal
  • TECHNOLOGY
    • Liferay Services
      • Liferay Development and Customization
      • Liferay Theme Development Service
      • Liferay DXP 7.4 Upgrade
      • Liferay Migration
      • Liferay Proof Of Concept
      • Liferay Performance Tuning
      • Liferay Architecture Design Service
      • Liferay Support And Maintenance Service
      • Liferay Ecommerce Development
      • Liferay Expert Advice
    • ReactJS Services
      • ReactJS Enterprise Application Development
      • ReactJS Custom Application Development
      • ReactJS Single Page Application Development (SPA)
      • ReactJS Applications Architecture
      • ReactJS API Integration
      • ReactJS Migration
      • ReactJS Consulting
      • ReactJS Maintenance and Support
    • Spring Boot Services
      • Spring Boot Web Development Service
      • Spring MVC Web Development
      • Spring Boot API Integration Service
      • Spring Boot Security
      • Spring Boot Migration Service
      • Spring Boot Microservices
      • Spring Boot Support & Maintenance Service
    • AEM Development Services
      • AEM Consulting Services
      • AEM Site Development
      • AEM Migration & Upgradation
      • AEM Integration Services
      • AEM Maintenance & Support
      • AEM Content Management
      • Custom AEM Solutions
      • AEM Team Augmentation
  • INTEGRATION
  • HIRE US
    • Hire Liferay Developer
    • Hire ReactJS Developer
    • Hire Spring Boot Developer
    • Hire Healthcare Developer
    • Hire Web Developer
    • Hire MERN Stack Developer
  • CONTACT US
  • Company

    About IGNEK

    Careers

    We're hiring!

    Blogs

    Case Studies

    Webinar

    Get in touch with our HR team

    • hr@ignek.com
    • +91 93284 95160
    • Ahmedabad, Gujarat, India – 382470
  • Services

    Enterprise Portal Development

    Dedicated Development Team

    Back-end Development

    Front-end Development

    Digital Transformation

    SaaS Development

    Technologies

    Liferay Liferay Services
    • Development & Customization
    • Theme
    • Upgradation
    • Migration
    • Proof of Concept
    • Performance Tuning
    • Architecture
    • Support & Maintenance
    • E-commerce
    • Expert Advice
    React React Services
    • Enterprise Development
    • Custom Application
    • Single Page Application
    • Architecture
    • API Integration
    • Migration
    • Consulting
    • Maintenance & Support
    Spring Boot Spring Boot Services
    • Web Service
    • MVC Web Development
    • API Integration
    • Security
    • Migration
    • Microservices
    • Support & Maintenance
    AEM AEM Services
    • Consulting Service
    • Site Development
    • Migration & Upgradation
    • Integration
    • Maintenance & Support
    • Custom Solutions
    • Content Management
    • Team Augmentation
  • Solution

    Ready for digital excellence

    In our rapidly evolving world, businesses are always on the lookout for fresh ways to improve their operations and connect with their audiences.

    Contact US

    Solutions

    SaaS : Software As A Service

    Customer Portal : Boost Business Productivity

    Liferay Based Intranet Portal

    Integration

    Matomo Integration with Liferay

    Microsoft Teams integration with Liferay

    Jira Integration With Liferay

  • Hire Us

    Liferay

    React JS

    Web Developer

    Spring Boot

    Healthcare

    MERN Stack

    Why Hire Developers From IGNEK ?

    • Certified Developer
    • Transparent Communication
    • Flexible Hiring Modals
    • Fully Signed NDA
    • Cost Effective
    • Easy Exit Policy

    Get in touch with our Sales team

    • sales@ignek.com
    • +91 6351576580
    • IGNEK
    • Ahmedabad, Gujarat, India – 382470
  • SCHEDULE CALL

Liferay User setting navigation override

  • Liferay
  • August 3, 2022

Share On :

Problem 

Liferay gives lots of user settings. Here we provide a solution for removing or hiding unnecessary settings.

Solution 

We want to customize it better to remove the unnecessary settings from the user setting navigation.

Benefits  
  • The Liferay default user setting with some user settings and customize it according to user need.
Prerequisites 
  • Java 
  • Liferay  portal 7.2 +
  • Basic knowledge of Liferay
Environment Requirements 
  • JDK 11
  • Eclipse/Liferay Dev Studio
  • Liferay Portal
Create a Liferay fragment module using the following steps.
  1. Go to Liferay workspace project → modules → new
  2. Select other → Liferay → Liferay Module Project Fragment
  1. Enter the project name.
Navigate to Liferay workspace project
  1. If you don’t have configured the server follow the following steps:
    1. Go to the “windows” setting on the eclipse navigation bar
    2. Select the “show view” -> “other”.
    3. Search servers
Configure server in Eclipse for deployment
    1. Now open the “Servers”.
    2. Create a new server.
Open Servers and creating new server
    1. Select the Liferay server configuration from the menu and press “next”.
Choose Liferay server config
    1. Browse your Liferay in your local and select the Liferay.
Explore Liferay and choose your local option
    1. Press “next” and after that press “finish”.
    2. The Liferay server has been configured and started.
  1. Click on “Next”. And select the following Icon. to browse.
Adding host OSGi bundle
  1.  the “com.liferay.users.admin.web” jar file of user-admin-web.select the jar.
Selecting host OSGi bundle jar file
  1. Select the “Add File From OSGI”.
Selecting override file from liferay icon
  1. Select the following files.
    1. edit_user.jsp:-
      • This file resides in the path “META-INF/resources/edit_user.jsp”.
List of available ODGi bundle to override
  1. Click on “finish”. Finally, a fragment module has been created.
  2. Now, We have to update the “edit_user.jsp” file. 
  3.  we have to add an if statement to only add a custom screen navigator id if the portlet id is equal to my account portlet id. Luckily this is easy to do since my account portlet id is set in the init.JSP
				
					// Update formNavigatorId
/* Begin override of My Account */
//initialize to the real form navigator id.
String formNavigatorId = 
UserScreenNavigationEntryConstants.SCREEN_NAVIGATION_KEY_USERS;
if (portletName.equals(myAccountPortletId)){
    // include the special prefix 
    formNavigatorId = "my.account." + formNavigatorId;
}
/* End override of My Account */

				
			
  1. We have concat the “my.account” with the formNavigatorId. So We have to pass this updatedFormNavigatorId in <liferay-frontend:screen-navigation/>Key attribute.
				
					// Update Liferay_Frontend_screen_navigation
<liferay-frontend:screen-navigation
containerCssClass="col-lg-8 registration-sheet"
containerWrapperCssClass="container-fluid container-fluid-max-xl  container-from-lg scad-user-setting"
context="<%= selUser %>"
key="<%=formNavigatorId%>"
menubarCssClass="menubar menubar-transparent menubar-vertical-expand-lg"
navCssClass="col-lg-3 rounded bg-light registration-tabs p-2"
portletURL="<%= portletURL %>"
/>

				
			
  1. It should be look like following with the updated edit_user.jsp
  2. With the help of updatedFormNavigatorId. The Liferay User Navigation Setting Will be hidden and We will get a blank screen if We access the user setting.
  3. So, We have to override the Liferay User navigation taglib to show specific user settings.
  4. There were two most important factors of liferay-frontend:screen-navigation which are following.
    1. ScreenNavigationCategory
      • This category will be responsible for the top-level navigation.
Admin account details screen
    1. ScreenNavigationEntry 
      • This Entry will be responsible for the left-side navigation.
Admin account details screen
  1. We have to take The navigation category and the navigation entry taglib classes from the source code that we have to show on the page.
  2. For example:-
    1. We want to show information and the password in the left navigation on user settings under the “general” category navigation.
    1. Then We want the following classes from the taglib from the source code of Liferay. From the following path.
      The blog follows the Liferay dxp 7.4.13.u24. 

/liferay-dxp-src-7.4.13.u24/modules/apps/users-admin/users-admin-web/src/main/java/com/liferay/users/admin/web/internal/frontend/taglib/servlet/taglib

    1. The classes are as follows.
      1. For the Category navigation.
        • UserGeneralScreenNavigationCategory
      1. For the Entry navigation
        • BaseUserScreenNavigationEntry
        • UserDisplaySettingsScreenNavigationEntry
        • UserInformationScreenNavigationEntry
        • UserPasswordScreenNavigationEntry
  1. Now, create a Mvc Portlet.
  2. Remove the portlet class and resource folder from the portlet.
  3. Create a constant named “ACCOUNT_PREFIX”. And assign value “”.that we have used in the “edit_user.jsp”. While updating the form navigator.
  4. Now add the following respective gradle/Maven dependency.
				
					// Required Dependency
compileOnly group: 'com.liferay',name:'com.liferay.users.admin.web'
				
			
  1. This dependency will include all the dependencies related to the User-admin-web.
  2. Now create two packages
    1. com.liferay.user.setting.taglib.override.category
    2. com.liferay.user.setting.taglib.override.entry
  3. This package contains the files following.
    1. Category :-
      1. This package contains the classes that will show the categories on the liferay frontend navigation (Top most navigation).
      2. As per the example in the entry package we want the following classes that will be copied from the liferay source code.
        • UserGeneralScreenNavigationCategory.
          • We have to update the return value of the method “getScreenNavigationKey()”.
          • Concat the ACCOUNT_PREFIX with SCREEN_NAVIGATION_KEY_USERS.
				
					// Update Screen_Navigation_Key
@Override
public String getScreenNavigationKey() {
return
          LiferayUserSettingTaglibOverridePortletKeys.ACCOUNT_PREFIX +         
UserScreenNavigationEntryConstants.SCREEN_NAVIGATION_KEY_USERS;
}

				
			
    1. Entry :-
      1. This package contains the classes that will show the entries on the liferay frontend navigation (left navigation).
      2. As per the example in the entry package we will add the following classes that will be copied from the liferay source code.
        • BaseUserScreenNavigationEntry
          • We have to update the return value of the method getScreenNavigationKey()”.
          • Concat the ACCOUNT_PREFIX with SCREEN_NAVIGATION_KEY_USERS.
				
					// Update Screen_Navigation_Key
@Override
public String getScreenNavigationKey() {
return
          LiferayUserSettingTaglibOverridePortletKeys.ACCOUNT_PREFIX +        
UserScreenNavigationEntryConstants.SCREEN_NAVIGATION_KEY_USERS;
}


				
			
    1. Now set the JSP renderer on the entry classes that you want to display on the user navigation setting some are following.
      1. UserDisplaySettingsScreenNavigationEntry
      2. UserInformationScreenNavigationEntry
      3. UserPasswordScreenNavigationEntry
    1. We have to add the following set method of JSPRenderer in every entry class which redirects to the jsp page.
				
					// Required Reference(JSPRenderer)
@Reference(unbind = "-")
      public void setJSPRenderer(JSPRenderer jspRenderer) {
             this.jspRenderer = jspRenderer;
      }
				
			

Note:

  • We have to  set JSP renderer at every entry class method, Because we can’t set the JSP renderer the same as in the original implementation.
  • Otherwise it will be null at runtime.
  1. Now deploy both modules to the liferay server and access the user setting.
  2. You will see there are only available settings that you have defined in the “liferay-user-setting-taglib-override” module.
User display data of a user

Explore Our Services

Discover how we can help your business thrive, whether you’re running a small startup, an SME, or a large enterprise. We’re here to understand your unique needs and goals, offering the expertise and resources to support your journey to success.

Stay informed about our Liferay services and updates by subscribing to our newsletter—just fill in the details below to subscribe.

Loading
Loading...

Related Blogs

December 11, 2019
Customize the look feel of login portlet in Liferay Cover Image
Customize the look & feel of login portlet in Liferay
June 19, 2020
Override Liferay 7 Portal Javascript Cover Image
How To Override Liferay 7 Portal JavaScript ?
April 11, 2023
Create Override the language key using Liferay OOTB Cover Image
Create/Override the language key using Liferay OOTB
Loading...

Digital Solutions for Your Business with IGNEK

4.9

5.0

5.0

5.0

LOGO

Making the world a better place through constructing elegant hierarchies

COMPANY

  • About
  • Career
  • Case Study
  • Blogs

SERVICES

  • Enterprise Portal Development
  • Dedicated Development Team
  • Back-end Development
  • Front-end Development
  • Digital Transformation
  • SaaS Development

HIRE US

  • Liferay
  • Spring Boot
  • ReactJS
  • Healthcare
  • MERN Stack
  • AEM

CONTACT

  • info@ignek.com
  • info@ignek.com
SALES
  • sales@ignek.com
  • (+91) 635 157 6580
CAREER
  • hr@ignek.com
  • (+91) 932 849 5160
  • E 910-912, Ganesh Glory 11, Jagatpur Road, SG Highway, Ahmedabad, Gujarat - 382470

© 2018-2025 IGNEK, Inc. All rights reserved

Linkedin Facebook X-twitter Instagram