GPRM Web Data Question

Discussions on race preparation, race management, sound effects, and other race related software. This is only for software provided by our sponsor, GrandPrix Software Central.
Post Reply
User avatar
Vitamin K
Pine Head Legend
Pine Head Legend
Posts: 1227
Joined: Sat Apr 20, 2013 7:26 pm
Location: Spotsylvania, VA

GPRM Web Data Question

Post by Vitamin K »

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: 4919
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman »

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
Pine Head Legend
Pine Head Legend
Posts: 1227
Joined: Sat Apr 20, 2013 7:26 pm
Location: Spotsylvania, VA

Re: GPRM Web Data Question

Post by Vitamin K »

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: 4919
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman »

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
Pine Head Legend
Pine Head Legend
Posts: 1227
Joined: Sat Apr 20, 2013 7:26 pm
Location: Spotsylvania, VA

Re: GPRM Web Data Question

Post by Vitamin K »

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: 4919
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman »

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
Pine Head Legend
Pine Head Legend
Posts: 1227
Joined: Sat Apr 20, 2013 7:26 pm
Location: Spotsylvania, VA

Re: GPRM Web Data Question

Post by Vitamin K »

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: 4919
Joined: Fri Jun 20, 2003 12:46 am
Location: Highlands Ranch, CO
Contact:

Re: GPRM Web Data Question

Post by gpraceman »

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