The GPR website has been written using the PHP scripting language. This is a server-side system . This means that it does all of its processing on the web server before sending the completed page to the user.
The GPR uses MySQL as its database. This is accessed by the PHP scripts that form part of each web page.
Within any database, information is stored separately in different areas know as tables. These tables can be linked together and this is one of the mechanisms that make databases so powerful. The GPR system uses many different linked database tables but most of its grave information is stored within three main tables.
The cemetery table is rather like the index of a book in that it provides the methods that shows where graves monuments and the people mentioned on them are located.
Besides holding the normal information relating to its physical location, the cemetery table also holds a code that tells the system what kind of cemetery it is. This is required because different types of cemeteries need to be displayed in diffferent ways.
The current types of cemetery defined within the GPR are:
As you would expect, the grave table contains information about the actual grave.
It holds details of its location or cemetery plot number, if these are available. It also holds the name and number of images that have been taken by the GPR. Although this is normally just one, in some cases there can be ten or more.
Whenever the grave detail web page for a grave is viewed, a counter within this record is updated. The also occurs whenever someone requests a higher quality image.
Each grave record also contains details of the volunteers who photographed and indexed it. This information was displayed on each grave detail page but because of the new EU data protection regulation, this feature has been removed.
It also has a pointer to the cemetery in which it is located.
This the database table that holds all the information about each name mentioned on a grave monument. Besides this information, it also has pointers back to the cemetery and grave that it is assocated with.
Associated with each of the above three tables, there are three linked information tables. These hold whatever text is available about the cemetery, grave and person. Such information may just be a few words or else many pages in length.
All of these tables are linked together by using complex database "joins".