Difference between revisions of "User:Camillem/I47600 Summary"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Backward compatibility issues)
(1st Option: Converting the files)
 
(15 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
* When you create a new file : table:print should be set to true (or not set) on every sheet.
 
* 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.
 
* When adding a print range on a sheet, other sheets should not be altered.
 +
= Backward compatibility issues (to be further discussed)=
 +
''' (How documents created with the previous versions of the application will be handled by future versions) '''.
  
=Interface (to be further discussed)=
 
  
==Sub menu in Format > Print Ranges menu==
+
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
  
===Currently===
+
== 1st Option: Converting the files ==
  
    Format > Print Range > Define
+
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)
                          Add
+
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).
                          Remove
+
                          -------
+
                          Edit
+
  
===Proposal discussed===
+
Such a conversion would slow the opening of the spreadsheet, but probably not by a significant amount (to be confirmed).
  
    Format > Print Ranges >        Add print range
+
== 2nd Option: Warning the user ==
                                    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.
+
Instead of changing the file, it is possible to warn the user why his spreadsheet won't print.
  
==Edit print ranges dialogue==
+
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
             
+
  
# Remove the "none" option
+
= Forward compatibility issues =
# Put the repeat row/columns options in a different dialogue : cf. [http://wiki.services.openoffice.org/wiki/User:Regina/MYDrafts2#Dialog_Repeat_Rows.2FColumns Regina's proposal]
+
  
 +
''' (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.
  
 +
{| class="wikitable"
 +
|-
 +
!Action before printing
 +
!3 sheets, no print range defined
 +
!3 sheets, 1 print range defined
 +
|-
 +
|Nothing
 +
|bgcolor="green"|Full content of the 3 sheets is printed
 +
|bgcolor="green"|Full content of the 2 sheets, and content of the print range is printed
 +
|-
 +
|Insert a new sheet and add content
 +
|bgcolor="red"|Full content of the 3 sheets is printed, but not the one of the new sheet
 +
|bgcolor="green"|Full content of the 2 sheets, and content of the print range is printed,but not the one on the new sheet. Bad but that's the current behaviour
 +
|-
 +
|Delete a sheet
 +
|bgcolor="green"|Full content of the 2 remaining sheets is printed
 +
|bgcolor="green"|The content of the 2 remaining sheets is printed (full or limited to print range)
 +
|-
 +
|Add a print range
 +
|bgcolor="yellow"|Full content of the 2 sheets, and content of the print range is printed. Good, but it's different from the current behaviour
 +
|bgcolor="green"|Full content of the sheet, and content of the two print ranges is printed
 +
|-
 +
|Remove a print range
 +
|bgcolor="green"|Full content of the 2 other sheets is printed. Not disturbing, even if it's different from the current behaviour
 +
|bgcolor="orange"|If you remove the print range explicitely defined, nothing from this sheet gets printed
 +
|-
 +
|Add /remove content to one sheet
 +
|bgcolor="green"|Full content of the 3 sheets is printed, print ranges adapt to the new content
 +
|bgcolor="green"|Full content of the 2 sheets  and content of the print range is printed ; print ranges adapt to the new content
 +
|}
  
==Contextual menu in Page Break preview mode==
 
  
===Currently===
 
    Context Menu >  Define Print Range
 
                    Add Print Range
 
                    (Undo Print Range)
 
  
= Legacy files handling (to be further discussed)=
 
  
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 the majority of the files.
 
 
* Solution A : when all the sheets of a spreadsheet have their attribute table:print set to false, automagically set them to true. Pros: it will fix the problem seamlessly for most cases. Cons: it becomes impossible to have  a spreadsheet with all sheets excluded from printing (but who would do that?)
 
** Solution A1: test the version of the last editor of the document. Pros: it allows the new application to have files with all sheets set to "don't print" Cons : more code complexity, slows the opening process.
 
** Solution A2: don't test it.Pros : no impact on perfomance and complexity of code. Cons : impossible to have  a spreadsheet with all sheets excluded from printing (but who would do that?)
 
*Solution B : Inform the user why it spreadsheet won't print. Pros: nothing is done automatically to the file. Every user will get the warning, which can be very disturbing and
 
 
Christoph's answer:
 
* Don't touch existing documents when opened (One reason is that people would open a document and instantly get a "changed" notification without doing anything. From experience it is known that people can get really angry ;-))
 
* The code changes for the print dialog can be re-used for numerous other print problems. They are not specific to any ODFversion.
 
  
 
== Overview for relationes between old and new version ==
 
== Overview for relationes between old and new version ==
Line 146: Line 153:
 
'''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.
 
