Hi @mahesh_gunaje
You can have a look if not found yet. I have successfully created a custom tool using this doc.
https://medium.com/@vsr061/create-custom-aem-menu-tools-with-granite-ui-shell-53c56e435f8a
Procedure:
Step 1: Understanding Sling Resource Merger
- Introduction to Sling Resource Merger:
- Learn about the purpose and functionality of Sling Resource Merger in AEM.
- Overlays:
- Understand how overlays work, allowing customization without modifying /libs.
- Overrides:
- Explore overrides for customizing component dialogs, ensuring compatibility during upgrades.
- Setting Up Overlays:
- Create a similar node structure under /apps by overlaying nodes from /libs, specifically focusing on customizing the Tools menu.
Step 2: Exploring Granite UI
- Introduction to Granite UI:
- Learn about Granite UI and its advantages for developing AEM interfaces.
- Project Setup:
- Set up an AEM multi-module Maven project.
- Creating Landing Page:
- Develop a page under /apps/excel-to-json/components/content using Granite UI Shell Page component.
- Integration of Granite Components:
- Integrate Granite Server-Side components like FileUpload and PathField for uploading Excel files and selecting storage paths for converted JSON.
Step 3: Implementing Functionality
- Upload and Conversion:
- Implement functionality to upload Excel files via a Servlet and convert them to JSON format.
- Rendering Custom Tools Menu:
- Add custom nodes under the Tools menu, specifying unique IDs and titles for each item.
Step 4: Finalizing the Landing Page
- Page Properties:
- Configure page properties such as head, title, and content for the landing page using Granite UI Shell Page.
- Client Libraries Integration:
- Include necessary JavaScript and CSS libraries using the IncludeClientlibs component.
- Rendering:
- Test and render the final landing page with the implemented functionalities.
Step 5: Review and Maintenance
- Testing:
- Thoroughly test the custom tools and landing page for functionality and compatibility.
- Maintenance:
- Ensure easy maintenance and future upgrades by adhering to best practices and avoiding modifications to core AEM files.
I hope it will help you out.