OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Interoperability of settings

In order to improve interoperability with the OpenDocument format, we need to
standardize the settings a bit more.

Right now the contents of settings.xml is not part of the standard, it's up
to each implementation to save whichever settings they want. The only thing
we did compared to the OO-1.1 format was to prefix the config-set names with
an application-specific prefix (e.g. "ooo:"), but this killed interoperability 
more than anything else...
We will always have app-specific settings of course, but we should also
try to standardize those that make sense across implementations.

For instance, since the support for notes (<office:annotation>) in spreadsheets
usually involves a small indicator being displayed in cells where a note is present.
In at least OOCalc and KSpread, there's a setting for hiding or showing those annotation
This is currently saved by OOCalc this way:
  <config:config-item-set config:name="ooo:configuration-settings">
      <config:config-item config:name="ShowNotes" config:type="boolean">true</config:config-item>

Note the "ooo:" prefix in the set name. I don't think it makes much sense for
KOffice to reverse-engineer those and use the openoffice namespace for

My proposal is to define a list of settings to share, and move them to a standard
namespace. It's also a good time for making their naming more consistent.
For instance ShowNotes isn't about showing the actual notes, but about
showing the *indicator*, and anyway this is about <office:annotation>s, so I would
call it ShowAnnotationIndicators.

So my proposal is to introduce the following item sets to the specification (including the RelaxNG schema):

1) configurationsettings item set 

<config:config-item-set config:name="configuration-settings">
  (do we need config:configuration-settings to hint at the use of namespaces in the name?)
  (I guess we don't strictly need it though)

In configuration-settings I would propose the config items named:

* ShowAnnotationIndicators, type boolean - whether to show an indicator where an annotation is available
* ShowGrid, type boolean - whether to show the grid (in a spreadsheet application)
* ShowZeroValues, type boolean - whether to show 0 values in spreadsheets, or leave cells empty if 0

(kspread also has "formula indicator", a little blue triangle in cells with a formula, so we
could use ShowFormulaIndicators, but if oocalc doesn't have that feature I guess
we should use our own namespace for an item set and put it there).

In OO writer I see a "Display Notes" option, but this one isn't saved to the file, it seems?
Similarly I also see a "Display Field Codes" option, which we have too, how about saving
both to the file and standardizing those two?

2) view-settings item set

This item set holds settings that don't have any effect on the document itself (neither
on screen or on print), but on other parts of the interface.

In view-settings I would propose the config items named:

* Unit, type string - the unit used to display values, e.g. mm, in, pt, pi, cm etc.
   (does oo calc have such a setting at the file level? I found the combo in e.g. Calc/General
    but this doesn't seem to be saved into the file)

I'd like to standardize ActiveTable too (for spreadsheets), but I wonder if it really
needs to be deep down under View stuff like it is now in oocalc. How can a document
open more than one view initially? Can ActiveTable be moved to the normal view-settings?
Same question for SelectedPage in presentation applications.
Although we could get rid of both and use <?opendocument cursor-position?> instead, probably?

I found the email from Michael Brauer on 24-Nov-2003 where he listed all settings
from OO.org. Among those I note that we could standardize the zoom level too,
but this needs to be clarified since his list says something like ZoomType=3 ZoomFactor=103,
where the zoom type should probably be replaced with an enum (list of possible strings).

SnapLinesDrawing is another one we could standardize, but maybe this one needs to
be made more XML first. We currently share it with ooimpress using the
"H2260V14397H7693H12415H15345H1424" syntax...

PS: the CamelCase capitalization looks a bit out of place in a standard where everything is
lower-case-with-hyphens. Should we switch to show-annotation-indicators etc. in the standard
config items?

This is just a first step towards standardization of settings. Once we agree
on the goal and on the naming of the item sets, we can either start with the
ones above and add more incrementally, or someone could make a more exhaustive
list and we can agree to many more settings even if we don't support them right now.

David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]