Comment on printerparts in DIS 29500 Michiel Leenaars DEVMODE and possibly other elements like it are atavisms from earlier binary formats and pose a significant portability and interoperability threat to DIS 29500. DIS 29500 is meant to be designed as a portable file format that can be used in all current and future operating systems (from PC to cellphone to electronic books) and that is able to fully accomodate the user regardless of the producer or viewer he or she is using. Critical information set by the user or the application that is relevant for any type of reliable application behaviour (especially information elements that serve to reproduce undocumented historical behaviour reliably) should be directly incorporated into DIS 29500 as normative elements in order to serve the design goals of DIS 29500. Information about the initialization and environment of a printer or a display device falls under such critical information. The current situation provides for non-standardised solution specific binary elements that are likely to be proprietary, tied to individual operating system environments and may be encumbered by other IPR regimes including patents and copyright. Behaviour cannot be relied by the user if contents and layout of critical information are encoded by the producer without any constraints or cross-platform considerations anyhow. The limitation to only allow one single printer setting in SpreadsheetML will frustrate collaboration across platforms anyhow. Inclusion of non-standardised binary content elements such as DEVMODE in an XML file format increases security risks as it may be used to smuggle additional malicious payload into a processing environment, either loaded directly by a known exploit of the application or through some form of bootstrapping from less harmful code. Other binary elements, such as images conforming to standards, can be easily validated and/or disarmed. Solution: Identify all information about printing options that is to be contained in DIS 29500 documents and (taking into account possible solutions already provided by ISO/IEC 26300-2006) create the necessary elements. Remove the binary components completely. The application can easily generate a binary blob (for Microsoft Office for Windows: DEVMODE) from information that is contained in XML elements and attributes. Delete all binary content elements and replace with textual alternative or other reliable mechanism, similar to XML schema for network device configuration registered by Microsoft at EPA under EP1555789 - 2005-07-20. Allow multiple printer settings to be included for cross-platform interoperability and roundtrip purposes. ------------------------------ Comment on proprietary DEVMODE hooks in DIS 29500 It is stated by several sources that since the printer part is optional, there are no normative references to application specific behaviour. Yet on page 2771 ('numbered' at bottom of page: p. 1988) under "3.3.1.61 pageSetup (Page Setup settings)" and on page 2775 ('1992') "3.3.1.62 pageSetup (Chart Sheet Page Setup)" it states clearly (and identically): ----------- id (Id) Namespace: .../officeDocument/2006/relationships ------------ Relationship Id of the devMode printer settings part. *************** The possible values for this attribute are defined by the ST_RelationshipId simple type (§7.8.2.1). This is application/platform dependent and needs to be corrected.