[QGIS-Developer] Auxiliary data storage for labeling, UNDO/REDO - where does it belong to?

Nyall Dawson nyall.dawson at gmail.com
Tue Aug 22 09:20:31 PDT 2017


On 23 August 2017 at 01:03, Alexandre Neto <senhor.neto at gmail.com> wrote:
> If I may,
>
> I would prefer to have one global undo/redo stack of buttons for all project
> related tasks in QGIS main window (this should include labels, styles,
> layers order, layer adding and so on). Even if that means that if you go
> back too much, you risk removing some layers from the project, or other more
> destructive actions. IMHO, having segmented undo/redo will also create
> confusion among the users. Map composer, as a different window is the
> exception, and should work separately.

+1, especially keeping composer undo stack separate

>
> Thanks for the work on auxiliary data storage, that will be great!!

+100

Nyall

>
> Alexandre Neto
>
> Régis Haubourg <regis.haubourg at gmail.com> escreveu no dia terça, 22/08/2017
> às 14:47:
>>
>> Hi all,
>>
>> one major drawback of QGIS has long been that labeling was considered as
>> part of the datasources, which can be true in some cases, but often it more
>> belong to a project map object
>>
>> We, at Oslandia, working on adding Auxiliary storage capabilities to QGIS,
>> which was discussed in several QEP [1] before.
>>
>> Now we are close to merge but the work but I would like to discuss some
>> ergonomics and design polishing.
>>
>> In all GIS tool, custom labeling informations have been stored in project
>> file, except in QGIS (which was a brilliant idea to keep it simple !).
>>
>> A user will now have two ways of storing labeling data :
>>  - In the datasource by manually adding the fields and setting the
>> corresponding labeling widget. Only advanced users, with grants on the
>> datasource do that
>> -  Using an auxiliary data source sqlite db stored inside the project,
>> just directly using the labeling toolbar, even on readonly layers. 90 % of
>> the users will use that I think.
>>
>> If we consider that a label modification (location, style, rotation ...)
>> belongs to a project, then we save it when a user saves the project.
>> If we consider it is belonging to the data, we save it with data save
>> button.
>> Rollback for data edits exists using the edit buffer.
>> But Rolling back project modifications exists only partially, in
>> composer's edit command list or in dynamic styling panel.
>>
>>
>> Our concern is about how to handle and display the undo/redo actions for
>> labeling when they are stored inside the project file.
>>
>>
>> We thought about 4  ways before concluding that:
>> - merge the labeling command in the source layer's edit buffer stack ->
>> that won't work if the layer is readonly. If a user chose not to use the
>> auxiliary data, then it will work like normal editing.
>> - add separate buttons to save auxiliary data by hand (which is the same
>> action as saving a project in fact). Tollbars are too cluttered and users
>> are already confusing data and project save buttons.
>> - Create a global "project" or maybe "mapcanvas" level stack, but I
>> suspect users would like to be able to rollback style, composer and labeling
>> independently, when undoing some labeling action could also remove some
>> layers or important styling things.
>> - Finally, we decided to add a separate edit buffer for the auxiliary data
>> inside the dynamic styling panel, just below the style/label edit buffer.
>>
>> So  has anyone any strong opinion here?
>>
>> Is there any plan somewhere for a Project Undo/Redo, allowing for instance
>> to Cancel a layer deletion ?
>>
>> If yes, please share your thoughts so that we store each undo/redo stack
>> at the right place, and hopefully with something users will understand
>> easily.
>>
>> All the best,
>> Régis
>>
>>  [1] https://github.com/qgis/QGIS-Enhancement-Proposals/issues/27
>> _______________________________________________
>> QGIS-Developer mailing list
>> QGIS-Developer at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
> --
> Alexandre Neto
> ---------------------
> @AlexNetoGeo
> http://sigsemgrilhetas.wordpress.com
> http://gisunchained.wordpress.com
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the QGIS-Developer mailing list