Customize Kinetic home page?

We’re upgrading to 2025.2. Is it possible to customize the home page, ie make code changes to it? Not just the Edit / Widget options. I’m not seeing a way to do it in Application Studio.

Specifically I’m looking to make the menu/favorites/recent panel docked by default instead of auto-hide.

Thanks!

3 Likes

Due to the way that panels slide out, Kinetic has not built the homepage in a way that allows the slideout to stay popped out. It will always cover items as a slideout. To fix this, they would need to make these proper frames or something that would allow the rest of the content to be resized into the remaining area while the sidebar is popped out.

I hope I am wrong! Good luck!

2 Likes

Is there a way to customize the home page? Application studio or something else maybe?

I see I could edit index.html, make it run a little script if on the home page, onload… :smiling_face_with_horns:

Not outside of editing the layouts. However, since we are in a browser, you may be able to use some CSS edits to change some of the look and feel. For example, I made a change to the stupid tiny scroll bars using an Edge plugin. See: Look at the size of those scroll bars (Kinetic 2024.1) :SafeHarbor: - Kinetic ERP - Epicor User Help Forum

1 Like

Ok so you’re modifying the html/css on the client side, needing a browser add-in. And you’re also saying there is no way to officially customize the home page (except for the Edit Layout options). Thanks for confirming my thoughts.

I guess I’ll be writing some javascript before we go live with upgrade…!

2 Likes

Ok well I’m pretty happy with this. This is for on-prem. Script goes in the end of index.html. Keep a backup…!
(C:\inetpub\wwwroot\YourAppPool\Server\Apps\ERP\Home\index.html)

<script>
//custom code to auto-open kinetic menu. Pin it open on smart client. Only on home page.
function waitForMenuThenClick() {
    const pollId = setInterval(() => {
        var menuElement = document.querySelector('li#Menu');
        if (menuElement) {
			//Menu exists, but is still loading. Wait before opening menu.
            clearInterval(pollId); 
            setTimeout(() => {
				//Only open menu automatically on Home page.
				if(document.title=='Home'){
					menuElement.click();
					
					//If using the smart client, pin the menu.  Not in the browser as it likes to stay in the same tab.
					const isSmartClient = (window.outerHeight - window.innerHeight == 0); //smart client has no address bar etc.
                    if (isSmartClient) {
						var thumbtackElement = document.querySelector('i.ep-pinned-allow');
						thumbtackElement.click();
					}
				}
            }, 500);
        }
    }, 100);
}
waitForMenuThenClick();
</script>

Thanks Nate for steering me in this direction.

2 Likes

That’s pretty nifty, sir!

I wonder if it could be injected into the homepage on SaaS via the get homepage tiles BO Method.. hmm..

3 Likes