We need to finish writing the code that updates existing 1.x installations to 2.0. The database changes are sketched in on the feature/migration branch (under /jobs/Neatline_Migrate.php). This is what's involved:
For fields that are structurally unchanged, finish altering the existing columns to match the new names (this should already be done, but needs to be checked and tested).
Add columns that have been added to NeatlineRecord and NeatlineExhibit that were absent in 1.x.
"Flatten" out the attribute inheritance system from 1.x - for example, where the value of stroke_color could be null on an individual record, and the value would be gathered at query time by looking for an upstream value on a parent record or the exhibit object. The easiest way to do this is probably to migrate a legacy version of the original NeatlineDataRecord model (which already implements all the required accessor methods) and use it in the migration to compute the styles and bake the values directly onto the records.
For records that reference Omeka items with WMS services added by way of the old Neatline Maps plugin, set the WMS address and layers directly to the wms_address and wms_layers fields on the Neatline records.
Convert the old is_timeline and is_items fields to the new widgets field on NeatlineExhibit, which now stores a comma-delimited list of widget id's (eg, SIMILE,WAYPOINTS).
Test the migration on all of the original demo exhibits.
We need to finish writing the code that updates existing 1.x installations to 2.0. The database changes are sketched in on the
feature/migration
branch (under/jobs/Neatline_Migrate.php
). This is what's involved:NeatlineRecord
andNeatlineExhibit
that were absent in 1.x.stroke_color
could benull
on an individual record, and the value would be gathered at query time by looking for an upstream value on a parent record or the exhibit object. The easiest way to do this is probably to migrate a legacy version of the originalNeatlineDataRecord
model (which already implements all the required accessor methods) and use it in the migration to compute the styles and bake the values directly onto the records.wms_address
andwms_layers
fields on the Neatline records.is_timeline
andis_items
fields to the newwidgets
field onNeatlineExhibit
, which now stores a comma-delimited list of widget id's (eg,SIMILE,WAYPOINTS
).