Sunday, May 16, 2021

Changes to the Chronology Report Page

 The chronology page has been a mess since I originated it.  The central problem is that, because I was exploring how to do it, I committed the programmer's gravest sin: hard-coding things that should be dynamically figured out at run-time.  In this case I hard-coded the column header names - here the ceramic horizon names, LHIII, MMI, etc.  That led to a whole bunch of kludges that severely limited the adaptability of the page.  As an immediate consequence I had to repeat nearly all the code in a whole separate page devoted just to Minoan ceramic horizon names.  And ... endless .. I was going to have to create a new Cycladic Chronology page.  Well, worse and worse.

I have now solved all these problems by rewriting the Chronology page to be self-configurable.  It figures out at run-time what ceramic horizon headings are needed and what order to put them in.  Now a single chronology page works for all ceramic horizon combinations.  It works for Minoan, Cycladic and any other horizons in the database.  And, strangely enough, the resulting code is a lot simpler.

Here's what the new page looks like:




Strangely it looks just like the old page except simpler.  Notice that the annoying 'Minoan' button that was in the upper right of the page is now gone.

This example was generated for 'hab' sites in Achaea.  There are 15 such sites in the DB.  The left-most column lists the names of the sites along with their place keys.  Clicking on one of the place keys will create a Place Key Report page for that site.  Mousing over the column headers (ceramic horizon names) will pop up the start and end dates for that ceramic horizon that are listed for it in the DB.  Some of the charts have very many rows and, as you scroll down, you may lose the info about which ceramic horizon is intended.  Mousing over the 'x' will pop up the ceramic horizon name for that column.  The following illustrations show each of those things:


The ceramic horizon name pops up when the 'x' is moused over.
Here the cursor is simulated by the red arrow.



Here the date-range for the ceramic horizon as reflected in
the DB pops up when you mouse over the ceramic horizon name. 
Here the cursor is simulated by the red arrow.

I should finish up by saying that the new chrono page is already released so you can use it.  You get to the chrono page from the control page by 1) pressing the 'report' button and then 2) pulling down the Detail Reports drop down and selecting 'Chronology'.  

Also don't forget that you can generate .kml or .csv(s) from this page and that those can be inputs into QGIS product (and if you don't have that then you should download it and install it and start learning how to use it).  The download page for QGIS is here.

And that's all there is to it.

No comments:

Post a Comment