'''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.
  
=== Forward compatibility issues ===
+
=Interface ([Consensus to leave it as it is for the moment?)=
  
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.
+
==Sub menu in Format > Print Ranges menu==
  
{| class="wikitable"
+
===Currently===
|-
+
 
!Action before printing
+
    Format > Print Range > Define
!3 sheets, no print range defined
+
                          Add
!3 sheets, 1 print range defined
+
                          Remove
|-
+
                          -------
|Nothing
+
                          Edit
|bgcolor="green"|Full content of the 3 sheets is printed
+
 
|bgcolor="green"|Full content of the 2 sheets, and content of the print range is printed
+
===Proposal discussed===
|-
+
 
|Insert a new sheet and add content
+
    Format > Print Ranges >        Add print range
|bgcolor="red"|Full content of the 3 sheets is printed, but not the one of the new sheet
+
                                    Define print range ('''tbd''' : remove it to unclutter the menu / keep it, as it's often used cf. Feedback data)
|bgcolor="green"|Full content of the 2 sheets, and content of the print range is printed,but not the one on the new sheet. Bad but that's the current behaviour
+
                                    Edit print ranges...
|-
+
                                    [x]Default print range ('''tbd''' : Undo Print Range or Remove or Delete or Print entire sheet)
|Delete a sheet
+
                                    ------------
|bgcolor="green"|Full content of the 2 remaining sheets is printed
+
                                    [x]Exclude sheet from printing ('''tb confirmed''' : looks like there is a kind of concensus )
|bgcolor="green"|The content of the 2 remaining sheets is printed (full or limited to print range)
+
 
|-
+
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.
|Add a print range
+
 
|bgcolor="yellow"|Full content of the 2 sheets, and content of the print range is printed. Good, but it's different from the current behaviour
+
==Edit print ranges dialogue==
|bgcolor="green"|Full content of the sheet, and content of the two print ranges is printed
+
             
|-
+
 
|Remove a print range
+
# Remove the "none" option
|bgcolor="green"|Full content of the 2 other sheets is printed. Not disturbing, even if it's different from the current behaviour
+
# Put the repeat row/columns options in a different dialogue : cf. [http://wiki.services.openoffice.org/wiki/User:Regina/MYDrafts2#Dialog_Repeat_Rows.2FColumns Regina's proposal]
|bgcolor="orange"|If you remove the print range explicitely defined, nothing from this sheet gets printed
+
 
|-
+
 
|Add /remove content to one sheet
+
 
|bgcolor="green"|Full content of the 3 sheets is printed, print ranges adapt to the new content
+
==Contextual menu in Page Break preview mode==
|bgcolor="green"|Full content of the 2 sheets and content of the print range is printed ; print ranges adapt to the new content
+
 
|}
+
===Currently===
 +
    Context Menu > Define Print Range
 +
                    Add Print Range
 +
                    (Undo Print Range)
  
 
= Steps to implement the behaviour (to be further discussed)=
 
= Steps to implement the behaviour (to be further discussed)=

Latest revision as of 15:20, 27 April 2010

Points to address about Issue 47600

Detailed specification on Regina's page

new behaviour of the application (Consensus OK)

  • 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.

Backward compatibility issues (to be further discussed)

(How documents created with the previous versions of the application will be handled by future versions) .


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.

Action before printing 3 sheets, no print range defined 3 sheets, 1 print range defined
Nothing Full content of the 3 sheets is printed Full content of the 2 sheets, and content of the print range is printed
Insert a new sheet and add content Full content of the 3 sheets is printed, but not the one of the new sheet Full content of the 2 sheets, and content of the print range is printed,but not the one on the new sheet. Bad but that's the current behaviour
Delete a sheet Full content of the 2 remaining sheets is printed The content of the 2 remaining sheets is printed (full or limited to print range)
Add a print range Full content of the 2 sheets, and content of the print range is printed. Good, but it's different from the current behaviour Full content of the sheet, and content of the two print ranges is printed
Remove a print range Full content of the 2 other sheets is printed. Not disturbing, even if it's different from the current behaviour If you remove the print range explicitely defined, nothing from this sheet gets printed
Add /remove content to one sheet Full content of the 3 sheets is printed, print ranges adapt to the new content Full content of the 2 sheets and content of the print range is printed ; print ranges adapt to the new content



Overview for relationes between old and new version

Regina 12:20, 22 October 2009 (UTC)

Starting with a new document in default setting

Action Old version on old documents New version on old document without converting New version on new documents and old, converted documents Old version on new documents
Printing without any changes All sheets are printed. No sheet is printed. 1 All sheets are printed. All sheets are printed
Setting a print range Only the print range is printed, no other sheet is printed 2 Only the print range is printed, no other sheets are printed The print range is printed and all other sheets are printed The print range is printed and all other sheets are printed
Inserting a new sheet All sheets are printed Only the new sheet is printed All sheets are printed The new sheet is not printed, all other sheets are printed 3
Inserting a print range and a new sheet Only the print range is printed, no other sheet is printed 2 The print range is printed, the new sheet is printed, other sheets are not printed The print range is printed and all other sheets are printed The print range is printed, all old sheets are printed, the new sheet is not printed 4

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

Action Old version on old documents New version on old document without converting New version on new documents (old documents are not converted) Old version on new documents
Printing without any changes Only the print range is printed Only the print range is printed The print range is printed and all other sheets are printed. The print range is printed and all other sheets are printed.
Adding a print range Only the print ranges are printed. Only the print ranges are printed. The print ranges are printed and all other sheets are printed. The print ranges are printed and all other sheets are printed.
Inserting a new sheet Only the print range is printed, the new sheet is not printed.5 The print range and the new sheet are printed, other sheets are not printed. The print range and all other sheets are printed. The new sheet is not printed, the print range and all other sheets are printed.5
Removing the print range All sheets are printed The sheet with the removed print range is printed, all other sheets are not printed. 6 All sheets are printed The sheet with the removed print range is not printed, all others are printed.7

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?)

Sub menu in Format > Print Ranges menu

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


Contextual menu in Page Break preview mode

Currently

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

Steps to implement the behaviour (to be further discussed)

Personal tools