SHL Index Overhaul
|
esilverm
Site Management Index Dad
Hey everyone! Hope you are having a good holiday season and a good end to 2022. For the last month I have been hard at work building the SHL index from the ground up, and I’m happy to announce the SHL index V2. Included in this change there are several improvements coming to the index later today. I will describe some of these here in order to get more money from this project since it was a lot of work but probably won’t net me much SHL salary lol. By the time this is posted the new index should be publicly visible.
These first changes address issues that have either been bugging me, or are new features that have been added with this rewrite. Faster Box Scores Ever since box scores came out I have had Luke asking and complaining about how long it takes to load them. This was for a number of reasons. First, I wrote the backend for it in maybe 2 days and didn’t really think much of it since it worked well. Second, this “faulty” backend route requested data from our db several times with each waiting for the last one to respond. Finally, two of these (unknown to me) requests were not very optimized and caused waits of up to 40s each. I set my goal out in this rewrite to improve speeds for the boxes core page but I didn’t realize how much an improvement this makes. Previously, box scores took 30s to over a minute which is painfully slow. Now after the changes I made, box scores load almost 20x faster. The difference between the two is night and day. You have to see it to believe it. TL;DR: Boxscores now load 20x faster (in just a few seconds) Historical Team Logos When I started making the index I collected each team’s logo and converted it to SVG format. Whenever a team rebrands I (and/or @DrunkenTeddy) take their new logo and convert it to SVG format too. After this is done, we add it to the collection of logos. Over the seasons team logos have come and gone but they all remain in the index SVG stash collecting dust. I have wanted to find a good way to use them and show the correct logo based on the season and with the new rewrite I have a much better solution for this. Now, whenever you see a logo in the index, it is based on the season you are looking at. For instance, visiting S57 or earlier will show the original Winnipeg Logo, visiting S60 will show the earlier Winnipeg Aurora logo, and visiting the current season will show the Winnipeg Aurora Bear constellation logo. With this, it will be possible to go back further in history and show logos from any point in time. Also, you may notice that logos load faster when navigating around the site. This comes with a change that affects how we squash logos together to minimize the number of things the browser needs to render since logos are reused throughout the site. TL;DR: Visiting teams in past seasons will show previous logos from before rebrands Linking and Navigation Improvements Have you ever been using the player page to look at players and tried to right click on a name to open it in a new tab but it wouldn’t let you do so? This was one of the most annoying things in the current iteration of the index for me, since I love navigating through each player to see their build or historical stats but want to keep my last location on the site preserved. Thanks to a bump in the version of our site’s framework, now every link can open in a new tab. Also there are more places that link to player pages so you don’t need to go between pages all the time to get to a player’s page. TL;DR: you can right click links to open them in a new tab now CSV Export Button for Tables This feature comes thanks to @sve7en who requested this back in September and when I came around to implementing it, the change was much easier than I had expected it to be. Now for every table except the ones on the standings page, there is a Save button in the top right above it that will save a file containing the raw table data as a CSV. What is even more cool is that on the Players page with the new search filter, your filter affects what is saved to the CSV. So if you filter by a certain position, you can save exactly what is in the current filtered table. New Table Filter for Players Tables If you read the change above, you may be wondering what I mean by “New Search Filter” for players. What I mean is that I changed up the whole functionality so you can search *BOTH* names and positions (and potentially more in the future). This search filter has a new syntax that you should learn. Text only searches will filter by names only. It relies on a “fuzzy” search which allows for spelling errors and shows all potential matches. Searching by position works when you add a position filter to your search query. You do it by writing “position:” and then any positions you want to filter by. For instance if you want to filter to show only Centers, you should type `position:C`, and if you want to show all defensemen, you should type `position:LD,RD`. TL;DR Filtering players is a lot more flexible now Team Stats Table Since finishing up the FHM there has been one small change that I have yet to get to. This change was to add Team Stats to the API. The Team Stats data includes team-by-team data on special teams, goals, shots, hits, faceoffs, etc. I added a table for this on the Teams page and also included single team specific stats on team pages. Now that all the bigger things are out of the way, here is a list of the smaller stuff I added that I don’t need to get into detail about since it is more self-explanatory. - Option to hide played games on the Schedule Page - Career stats for Player pages - State persistence in the URL on certain pages so you can come back to your original saved state - Adjustments to certain UI elements to make them more accessible to disabled users - Minor loading state improvements - Better frontend code to make adding features much easier This has been a fun project to work on and shows how much I have learned since building the index the first time. If you or anyone on your team wants to get involved with SHL development, reach out to @DrunkenTeddy or me and we can get you set up in the SHL dev server. Any level of expertise is welcome! Pass Forfeit (D) ● Player Profile
Special thanks to Blitz, jhockey, Ragnarr, and sulo for the gorgeous sigs <3
ACapitalChicago
Registered :boblincoolright:
luke
SHL GM Admiral of the Data Seas
RashfordU
HOF Committee Winnipeg Aurora
holy crap this is beautiful!
[img=0x0]https://cdn.discordapp.com/attachments/889201044154904606/1150524829653536909/mikko.png?ex=65bff03f&is=65ad7b3f&hm=7f3229285f883239ca6017785e905ed3ff0a8b42b94f57638f43c11a5e635414&[/img][img=0x0]https://simulationhockey.com/tradingcards/4028.png[/img][img=0x0]https://simulationhockey.com/tradingcards/5431.png[/img][img=0x0]https://simulationhockey.com/tradingcards/5570.png[/img][img=0x0]https://simulationhockey.com/tradingcards/7241.png[/img][img=0x0]https://simulationhockey.com/tradingcards/5906.png[/img][img=0x0]https://simulationhockey.com/tradingcards/6149.png[/img][img=0x0]https://simulationhockey.com/tradingcards/7950.png[/img]
Wally
Head Office El Dumbo - Big Spoon - Both Handed
Samsung virtual assistant
Registered Anime Enthusiast
hhh81
SHL GM Brennan Lee Mulligan Stan
Kalakar
Registered 4 man wen
Anthique
SHL GM Quebecer trying to make goalie TPE matter in Texas
Citizen of Adraa
SHL GM Lives on halušky
oh finally, I don't have to open the file when I want to check PP/PK numbers
bless Manhattan Rage | General Manager
thanks Sulovilen for the sig! D | Manhattan Rage | Czechia
Frenchie
Commissioner allegedly doing stuff
That's some insane work!
@jason kranz sig elite / @sulovilen elite sig
[pbl[S73 - IRE - 8 W | 0 OTW | 4 L - Lost in Round 1[/pbl]
JKortesi81
SHL GM S32, S40, S42, S45 Challenge Cup Champion
RAmenAmen
SMJHL GM Posting Freak
charlieconway
Registered Posting Freak
It's insane how much faster the index is now. That's on top of the fact that we have one at all, which is a huge step up from how things were not long ago. Incredible stuff, thank you for everything you and the backend team do for the league
|
« Next Oldest | Next Newest »
|
Users browsing this thread: |
3 Guest(s) |