Closed AuroraLS3 closed 4 years ago
Preview of redesign that still needs some work to use JSON instead of hardcoded values: https://rsl1122.github.io/Plan-page-preview/
/server
pageMore steps will be added as the list progresses.
Some more challenging steps have been left incomplete until most things are functional. This way development does not stall on every obstacle. They will be completed later.
Here is a short list of things that have been challenging so far:
If you would like to assist you can join discord on#development-channel to discuss things further.
Suggestion on discord:
Put the unique players graphic for the network as well so we can observe better how much players do we have per day on the whole network ~Luke#2700
Suggestions via PM on discord, content reworded:
header.html
, footer.html
+ network.html
would only have the content/player
pageMore steps will be added as the list progresses.
TODO
-list for /network
pageMore steps will be added as the list progresses.
TODO
-list for /players
pageBug reported by @mibby on Discord
3 bugs were not resolved and were marked as unresolved again. If a new fix exists they have been marked solved again. More bugs were discovered
Since the version will be increased to 5.0 this opportunity can be taken to restructure the packages.
Here is a simplified image of the systems that are on the plugin
Draft of a better package structure
Module: common
com.djrapitops.plan
System
commands
CommandProcess
subcommands
settings
locale
theme
identification
gathering
GatheringProcess
domain
extensions
import
events
timed
storage
upkeep
files
database
transactions (gathering)
queries (delivery)
delivery
upkeep
domain
mutators
rendering
extensions
json
html
export
webserver
cache
response
module
Module: platform
com.djrapitops.plan
gathering
listeners (abstracts on top of events)
timed
identification
java.lang.NullPointerException: null
at com.djrapitops.plan.delivery.webserver.response.Response.send(Response.java:132) ~[Plan-5.0%20ALPHA%20build%20%25buildNumber%25.jar:?]
at com.djrapitops.plan.delivery.webserver.response.RedirectResponse.send(RedirectResponse.java:40) ~[Plan-5.0%20ALPHA%20build%20%25buildNumber%25.jar:?]
at com.djrapitops.plan.delivery.webserver.RequestHandler.handle(RequestHandler.java:113) [Plan-5.0%20ALPHA%20build%20%25buildNumber%25.jar:?]
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) [?:1.8.0_221]
at sun.net.httpserver.AuthFilter.doFilter(Unknown Source) [?:1.8.0_221]
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) [?:1.8.0_221]
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source) [?:1.8.0_221]
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) [?:1.8.0_221]
at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_221]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Exception when reloading after setting Plugin.Logging.Create_new_locale_file_on_next_enable
to true
(Exception due to new modification to the setting during boot)
[21:30:55 WARN]: Exception in thread "Thread-7"
[21:30:55 WARN]: java.lang.NullPointerException
[21:30:55 INFO]: [Plan] Locale: 'Custom' by
[21:30:55 WARN]: at com.djrapitops.plan.identification.ServerInfo.getServerUUID(ServerInfo.java:47)
[21:30:55 WARN]: at com.djrapitops.plan.settings.network.ServerSettingsManager.updateConfigInDB(ServerSettingsManager.java:114)
[21:30:55 WARN]: at com.djrapitops.plan.settings.network.ServerSettingsManager.lambda$prepareFileWatcher$0(ServerSettingsManager.java:100)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.WatchedFile.modified(WatchedFile.java:46)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.FileWatcher.actOnModification(FileWatcher.java:120)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.FileWatcher.handleEvent(FileWatcher.java:114)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.FileWatcher.pollEvents(FileWatcher.java:101)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.FileWatcher.runLoop(FileWatcher.java:95)
[21:30:55 WARN]: at com.djrapitops.plan.settings.upkeep.FileWatcher.run(FileWatcher.java:76)
Spigot 1.14.4 (Jenkins 2472) git-Spigot-94af569-6ddeb98 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT) Plan 5.0-b155
No changes to 4.9.4 config.yml. Per migration instructions, removed web customizations and theme.yml. Looking good, although I despair of migrating my massive customizations.
Two initial issues:
In dark mode the colors are preserved, but their contrast is reduced, do you think the reduced teal is too harsh for the eyes still?
Yes, too harsh in dark mode. But is there a reason that
ParsedElements.SessionAccordion
doesn't set it? I would like the option.
I hope it's clear that I like the rework.
It is set by the color-selector.js when night mode is engaged (it works by inserting an extra style block into the document)
OK. So the old customization tricks will work? plugins/Plan/web/js/color-selector-js
Yes they should work, let me know if they don't (that would be a bug)
That trick will affect all dark mode teal backgrounds. Can I touch just the one?
I think I'll just wait for you to tone it down.
You can add a #tableAccordion .bg-teal
rule
Since you asked, I tested
.bg-teal {background-color: #44475a;color: #eee8d5;}'
(borrowed from .bg-night). It works fine. No bugs here. :)
I'm curious: Why tabs for Performance, but pulldown menus for Online Activity and PlayerBase? Sure, foolish consistency is the province of small minds, but still...
IMHO, all of the background colors for table column titles need to be toned down by quite a bit, in dark mode. Is there a contrast factor that can be configured?
I'm curious: Why tabs for Performance, but pulldown menus for Online Activity and PlayerBase? Sure, foolish consistency is the province of small minds, but still..
The tabs are used when there are multiple graphs for the section. (Tabs are also used on Online Activity Overview). The performance numbers are displayed alongside the graphs. Why the graphs aren't displayed in separate components is because larger vertical scrollbar would affect all pages.
Tabs would not fit Online Activity or Player base, because the pages consist of different layouts (I tried to make each page quickly distinguishable from each other)
I don't have anything against pulldown for performance other than current layout was easier to implement. If I were to split the page I would make a page for the numbers and page for all the graphs vertically stacked.
I appreciate the feedback - I noticed that the tabs reset when the page is loaded again, which is a usability problem that needs resolving. I can't remember if there is an animation when the tab switches, but removing that would make comparing the graphs easier.
IMHO, all of the background colors for table column titles need to be toned down by quite a bit, in dark mode. Is there a contrast factor that can be configured?
I'll probably need to write some code that handles toning down the colors since current colors are hardcoded. After that I'll add an option to theme.yml
Sounds great. Thanks for all the information.
It's good to have lists to keep track of all the things that need doing.
Collection of bugs & improvements that have been found after beta launch:
Other things I feel like need doing:
DataTables warning: table id=DataTables_Table_0 - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3
) - Figure it outResponseCache
holding a ServerPageResponse
, which held a ServerContainer
, which held a ServerKeys.SESSIONS
, which included all of the online Session
s at the time of analysis - If that guess is correct then the issue is fixed since ResponseCache has been removed.)uuid
& server_uuid
with user_id
& server_id
in plan_ping
- This is to reduce the space this table is taking up.Added 21.09:
Added 22.09:
Added 26.09:
Good list. Nothing to add. We look forward to the next drop.
Spigot 1.14.4 latest Plan 5.0-RC-b196 (also b190) MacOS Mojave 10.14.6
Safari 13.0.1 (14608.2.11.1.11) Firefox 69.0.1 Chrome 77.0.3865.90
For all browsers, the View setting is default (aka Actual Size), ie., no zoom.
Can the default font size(s) be adjusted? Not for the entire browser -- other pages are displayed as I want. Text on the Plan pages is larger than other pages, and many fields wrap, even though my browser window is very wide.
Could you send a screenshot? :)
For comparison, I include a SpigotMC screen. Both screens are set to the default View size, ie., no zoom. The window is 1485 pixels wide.
For the Plan screen:
[image redacted]
[image redacted]
If I extend the window to 1530 pixels wide or zoom out 1 click, the text spans no longer wrap. (For reference, the display is ~2230 pixels wide.)
If this is not correctable, I would like the option to configure the default baseline font size, and hope that other font sizes scale relative to the baseline.
This is how it should present -- this is zoomed out 1 click: [image redacted]
Since everything is based on rem
units it is possible to scale everything based on font-size
attribute of the <html>
element.
I have added the following in build 204 - It reduces font-size
from 16.5px to 16px on screens smaller than 1500px.
@media (max-width: 1500px) {
html {
font-size: 16px;
}
}
build 204 is available here https://plan.djrapitops.com/job/Player%20Analytics/job/development/
That doesn't seem to work. Is the test max-width == 1500px or max-width < 1500px ?
BTW, build 205 is self-identified as build 204.
max-width means the block inside is applied when window width <= 1500px
OK. I don't see any reduction in the display. The css @ media code block is definitely present in the page source.
Do things change when you make the window larger or smaller? (16 might be the default font-size on Safari, which would explain if there is no difference)
The font-size does not appear to change as I move back-and-forth across the 1500px boundary. I customized the block to
@media (max-width: 1500px) {
html {
font-size: 14px;
}
}
and it behaves as desired. (So 16px appears to be the Mac Safari default.) This works fine for me; I am quite comfortable with customizations. For others, YMMV.
It looks like Chrome had 16px as default as well.
I have changed it to a relative reduction (95%) and that seems to work as intended on all browsers. (Tip from https://stackoverflow.com/a/13669422) - Should be good enough for other users as well. :)
Excellent. Thanks.
Perhaps reduction should be based on a proportional comparison: windowWidth/baseWidth ?
windowWidth/baseWidth
Unfortunately it's very difficult to get something that reduces it correctly (I don't know a way to do this with just css)
I tried something similar in another project when an svg image went outside of its box, and gave up after trying to fix the issues with it (a big can of worms) for the whole day.
Thanks. I'm good with 95%. :) PS: https://plan.djrapitops.com/job/Player%20Analytics/job/development/ is returning "Bad Gateway".
Installed the latest plan 5, and noticed some issues w/ buycraft integration:
Module is quite small (even on 2k/4k monitor!): It also has nearly no padding on some parts of that module.
Also, is it possible to get the buycraft graph back?
Module is quite small (even on 2k/4k monitor!):
Thanks for letting me know - I'll move plugins with 3 wide tables to their own tabs
Also, is it possible to get the buycraft graph back?
Unfortunately I didn't implement a graph API yet to DataExtension API, so it is not possible at the moment. Implementing a graph API would delay this update by one whole month so that is why it was postponed.
Why the graph is no longer displayed is because the PluginData
API was removed, and BuyCraft stuff was moved to DataExtension API (stores things in the database). PluginData
was dependent on proxy<->server connections that were removed in this update. I'll try to get graphs back in 5.1 or 5.2
Is your feature request related to a problem? Please describe.
The current design limits what kind of information can be conveyed efficiently, and some useless information is displayed on the pages.
Problems with current design
Describe the solution you'd like
Interface redesign with a more up to date template.
Requirements:
Additional context
Current form of analysis uses quite a lot of memory. Optimizing this could be achieved during the redesign.