performant-software / Neatline

A lightweight framework for building interactive maps and publishing them on the web.
www.neatline.org
Other
105 stars 34 forks source link

Finish 1.1.x -> 2.0 migration #191

Closed davidmcclure closed 11 years ago

davidmcclure commented 11 years ago

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:

  1. 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).
  2. Add columns that have been added to NeatlineRecord and NeatlineExhibit that were absent in 1.x.
  3. "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.
  4. Convert old KML coverages to WKT using https://github.com/phayes/geoPHP.
  5. 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.
  6. 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).
  7. Test the migration on all of the original demo exhibits.
davidmcclure commented 11 years ago

Done.