Development/Calc/Defining print Ranges (I47600)

Points to address about

Detailed specification on Regina's page

=new behaviour of the application (Consensus OK)=

= Backward compatibility issues (to be further discussed)=  (How documents created with the previous versions of the application will be handled by future versions) .
 * When you create a new file : table:print should be set to true (or not set) on every sheet.
 * When adding a print range on a sheet, other sheets should not be altered.

According to the ODF spec, sheets with the table:print attribute set to false should not be printed. Unfortunately, OOo currently sets this attribute to false for every sheet of a new file. It has been decided to fix this in order to have a behaviour of the app which is more predictable and compliant to the specs. The problem is that if the application behaves correctly, the files created with a previous version of the app without any print range, won't print at all. This is not acceptable as this impacts the majority of the files. The possible solutions are to convert the files or to warn the user

1st Option: Converting the files
The idea is to when change all the table:print attributes of a spreadsheet to "true" when they are all set to false. Theorically, that would remove the possibility to have a spreadsheet with all sheets excluded from printing, but such spreadsheets are impossible to create with the current behaviour. (so there is no need to test the version of the last editor of the document) This conversion could be done at the opening of the file, without setting the "modified" state, so that the user doesn't get the feeling that his file has been modified without him doing anything (cf. nn's email 20091019 9h56).

Such a conversion would slow the opening of the spreadsheet, but probably not by a significant amount (to be confirmed).

2nd Option: Warning the user
Instead of changing the file, it is possible to warn the user why his spreadsheet won't print.

The problem with this solution is that it will impact nearly every user, which can be quite disturbing. Just like the previous one, it would also

= Forward compatibility issues =

 (How documents created with the future version of the application will be handled by previous versions) . It's a key point as in large organisation, it's not always possible to upgrade to the latest version.

Overview for relationes between old and new version
Regina 12:20, 22 October 2009 (UTC)

Starting with a new document in default setting
1 Such severe change with default setting must not be. Therefore old sheets, which have no print range and no 'entire sheet' setting, have to be converted on import. The question is, whether this should be done quietly.

2 This behavior is unexpected for the user. Here the new version has an important improvement.

3 Should the export filter change back the converting?

4 Users who have solved problem 2 will be able to set the necessary "entire sheet" print setting.

Starting with a new document in default setting and added a print range in the start application
5 It is no worsening.

6 This can be handled, when converting is not only applied on import but also in this situation.

7 I see no solution to get the old behavior automatically, because the action is done in the old version. But at least users who use the dialog to remove print ranges should know the setting "entire sheet" which is needed here.

=Interface ([Consensus to leave it as it is for the moment?)=

Currently
Format > Print Range > Define Add Remove ---                          Edit

Proposal discussed
Format > Print Ranges >        Add print range Define print range (tbd : remove it to unclutter the menu / keep it, as it's often used cf. Feedback data) Edit print ranges... [x]Default print range (tbd : Undo Print Range or Remove or Delete or Print entire sheet) [x]Exclude sheet from printing (tb confirmed : looks like there is a kind of concensus )

If it is agreed to exclude the repeat column/row options from the Edit print ranges dialogue (see below), the menu will have to be updated accordingly.

Edit print ranges dialogue

 * 1) Remove the "none" option
 * 2) Put the repeat row/columns options in a different dialogue : cf. Regina's proposal

Currently
Context Menu > Define Print Range Add Print Range (Undo Print Range)

= Steps to implement the behaviour (to be further discussed)=