I'm not sure if this is the right section for this so please forgive me if it isn't. I have 2 questions. The answers to the first will determine if the second question can be asked. My Observations: I know ISPConfig uses ajax requests for navigation. It also uses sessions to store the Module the user is currently on. This makes it impossible to open ISPConfig on 2 tabs and work on 2 different Modules at the same time. It also makes it impossible to copy a URL and paste in a new tab to get the same page. My question is this: Is there a particular reason ISPConfig was designed like this. Maybe a technical reason that makes ISPConfig not open to routing contributions? Am I free to work on the routing so that it still uses AJAX but with dynamic URLs. The way I have it in mind is that When a user clicks on a Module like sites or clients, JS adds /{modulename} to the URL. When a user clicks on list, /{modulename}/list will be added to the url The same will go for tabs When a user refreshes the page, instead of checking the $_SESSION variable to determine the Module to open, the router checks the URL. When the Module is opened, the JS determines if there's a tab param and load the tab
For me, the current system is URLs/tabs in ISPConfig is perfectly great I do not know the reason why it is created like this but its perfect for me.
This has just historical reasons. At the time we started to write ISPConfig 3.0 from scratch, a technology called frames was commonly used, so the first drafts are using HTML frames. It became obvious during development that Frames were phased out in web development step by step and JS becomes more popular, that's why we basically replaced Frames with JS in the code without having to start from scratch. And That#s why the current implementation basically mimics Frames in JS. Using a routing approach is definitely on our roadmap, but we planned to use server-side routing when we do a major overhaul of the way ISPConfig UI is structured code wise. But this is nothing that#s done in the short term, so there might a place for a kind of intermediate solution for implementing routing on the js level in the current UI. btw. Moved this into the dev forum.
Oh right I remember Frames. It was really trendy then. Thank you very much for the brief explanation. By the way, I have to say I love ISPConfig codebase. I love the fact that it doesn't use any of the fancy over-hyped Javascript frameworks. Okay then, I will work on a temporary routing solution.
You can create a MR on git.ispconfig.org. If you don't have the rights to create your own project, send a email with your username to [email protected]