Hi all, I'm wondering - what's our stance on breaking users projects for QGIS 3 (in extreme circumstances, obviously)?
There's 2 related changes I'd like to make: 1. Kill the old composer attribute table classes: I'd like to kill off the old composer attribute table classes. Here's the situation: - there's currently 2 type of attribute tables in composer, one is the old one which only allowed single frames, the other is the newer type which allows tables flowing across pages - since 2.6 all projects have created the newer composer tables - it's been impossible to create new tables using the old classes, but projects with existing old tables could still be used I'd now like to remove all the code regarding the original tables. It amounts to 1000s lines of mostly unused code. The side effect of this is that people loading pre 2.6 projects will be missing any attribute tables from composers. I think this is a fair option - 2.6 is ancient history and it's not a big deal to reinsert tables into a composer. Writing transition code to automatically upgrade the tables would be a couple of hours work which I cannot afford, and honestly seems like a waste of time to me. 2. Kill off some old expression variables I've also got a PR in place to clean up the expression classes (https://github.com/qgis/QGIS/pull/3364). These classes have got very messy and fragile since the introduction of expression contexts/variables (due to requirement to keep api compatiblity) and it's time to fix this. A side effect is that the use of the following "special columns" in expressions no longer works: $rownum (has been replaced by @row_number) $scale (has been replaced by @map_scale) $map (has been replaced by @map_id) $numpages (has been replaced by @layout_numpages) $page (has been replaced by @layout_page) $feature (has been replaced by @atlas_featurenumber) $atlasfeatureid (has been replaced by @atlas_featureid) $atlasfeature (has been replaced by @atlas_feature) $atlasgeometry (has been replaced by @atlas_geometry) $numfeatures (has been replaced by @atlas_totalfeatures) Expression variables have been around since 2.12, so there's been plenty of time for users to fix their expressions. Again, I've toyed with the idea of writing an automatic translator but 1. I don't have the time 2. It's always going to be fragile 3. Results in hundreds of lines of code which we'll have to drag around forever. I'd rather just make a note of these changes in the release notes and get users to upgrade their expressions to match. There's a few more I'd like to change/rename (eg $CURRENTDATE in composer labels - I never even knew this existed until looking at the code. I think it should be killed and replaced with a generic date('dd/mm/yy') type function). Thoughts? Nyall _______________________________________________ Qgis-developer mailing list [email protected] List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
