-
I've implemented new
redirectmodule and make it default on/with redirection to/dashboard. That should resolve this issue.I had to slightly modify
requestUricalculation (seeRedirectServlet) as code forX-Forward-Prefixwas not behaving correctly for redirects for/favicon.ico. Please review if my changes are correct.IndexModuleis now disabled, but I was wondering if we shouldn't just move it. -
As for adding
advanced menu, I can work on that, but I wanted to confirm that current behavior is correct. Also, dashboard is not only for admins, so I wonder who should see thisadvanced menu, or if we should point/link to/index/path withIndexModulebeing deployed there? -
I've implemented new
redirectmodule and make it default on/with redirection to/dashboard. That should resolve this issue.Works like a charm
I had to slightly modify
requestUricalculation (seeRedirectServlet) as code forX-Forward-Prefixwas not behaving correctly for redirects for/favicon.ico. Please review if my changes are correct.The substring? Seems fine.
IndexModuleis now disabled, but I was wondering if we shouldn't just move it.Hmm... could be useful.
As for adding
advanced menu, I can work on that, but I wanted to confirm that current behavior is correct. Also, dashboard is not only for admins, so I wonder who should see thisadvanced menu, or if we should point/link to/index/path withIndexModulebeing deployed there?In general previous behaviour with index listing everything even wasn't too good as it could expose regular user to "admin stuff".
Maybe, for now, to limit the scope (Dashboard could be improved in the future) just add a link to
/index/(that would maybe only be visible to admin users) in the left hand menu (below "Server info")? -
I've applied changes in the recent commit.
Moved "index" to
/indexfrom/, added link in dashboard called "endpoints" on the sidebar (visible only to admin).While working in this, I've encountered an issue with accessing
Server infoin the sidebar. Sometimes I got HTML web page and in some cases I've got JSON file. Results was always consistent and changed only when server was restarted.I've narrowed it down to
JaxRsRequestHandler::test(HttpServerRequest, String)implementation that was responsible for selecting method to run by checking if produced content type matchesAcceptheader. As handlers were kept inSetandAcceptheader always at the end had*/*it caused random method to be returned.To solve that I've added a new method
JaxRsRequestHandler::match(HttpServerRequest, String), that returnsRequestHandlerMatcherwhich contains "handler, preference, and matcher (instead of just matcher) allowing us to gatherRequestHandlerMatcherfor all matching handlers and select the best one based on preference. That resolve the issue, but I've made a few minor changes (including deprecations) to make API more consistent.
| Type |
Improvement
|
| Priority |
Normal
|
| Assignee | |
| Version |
none
|
| Sprints |
n/a
|
| Customer |
n/a
|
-
tigase-server-8.5.0 Open
Currently, by default we show "index" page that lists all the available module.
In order to improve user experience new Dashboard should be the default view while the rest of the modules should be listed under "advanced menu" somewhere in the dashboard. To avoid problems with routings/paths Dashboard should still be served under
/dashboardpath but facilitate the default experience/path should redirect to/dashboardautomatically