CrossMgr
CrossMgr copied to clipboard
Add custom page to webserver
I've got a nice touch screen oriented page I've written to make use of /bib.js handling for manual timing, and would like to host it using the Crossmgr webserver
I apologise, I'm not experienced with python at all. It looks like webserver.py will handle routes outside the default set by attempting to load from file, but I can't determine what path from. I guessed crossmgrhtml in the install path but that doesn't seem to be the case
Any tips on how to find the correct pathing?
Windows 11, Crossmgr 3.1.17
At present, the built-in CrossMgr web server can only serve its own content, which is dynamically generated based on live race data. It doesn't serve general web pages. It isn't a real web server and isn't able to pull scripts or style sheets from external websites (which would be the first bug report I would get).
Your touch-screen web page sounds cool, but did you know that CrossMgr has a touch-screen interface built-in? On the Record screen there is an icon that looks like a bulls-eye (the touch icon). This makes the display touch friendly (i.e. with input buttons).
Warning about touch screens: The first release of CrossMgr was heavily built on a touch-screen. It's a little-known fact that touch screens get sluggish/unresponsive in cold weather (eg. https://discussions.apple.com/thread/250919610). It's usually OK for a phone that is kept warm in your pocket, but when a touch screen gets cold (0C), you have to hold your finger on the button for a few seconds before it works. This problem seems to be a limitation of the touch screen itself (and perhaps the freezing finger). This completely messes up data entry, and I got numerous bug reports about it (which, of course, I couldn't fix). So, the keyboard input is the default.
On Wed, Mar 29, 2023 at 4:21 PM jezza323 @.***> wrote:
I've got a nice touch screen oriented page I've written to make use of /bib.js handling for manual timing, and would like to host it using the Crossmgr webserver
I apologise, I'm not experienced with python at all. It looks like webserver.py will handle routes outside the default set by attempting to load from file, but I can't determine what path from. I guessed crossmgrhtml in the install path but that doesn't seem to be the case
Any tips on how to find the correct pathing?
Windows 11, Crossmgr 3.1.17
— Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/110, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGXKNI6BEQK7RCOXQYBR3W6SKUBANCNFSM6AAAAAAWML2OVA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
--
Edward Sitarski
Touch screens also struggle when they get hot too. It's not always possible to move to somewhere cooler at a race.
On Wed, Mar 29, 2023 at 8:09 PM Edward Sitarski @.***> wrote:
At present, the built-in CrossMgr web server can only serve its own content, which is dynamically generated based on live race data. It doesn't serve general web pages. It isn't a real web server and isn't able to pull scripts or style sheets from external websites (which would be the first bug report I would get).
Your touch-screen web page sounds cool, but did you know that CrossMgr has a touch-screen interface built-in? On the Record screen there is an icon that looks like a bulls-eye (the touch icon). This makes the display touch friendly (i.e. with input buttons).
Warning about touch screens: The first release of CrossMgr was heavily built on a touch-screen. It's a little-known fact that touch screens get sluggish/unresponsive in cold weather (eg. https://discussions.apple.com/thread/250919610). It's usually OK for a phone that is kept warm in your pocket, but when a touch screen gets cold (0C), you have to hold your finger on the button for a few seconds before it works. This problem seems to be a limitation of the touch screen itself (and perhaps the freezing finger). This completely messes up data entry, and I got numerous bug reports about it (which, of course, I couldn't fix). So, the keyboard input is the default.
On Wed, Mar 29, 2023 at 4:21 PM jezza323 @.***> wrote:
I've got a nice touch screen oriented page I've written to make use of /bib.js handling for manual timing, and would like to host it using the Crossmgr webserver
I apologise, I'm not experienced with python at all. It looks like webserver.py will handle routes outside the default set by attempting to load from file, but I can't determine what path from. I guessed crossmgrhtml in the install path but that doesn't seem to be the case
Any tips on how to find the correct pathing?
Windows 11, Crossmgr 3.1.17
— Reply to this email directly, view it on GitHub https://github.com/esitarski/CrossMgr/issues/110, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABGXKNI6BEQK7RCOXQYBR3W6SKUBANCNFSM6AAAAAAWML2OVA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
--
Edward Sitarski
--
Edward Sitarski
Thanks, I thought it looked like it would load some files from disk if the route couldnt be matched (line 521, webserver.py) but I cant work out what "os.path.basename(up.path)" would result in, looks like its not what I thought it was
I am aware of the Record touch input option on CrossMgr, the page I've created has a button per bib # in the current race, not just 0-9, much quicker inputs when manual timing (just press #30) instead of 3, then 0, then enter). Works fine with a mouse also of course, or on a tablet, or on a phone
It functions fine on an alternate webserver (eg IIS), just need to tell it where CrossMgr is listening. If i can run it off the local webserver it can just post to the current page host + "/bib.js" instead of having to configure the target url, and dont need to install an extra item.
Would you consider merging a PR that added this to the app (new source html file & webserver.py support)? If not I wont go to the trouble to make it fully self contained etc
Looks like this currently, but to make it self contained I will simplify the styling quite a lot