Hi Dave & Jim
There is a bit more to it than this. Firstly, if you are getting into displaying large numbers of points (more than a few thousand) you might need to consider using WMS web services from GeoServer to get your points onto the map. If you do this then things will be much faster, though a little more complex to configure. Although WMS itself as a standard does not support any form of filtering, fortunately the GeoServer implementation does support filtering using either WFS or CQL. Fortunately the latter is a fairly simple format.
The Quick Species Maps prebuilt form already uses GeoServer + WMS with a CQL Filter to display each species. It ought to be relatively simple to add a year based CQL filter to the functionality offered by this form.
Also, bear in mind that you could use SLD styling to output different colour dots for different year groups, for example.
If you are sticking to the reporting approach as suggested by Jim, then one additional consideration is that you can also style the points output onto the map using the xml report file. For example the verification reports include the following column definition which sets the stroke colour according to the verification status of each record:
<column name='sc' visible='false' feature_style="strokeColor" sql="case xo.record_status when 'C' then
case o.certainty when 'C' then 'green' when 'L' then 'orange' when 'U' then 'red' else 'blue' end
when 'V' then 'green'
when 'D' then 'orange'
when 'R' then 'red'
else 'black' end" />
Best wishes
John
John van Breda
Biodiverse IT