GPRM Web Data Question

Discussions on race preparation, race management, sound effects, and other race related software. This includes freeware, shareware and commercially available software.
Post Reply
User avatar
Vitamin K
Master Pine Head
Master Pine Head
Posts: 980
Joined: Sat Apr 20, 2013 7:26 pm
Location: Montgomery County, MD
Contact:

GPRM Web Data Question

Post by Vitamin K » Tue Sep 01, 2015 11:34 am

Hi Randy,

Pretty cool to see this new feature coming. A question:

If the computer running the local webserver happens to be hooked up to the Internet, is it able to share this server over a wide area network? Or will it only operate as localhost?

Corollary to that, could, say a computer run it on localhost and then also operate, say, a reverse proxy server to allow incoming requests to talk to the local server?



User avatar
gpraceman
Site Admin
Site Admin
Posts: 4607
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman » Tue Sep 01, 2015 4:07 pm

Both GPRM and the Derby Web Data app need to access the race data file. While the Derby Web Data app could easily be hosted on an Internet web server, you would also need to host the data file on an Internet sever so the web app can access it. One problem with that is GPRM is not currently setup to connect to an Internet database. While I could build that capability into GPRM, that seems rather unwise. If you lose your Internet connection in the middle of a race, you'd be unable to continue racing without a total restart (and having to switch to a local data file), as GPRM would lose the connection to the Internet database. The more reliable way is to keep the data file localized to the race computer.

You could always figure a way to host the app on the Internet and sync the local data to a data file the app can access, but that is beyond the scope of the Derby Web Data app. You also would lose the ability to manage check-in and awards from the web app.

As for accessing the web app, the race crew and spectators will need to be given the IP address of the computer and name of the app (e.g. http://192.168.1.1/derbydata/). Anyone within range of the wireless router or attached to the local network will be able to access the web app. Of course, I do recommend that the wireless router be configured so people will need a password to access the wireless network and only the people at the event should be given that password.


Randy Lisano
Romans 5:8

Awana Grand Prix and Pinewood Derby racing - Where a child, an adult and a small block of wood combine for a lot of fun and memories.

User avatar
Vitamin K
Master Pine Head
Master Pine Head
Posts: 980
Joined: Sat Apr 20, 2013 7:26 pm
Location: Montgomery County, MD
Contact:

Re: GPRM Web Data Question

Post by Vitamin K » Wed Sep 02, 2015 7:41 am

gpraceman wrote:Both GPRM and the Derby Web Data app need to access the race data file. While the Derby Web Data app could easily be hosted on an Internet web server, you would also need to host the data file on an Internet sever so the web app can access it. One problem with that is GPRM is not currently setup to connect to an Internet database. While I could build that capability into GPRM, that seems rather unwise. If you lose your Internet connection in the middle of a race, you'd be unable to continue racing without a total restart (and having to switch to a local data file), as GPRM would lose the connection to the Internet database. The more reliable way is to keep the data file localized to the race computer.

You could always figure a way to host the app on the Internet and sync the local data to a data file the app can access, but that is beyond the scope of the Derby Web Data app. You also would lose the ability to manage check-in and awards from the web app.

As for accessing the web app, the race crew and spectators will need to be given the IP address of the computer and name of the app (e.g. http://192.168.1.1/derbydata/). Anyone within range of the wireless router or attached to the local network will be able to access the web app. Of course, I do recommend that the wireless router be configured so people will need a password to access the wireless network and only the people at the event should be given that password.
Hmm, I was thinking of a simpler solution. Consider:

Computer is connected to Internet source...home DSL for example, and has port 80 open (or forwarded from the router). Either through a static IP or a dynamic service, it has been assigned an address... pinewoodrace.pack777.org let's say. This computer is also what's running GPRM with the database hosted locally.

So the computer launches Derby Web Data, and it runs on a local IP address: 192.168.1.100, let's say. Then, on the same computer, the user launches a proxying web server that listens on the public IP (pinewoodrace.pack777.org) and forwards these requests to the local server at 192.168.1.100. That way, remote users going to pinewoodrace.pack777.org/derbydata/ are able to view the race stats through the web interface.

I would think that nginx for Windows could handle the proxy duties well. You could also assign a basic password auth at the proxy layer to restrict viewers, if desired.



User avatar
gpraceman
Site Admin
Site Admin
Posts: 4607
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman » Wed Sep 02, 2015 8:51 am

That doesn't sound any simpler to me. Anyways, you could always give it a try.


Randy Lisano
Romans 5:8

Awana Grand Prix and Pinewood Derby racing - Where a child, an adult and a small block of wood combine for a lot of fun and memories.

User avatar
Vitamin K
Master Pine Head
Master Pine Head
Posts: 980
Joined: Sat Apr 20, 2013 7:26 pm
Location: Montgomery County, MD
Contact:

Re: GPRM Web Data Question

Post by Vitamin K » Wed Sep 02, 2015 9:06 am

gpraceman wrote:That doesn't sound any simpler to me. Anyways, you could always give it a try.
Seems a lot simpler than trying to come up with some kind of data syncing solution. And, if it worked, it could conceivably provide remote race data access for proxy events (like league races, or the MAs).

Will there be a demo available of race data that could possibly be used for experimentation?



User avatar
gpraceman
Site Admin
Site Admin
Posts: 4607
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman » Fri Sep 04, 2015 2:29 pm

Vitamin K wrote:Will there be a demo available of race data that could possibly be used for experimentation?
Yes, I will include a sample data file.


Randy Lisano
Romans 5:8

Awana Grand Prix and Pinewood Derby racing - Where a child, an adult and a small block of wood combine for a lot of fun and memories.

User avatar
Vitamin K
Master Pine Head
Master Pine Head
Posts: 980
Joined: Sat Apr 20, 2013 7:26 pm
Location: Montgomery County, MD
Contact:

Re: GPRM Web Data Question

Post by Vitamin K » Fri Sep 04, 2015 2:41 pm

gpraceman wrote:
Vitamin K wrote:Will there be a demo available of race data that could possibly be used for experimentation?
Yes, I will include a sample data file.
Very cool. Once I can get my itchy little fingers on the demo, I'll try the reverse-proxy setup and report back. Might provide a way forward for the League-Racers and the folks who run big Scout proxy races like the Mid-Americas.



User avatar
gpraceman
Site Admin
Site Admin
Posts: 4607
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman » Sat Dec 05, 2015 12:34 pm

Vitamin K,

After a big delay caused by having to tear down and replace our rotting deck, the DebyWeb app has been finally released. There isn't a demo available for the app. Though, I may end up creating an online demo app so people can browse around. For now, there are screenshots posted on our website. However, the app does come with a sample data file, just like GPRM, so people purchasing it can see the pages filled with data.

I was thinking a bit more about your reverse proxy idea to make the race data available online. I can think of a solution that may be easier to implement. DerbyWeb uses Sqlite data files, which are quite compact, so you can periodically FTP the data file to the online web server, which will also be running DerbyWeb. You would just need a small app running on the race computer to monitor the data file and after a heat is completed, FTP the data file to the online server. You might just be able to use off the shelf FTP software, like WinSCP to schedule uploads every so many minutes. It is not as nice as something that monitors the data file and uploads only after a completed heat, but it still gets the data to the Internet users.


Randy Lisano
Romans 5:8

Awana Grand Prix and Pinewood Derby racing - Where a child, an adult and a small block of wood combine for a lot of fun and memories.

Post Reply